|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [qemu-upstream-unstable bisection] complete test-amd64-i386-qemuu-rhel6hvm-intel
branch xen-unstable
xen branch xen-unstable
job test-amd64-i386-qemuu-rhel6hvm-intel
test redhat-install
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu
git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Bug introduced: b97307ecaad98360f41ea36cd9674ef810c4f8cf
Bug not present: 4597594c61add43725bd207bb498268a058f9cfb
commit b97307ecaad98360f41ea36cd9674ef810c4f8cf
Author: Matthew Daley <mattjd@xxxxxxxxx>
Date: Thu Oct 10 14:10:48 2013 +0000
xen_disk: mark ioreq as mapped before unmapping in error case
Commit 4472beae modified the semantics of ioreq_{un,}map so that they are
idempotent if called when they're not needed (ie., twice in a row).
However,
it neglected to handle the case where batch mapping is not being used (the
default), and one of the grants fails to map. In this case, ioreq_unmap
will
be called to unwind and unmap any mappings already performed, but
ioreq_unmap
simply returns due to the aforementioned change (the ioreq has not already
been marked as mapped).
The frontend user can therefore force xen_disk to leak grant mappings, a
per-domain limited resource.
Fix by marking the ioreq as mapped before calling ioreq_unmap in this
situation.
Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d84e4524e30413b2a1d724754e76a7d2480466f3
Merge: e381cca... 62ecc3a...
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Oct 10 11:02:48 2013 +0000
Merge remote branch 'origin/stable-1.6' into xen-staging-master-9
Conflicts:
xen-all.c
commit 62ecc3a0e3c77a4944c92a02dd7fae2ab1f2290d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Oct 4 10:21:43 2013 -0500
Update VERSION for 1.6.1 release
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fdcbe7d587a64dec0db0d3c9a3b230c39efbfeef
Author: Asias He <asias@xxxxxxxxxx>
Date: Fri Sep 13 14:56:55 2013 +0800
scsi: Allocate SCSITargetReq r->buf dynamically
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1007330
Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6282465
This is the backport of the following commit. The patch is not
sent public since it is a embargoed bug.
r->buf is hardcoded to 2056 which is (256 + 1) * 8, allowing 256 luns
at
most. If more than 256 luns are specified by user, we have buffer
overflow in scsi_target_emulate_report_luns.
To fix, we allocate the buffer dynamically.
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
*s/&r->buf/r->buf/ due to type change
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e381ccab5afe6b5e808aa550d8bd22b1d0757fde
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Sep 25 16:43:12 2013 +0000
xen: Enable cpu-hotplug on xenfv machine.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
(cherry picked from commit 594278d9f251222675f1c24f5fbb1b05560b8711)
commit c1f3f10d8d3e6498b8c55b1e0908e4a1b7adae12
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Sep 25 16:41:48 2013 +0000
xen: Fix vcpu initialization.
Each vcpu need a evtchn binded in qemu, even those that are
offline at QEMU initialisation.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
(cherry picked from commit 1cd25a889687ab199944b98c1bdc59216ea81487)
commit b40187fc0ce1c0ffad51cd0f149a4e5bed332653
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:53 2013 +0000
pc_q35: Initialize Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511)
commit 7c2ab9e2ef5a00395fa770ed61084f47001bb35f
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:52 2013 +0000
pc: Initializing ram_memory under Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
(cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d)
commit 2c7d76d1a7e15b4c0de1a5c2852d6615aa336c52
Merge: dfe0055... 1ee2dae...
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:17:01 2013 +0100
Merge tag 'v1.6.0' into merging-1.6
commit dfe0055e38e3e328f19d4d67f0f4ae049436d3c8
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:31 2013 +0100
Revert "Fix semaphores fallback code"
This reverts commit 0a7ad69a0f012d5d70142f775f99405500d4d38e.
commit aad0677c3aae5ab84852210ff48361924bd7aa2d
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:30 2013 +0100
Revert "cpu: Introduce get_arch_id() method and override it for X86CPU"
This reverts commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820.
commit 88f78193a97df8512c6392777cfcd979f095d483
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:29 2013 +0100
Revert "cpu: Add qemu_for_each_cpu()"
This reverts commit 0170b3ce88cb87346afa369a89ce9b197389058b.
commit 4e310e13c93c48a0f5fc8558d56830d58713202a
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:29 2013 +0100
Revert "xen: Fix vcpus initialisation."
This reverts commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b.
commit dc8500fb733093a46bbec0ac33ddea63d509c7a9
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:27 2013 +0100
Revert "qga: set umask 0077 when daemonizing (CVE-2013-2007)"
This reverts commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3.
commit 1b5f7709411a412ec8ce21004a47f51ab6c3f3ad
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Wed Sep 25 16:40:23 2013 +0000
qemu: Add qemu xen logic for Xen HVM S3 resume
This patch is qemu patch 2 to fix Xen HVM S3 bug, adding qemu
xen logic. When qemu wakeup, qemu xen logic is notified and
hypercall to xen hypervisor to unpause domain.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
(cherry picked from commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit bc05a488b49f903e404323b76ca9b675318393fc
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Wed Sep 25 16:38:29 2013 +0000
qemu: Adjust qemu wakeup
Currently Xen hvm s3 has a bug coming from the difference between
qemu-traditioanl and qemu-xen. For qemu-traditional, the way to
resume from hvm s3 is via 'xl trigger' command. However, for
qemu-xen, the way to resume from hvm s3 inherited from standard
qemu, i.e. via QMP, and it doesn't work under Xen.
The root cause is, for qemu-xen, 'xl trigger' command didn't reset
devices, while QMP didn't unpause hvm domain though they did qemu
system reset.
We have two qemu patches and one xl patch to fix Xen hvm s3 bug.
This patch is the qemu patch 1. It adjusts qemu wakeup so that
Xen s3 resume logic (which will be implemented at qemu patch 2)
will be notified after qemu system reset.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
(cherry picked from commit 4bc78a877252d772b983810a7d2c0be00e9be70e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Oct 1 15:13:33 2013 +0000
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:
-rw-rw-rw- 1 root root /var/log/qemu-ga.log
-rw-rw-rw- 1 root root /var/run/qga.state
-rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.
For now mask all file mode bits for "group" and "others" in
become_daemon().
Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.
upstream-commit-id: c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 6dc71da698bfdc5297f8719e78eba26b1f15ff2c
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Oct 1 14:50:32 2013 +0000
Add -f FMT / --format FMT arg to qemu-nbd
Currently the qemu-nbd program will auto-detect the format of
any disk it is given. This behaviour is known to be insecure.
For example, if qemu-nbd initially exposes a 'raw' file to an
unprivileged app, and that app runs
'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0'
then the next time the app is started, the qemu-nbd will now
detect it as a 'qcow2' file and expose /etc/shadow to the
unprivileged app.
The only way to avoid this is to explicitly tell qemu-nbd what
disk format to use on the command line, completely disabling
auto-detection. This patch adds a '-f' / '--format' arg for
this purpose, mirroring what is already available via qemu-img
and qemu commands.
qemu-nbd --format raw -p 9000 evil.img
will now always use raw, regardless of what format 'evil.img'
looks like it contains
upstream-commit-id: e6b636779b51c97e67694be740ee972c52460c59
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
[Use errx, not err. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit ba20326a937421c50a775907dc9ac726bb9a9b50
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 11 16:42:35 2013 +0200
coroutine: add ./configure --disable-coroutine-pool
The 'gthread' coroutine backend was written before the freelist (aka
pool) existed in qemu-coroutine.c.
This means that every thread is expected to exit when its coroutine
terminates. It is not possible to reuse threads from a pool.
This patch automatically disables the pool when 'gthread' is used. This
allows the 'gthread' backend to work again (for example,
tests/test-coroutine completes successfully instead of hanging).
I considered implementing thread reuse but I don't want quirks like CPU
affinity differences due to coroutine threads being recycled. The
'gthread' backend is a reference backend and it's therefore okay to skip
the pool optimization.
Note this patch also makes it easy to toggle the pool for benchmarking
purposes:
./configure --with-coroutine-backend=ucontext \
--disable-coroutine-pool
Reported-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 70c60c089fdc6bf8a79324e492c13e8c08d55942)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ae00a27feab0ca12d2a802cfae9ee65ba3d43602
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Sep 11 13:33:31 2013 +0300
piix4: disable io on reset
io base register at 0x40 is cleared on reset,
but io is not disabled until some other event
happens to call pm_io_space_update.
Invoke pm_io_space_update directly to make this
consistent.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 61fbeb6e81f648d25c2d3ba5f0d663d54abed1c1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Sep 23 17:18:29 2013 +0800
vmdk: fix cluster size check for flat extents
We use the extent size as cluster size for flat extents (where no L1/L2
table is allocated so it's safe) reuse sector calculating code with
sparse extents.
Don't pass in the cluster size for adding flat extent, just set it to
sectors later, then the cluster size checking will not fail.
The cluster_sectors is changed to int64_t to allow big flat extent.
Without this, flat extent opening is broken:
# qemu-img create -f vmdk -o subformat=monolithicFlat /tmp/a.vmdk 100G
Formatting '/tmp/a.vmdk', fmt=vmdk size=107374182400 compat6=off
subformat='monolithicFlat' zeroed_grain=off
# qemu-img info /tmp/a.vmdk
image: /tmp/a.vmdk
file format: raw
virtual size: 0 (0 bytes)
disk size: 4.0K
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 301c7d38a0c359b91526391d13617386f3d9bb29)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fc06b430942e84a2a69e2a80a6d5b376a8064020
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 25 16:00:48 2013 +0200
rbd: avoid qemu_rbd_snap_list() memory leaks
When there are no snapshots qemu_rbd_snap_list() returns 0 and the
snapshot table pointer is NULL. Don't forget to free the snaps buffer
we allocated for librbd rbd_snap_list().
When the function succeeds don't forget to free the snaps buffer after
calling rbd_snap_list_end().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 9e6337d0818650362149b734d53edf9489f3acaa)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6bbb9d8100c90deb4843bfa3cf36e75b843c495b
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Sat Aug 3 22:20:41 2013 -0400
tap: Use numbered tap/tun devices on all *BSD OS's
The following patch simplifies the *BSD tap/tun code and makes use of
numbered
tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc
tree
to make use of this feature and DragonFly also supports this as well.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit aa4f082f7526d39dac8e2ca64d192d858014ee10)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b314120afdbab3d29885f47fc83bc55f43765968
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Sep 14 13:11:36 2013 +0400
iov: avoid "orig_len may be used unitialized" warning
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 2be178a475289286db80de5ddd7830e67e112bdd)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit dc6fbaa8322ca53f46d9a6cc7e2f82de5362ea83
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:38:44 2013 +0200
xhci: emulate intr endpoint intervals correctly
Respect the interval for interrupt endpoints, so we don't finish
transfers as fast as possible but at the rate configured by the guest.
Fixes guest deadlocks triggered by interrupt storms.
Cc:
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c8adc0db7e76e804692372a06ca02cc5a80b67d5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 17:31:55 2013 +0200
virtio-blk: do not relay a previous driver's WCE configuration to the
current
The following sequence happens:
- the SeaBIOS virtio-blk driver does not support the WCE feature, which
causes QEMU to disable writeback caching
- the Linux virtio-blk driver resets the device, finds WCE is available
but writeback caching is disabled; tells block layer to not send cache
flush commands
- the Linux virtio-blk driver sets the DRIVER_OK bit, which causes
writeback caching to be re-enabled, but the Linux virtio-blk driver does
not know of this side effect and cache flushes remain disabled
The bug is at the third step. If the guest does know about CONFIG_WCE,
QEMU should ignore the WCE feature's state. The guest will control the
cache mode solely using configuration space. This change makes Linux
do flushes correctly, but Linux will keep SeaBIOS's writethrough mode.
Hence, whenever the guest is reset, the cache mode of the disk should
be reset to whatever was specified in the "-drive" option. With this
change, the Linux virtio-blk driver finds that writeback caching is
enabled, and tells the block layer to send cache flush commands
appropriately.
Reported-by: Rusty Russell <rusty@xxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit ef5bc96268ceec64769617dc53b0ac3a20ff351c)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit aeab582580fa057dbe646fc3277570af6a8d5ce8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 19 18:48:53 2013 +0200
blockdev: do not default cache.no-flush to true
That's why all my VMs were so fast lately. :)
This changed in 1.6.0 by mistake in patch 29c4e2b (blockdev: Split up
'cache' option, 2013-07-18).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5c20c1ffe791ca29840fd9607ea034ea24ad7bdd
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:17:50 2013 +0200
tci: Fix qemu-alpha on 32 bit hosts (wrong assertions)
Debian busybox-static for alpha has a load address of 0x0000000120000000
which is mapped to 0x0000000020000000 for 32 bit hosts.
qemu-alpha uses the TCG opcodes qemu_ld32, qemu_ld64, qemu_st32 and
qemu_st64 which all raise the assertion (taddr == host_addr).
Remove all assertions of this type because they are either wrong or
unnecessary (when sizeof(tcg_target_ulong) >= sizeof(target_ulong)).
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5d2de77798cacf1dadf6a4211972473e057cc6e5
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:52 2013 +0200
kvmvapic: Clear also physical ROM address when entering INACTIVE state
To avoid misinterpreting INACTIVE after migration as old qemu-kvm's
STANDBY, also clear rom_state_paddr when going back to this state.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 4357930b8a7d2fcff2d8121ec518117428a781e7)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7ea8a3c12aa49efc8f503a019dd764f8a0add2cb
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:51 2013 +0200
kvmvapic: Enter inactive state on hardware reset
ROM layout may change after reset of devices are hotplugged, so we have
to pick up the physical address again when the ROM is initialized. This
is best achieved by resetting the state to INACTIVE.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 50b31e80525d03ef406a8c9f55ff2ae1655a3b66
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:50 2013 +0200
kvmvapic: Catch invalid ROM size
If not caught early, a zero-length ROM will cause a NULL-pointer access
later on in patch_hypercalls when allocating a zero-length ROM copy and
trying to read from it.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 18e5eec4db96a00907eb588a2b803401637c7f67)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4b5b4721464495fe76fe6e2e033cbb61dce78eef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Aug 22 11:43:58 2013 +0200
chardev: fix pty_chr_timer
pty_chr_timer first calls pty_chr_update_read_handler(), then clears
timer_tag (because it is a one-shot timer). This is the wrong order
though. pty_chr_update_read_handler might re-arm time timer, and the
new timer_tag gets overwitten in that case.
This leads to crashes when unplugging a pty chardev: pty_chr_close
thinks no timer is running -> timer isn't canceled -> pty_chr_timer gets
called with stale CharDevState -> BOOM.
This patch fixes the ordering.
Kill the pointless goto while being at it.
https://bugzilla.redhat.com/show_bug.cgi?id=994414
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit b0d768c35e08d2057b63e8e77e7a513c447199fa)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 76f698948781a148d336ff9032159f6c7c9eccd2
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Aug 28 14:17:39 2013 +0200
pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN
Now that the memory subsystem is propagating the endianness correctly,
the pcnet-pci device should have its I/O ports and MMIO memory marked
as LITTLE_ENDIAN, as PCI devices are little endian.
This makes the pcnet-pci NIC to work again on big endian MIPS Malta
(default NIC).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8b4b3a71fd35d67c5c30652a120c0a59dfab7182
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Sat Aug 31 18:36:17 2013 -0400
qapi-types.py: Fix enum struct sizes on i686
Unlike other list types, enum wasn't adding any padding, which caused
a mismatch between the generated struct size and GenericList struct
size. More details in a678e26cbe89f7a27cbce794c2c2784571ee9d21
This crashed qemu if calling qmp query-tpm-types for example, which
upsets libvirt capabilities probing. Reproducer on i686:
(sleep 5; printf
'{"execute":"qmp_capabilities"}\n{"execute":"query-tpm-types"}\n') |
./i386-softmmu/qemu-system-i386 -S -nodefaults -nographic -M none -qmp stdio
https://bugs.launchpad.net/qemu/+bug/1219207
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
(cherry picked from commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 41900b0857df9bd33e465a6c72d7a3072dc448f4
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:53 2013 +0000
pc_q35: Initialize Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 755ec4ca0f92188458ad7ca549a75161cbdcf6ff
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:52 2013 +0000
pc: Initializing ram_memory under Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
(cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit dc0973b5883df7d822b285119691ade8c84dda9c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Sep 5 21:57:19 2013 +0200
qxl: fix local renderer
The local spice renderer assumes the primary surface is located at the
start of the "ram" bar. This used to be a requirement in qxl hardware
revision 1. In revision 2+ this is relaxed. Nevertheless guest drivers
continued to use the traditional location, for historical and backward
compatibility reasons. The qxl kms driver doesn't though as it depends
on qxl revision 4+ anyway.
Result is that local rendering is hosed for recent linux guests, you'll
get pixel garbage with non-spice ui (gtk, sdl, vnc) and when doing
screendumps. Fix that by doing a proper mapping of the guest-specified
memory location.
https://bugzilla.redhat.com/show_bug.cgi?id=948717
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit c58c7b959b93b864a27fd6b3646ee1465ab8832b)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b6d163fdd8131285a01fe46e6afdba727e4df9ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 9 10:18:17 2013 +0200
ehci: save device pointer in EHCIState
We'll need a pointer to the actual pci/sysbus device,
stick a pointer to it into the EHCIState struct.
https://bugzilla.redhat.com/show_bug.cgi?id=1005495
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a1991d05d37ac9054d772b32d8fac70bc31be81a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Sep 2 13:10:34 2013 +0200
ne2000: mark I/O as LITTLE_ENDIAN
Now that the memory subsystem is propagating the endianness correctly,
the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
PCI devices are little endian.
This makes the ne2000 NIC to work again on PowerPC.
Cc: qemu-stable@xxxxxxxxxx
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 45d883dcf208160e2db308d1b368beb74f37dc7e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1110014801d368388bca2ed7c28aa695560c4991
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Thu Aug 29 18:21:16 2013 +0800
exec: check offset_within_address_space for register subpage
If offset_within_address_space falls in a page, then we register a
subpage. So check offset_within_address_space rather than
offset_within_region.
Cc: qemu-stable@xxxxxxxxxx
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: "Andreas Färber" <afaerber@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 88266249701032211c1d7449460d063fbc01bf12)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2a93d3dd32386c3522cfa2ee60c9e06a298d1f52
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 2 18:43:31 2013 +0200
Revert "memory: Return -1 again on reads from unsigned regions"
This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71.
The commit was wrong: We only return -1 on invalid accesses, not on
valid but unbacked ones. This broke various corner cases.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 68a7439a150d6b4da99082ab454b9328b151bc25)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7ab1044eb1ac2cbc7e65769edf44ced92b85b038
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 2 18:43:30 2013 +0200
memory: Provide separate handling of unassigned io ports accesses
Accesses to unassigned io ports shall return -1 on read and be ignored
on write. Ensure these properties via dedicated ops, decoupling us from
the memory core's handling of unassigned accesses.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e8601a4e3102321d054ce3d641c03ebcd0519357
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 1 22:59:25 2013 +0200
w32: Fix access to host devices (regression)
QEMU failed to open host devices like \\.\PhysicalDrive0 (first hard disk)
since some time (commit 8a79380b8ef1b02d2abd705dd026a18863b09020?).
Those devices use hdev_open which did not use the latest API for options.
This resulted in a fatal runtime error:
Block protocol 'host_device' doesn't support the option 'filename'
Duplicate code from raw_open to fix this.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: David Brenner <david.brenner3@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 96b14d0db19b2b80ab3dc35d522671da82101e72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 15:25:24 2013 +0200
usb: parallelize usb3 streams
usb3 bulk endpoints with streams are implicitly pipelined now,
so the requests will actually be processed in parallel. Also
allow them to complete out-of-order.
Fixes stalls in the uas driver.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit c96c41ed0d38d68a6c8b6f84751afebafeae31be)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9dbfbb89b204e098f283aca310e4d6f6651d88f4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:47:09 2013 +0200
xhci: reset port when disabling slot
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 57ea2d21ae1863fd4002b2aea8ea8db8e206d464
Author: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Date: Thu Jul 25 12:11:15 2013 +0200
exec: always use MADV_DONTFORK
MADV_DONTFORK prevents fork to fail with -ENOMEM if the default
overcommit heuristics decides there's too much anonymous virtual
memory allocated. If the KVM secondary MMU is synchronized with MMU
notifiers or not, doesn't make a difference in that regard.
Secondly it's always more efficient to avoid copying the guest
physical address space in the fork child (so we avoid to mark all the
guest memory readonly in the parent and so we skip the establishment
and teardown of lots of pagetables in the child).
In the common case we can ignore the error if MADV_DONTFORK is not
available. Leave a second invocation that errors out in the KVM path
if MMU notifiers are missing and KVM is enabled, to abort in such
case.
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
(cherry picked from commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1cd7138d492304a76f3b8ae89fc61e05b18205a7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 11:03:45 2013 +0300
virtio_pci: fix level interrupts with irqfd
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
virtio-pci: fix level interrupts
only helps systems without irqfd: on systems with irqfd support we
passed in flag requesting irqfd even when msix is disabled.
As a result, for level interrupts we didn't install an fd handler so
unmasking an fd had no effect.
Fix this up.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9fab8e1fe15014a4bd147eeedd2491bcfbba4e59
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 29 14:27:39 2013 +0200
exec: fix writing to MMIO area with non-power-of-two length
The problem is introduced by commit 2332616 (exec: Support 64-bit
operations in address_space_rw, 2013-07-08). Before that commit,
memory_access_size would only return 1/2/4.
Since alignment is already handled above, reduce l to the largest
power of two that is smaller than l.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Oleksii Shevchuk <alxchk@xxxxxxxxx>
Tested-by: Oleksii Shevchuk <alxchk@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2ffbe03e8bc8f330581e31537190949a9aba80c3
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed Aug 14 11:49:04 2013 +0200
adlib: sort offsets in portio registration
This fixes the following assert when -device adlib is used:
ioport.c:240: portio_list_add: Assertion `pio->offset >= off_last' failed.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f9fd82ee939d6ee5bff126b125020021e18ce330
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 30 11:58:45 2013 +0200
target-i386: fix disassembly with PAE=1, PG=0
CR4.PAE=1 will not enable paging if CR0.PG=0, but the "if" chain
in x86_cpu_get_phys_page_debug says otherwise. Check CR0.PG
before everything else.
Fixes "-d in_asm" for a code section at the beginning of OVMF.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
(cherry picked from commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit da4e203efa76f2d2ee0a17670c241881963d033d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:25 2013 +0200
block: expect errors from bdrv_co_is_allocated
Some bdrv_is_allocated callers do not expect errors, but the fallback
in qcow2.c might make other callers trip on assertion failures or
infinite loops.
Fix the callers to always look for errors.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit d663640c04f2aab810915c556390211d75457704)
Conflicts:
block/cow.c
*modified to avoid dependency on upstream's e641c1e8
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c09a4634d945df5d7e1fbc394646e78d7d713c67
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 17:00:04 2013 +0200
Revert "usb-hub: report status changes only once"
This reverts commit a309ee6e0a256f690760abfba44fceaa52a7c2f3.
This isn't in line with the usb specification and adds regressions,
win7 fails to drive the usb hub for example.
Was added because it "solved" the issue of hubs interacting badly
with the xhci host controller. Now with the root cause being fixed
in xhci (commit <FIXME>) we can revert this one.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit bdebd6ee81f4d849aa8541c289203e3992450db0)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c0a5eb81b43e56569cfdb9c86fd78930b2765b96
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:39:02 2013 +0200
xhci: fix endpoint interval calculation
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit ca7162782a293f525633e5816470498dd86a51cf)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 358bb0daa1ce332a18cc996fcd078a3989f77d36
Author: yinyin <yin.yin@xxxxxxxxxxx>
Date: Thu Aug 22 14:47:16 2013 +0800
virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the
indirect descriptor table
virtqueue_get_avail_bytes: when found a indirect desc, we need loop over
it.
/* loop over the indirect descriptor table */
indirect = 1;
max = vring_desc_len(desc_pa, i) / sizeof(VRingDesc);
num_bufs = i = 0;
desc_pa = vring_desc_addr(desc_pa, i);
But, It init i to 0, then use i to update desc_pa. so we will always get:
desc_pa = vring_desc_addr(desc_pa, 0);
the last two line should swap.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Yin Yin <yin.yin@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 1ae2757c6c4525c9b42f408c86818f843bad7418)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3fe494efc5eb107c4c90e96df3e6131f9960f4b9
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Aug 13 14:10:04 2013 +1000
pseries: Fix stalls on hypervisor virtual console
A number of users are reporting stalls when using the pseries
hypervisor virtual console.
A simple test case is to paste 15 or 17 characters at a time
into the console. Pasting 15 characters at a time works fine
but pasting 17 characters hangs for a random amount of time.
Other activity (network, qemu monitor etc) unblocks it.
If qemu-char tries to send more than 16 characters at once,
vty_can_receive returns false. At this point we have to
wait for the guest to consume that output. Everything is good
so far.
The problem occurs when the the guest does consume the output.
We need to signal back to the qemu-char layer that we are
ready for more input. Without this we block until something
else kicks us (eg network activity).
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
(cherry picked from commit 7770b6f78a2d655e03852a5de238f5926c92be6a)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a73c74f63aa8f977ece88c97280a03ea9b1ca395
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Aug 27 08:37:26 2013 +0300
pc: fix regression for 64 bit PCI memory
commit 398489018183d613306ab022653552247d93919f
pc: limit 64 bit hole to 2G by default
introduced a way for management to control
the window allocated to the 64 bit PCI hole.
This is useful, but existing management tools do not know how to set
this property. As a result, e.g. specifying a large ivshmem device with
size > 4G is broken by default. For example this configuration no
longer works:
-device ivshmem,size=4294967296,chardev=cfoo
-chardev socket,path=/tmp/sock,id=cfoo,server,nowait
Fix this by detecting that hole size was not specified
and defaulting to the backwards-compatible value of 1 << 62.
Cc: qemu-stable@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 964e0d4ec52ea7400ccc69de69b05ac913bbfff8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 23 18:01:58 2013 +0200
scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial
scsi_bus_legacy_add_drive() creates either a scsi-disk or a
scsi-generic device. It sets property "serial" to argument serial
unless null. Crashes with scsi-generic, because it doesn't have such
the property.
Only usb_msd_initfn_storage() passes non-null serial. Reproducer:
$ qemu-system-x86_64 -nodefaults -display none -S -usb \
-drive if=none,file=/dev/sg1,id=usb-drv0 \
-device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123
qemu-system-x86_64: -device
usb-storage,id=usb-msd0,drive=usb-drv0,serial=123: Property '.serial' not found
Aborted (core dumped)
Fix by handling exactly like "removable": set the property only when
it exists.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 11b0ab70a58e3e6c06dc1fd1ea318b1c5806d955
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Aug 22 20:11:36 2013 +0300
usb/dev-hid: Modified usb-tablet category from Misc to Input
usb-tablet device was wrongly assigned to Misc category
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 31efd2e883018b4c079ad082105bc161fbb3fef8)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d6dcfd69f8b2aa2cad79486bbadef7d51f7f4e7d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 15:50:15 2013 +0100
scripts/qapi.py: Avoid syntax not supported by Python 2.4
The Python "except Foo as x" syntax was only introduced in
Python 2.6, but we aim to support Python 2.4 and later.
Use the old-style "except Foo, x" syntax instead, thus
fixing configure/compile on systems with older Python.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
(cherry picked from commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 260790645e95891cb264c2d657648f43401ac915
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sun Aug 18 22:27:08 2013 -0400
rdma: silly ipv6 bugfix
My bad - but it's very important for us to warn the user that
IPv6 is broken on RoCE in linux right now, until linux releases
a fixed version.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 52f99b02e5ff1004fb3b41846d2c34f190127456
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 13:32:38 2013 +0200
target-ppc: fix bit extraction for FPBF and FPL
Bit extraction for the FP BF and L field of the MTFSFI and MTFSF
instructions is wrong and doesn't match the reference manual (which
explain the bit number in big endian format). It has been broken in
commit 7d08d85645def18eac2a9d672c1868a35e0bcf79.
This patch fixes this, which in turn fixes the problem reported by
Khem Raj about the floor() function of libm.
Reported-by: Khem Raj <raj.khem@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx (1.6)
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
(cherry picked from commit 779f659021d1754117bce1aab9370dc22f37ae07)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c0c080c5d1ce6c236ba8ab5db3a17043c665d0f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 12 18:09:47 2013 +0200
gdbstub: Fix gdb_register_coprocessor() register counting
Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register
counting for GDB. While it seems correct not to let the total number of
registers skyrocket in an SMP scenario through a static variable, the
distinction between total register count and 'g' packet register count
(last_reg vs. num_g_regs) got lost among the way.
Fix this by introducing CPUState::gdb_num_g_regs and using that in
gdb_handle_packet().
Reported-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx (stable-1.6)
Tested-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Tested-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from commit 35143f0164e6933a85c7c2b8a89a040d881a9151)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 670599a08c052f6ef841743731a8f06d4b50ec99
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jun 27 15:32:26 2013 +0200
block: ensure bdrv_drain_all() works during bdrv_delete()
In bdrv_delete() make sure to call bdrv_make_anon() *after* bdrv_close()
so that the device is still seen by bdrv_drain_all() when iterating
bdrv_states.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit e1b5c52e04d04bb93546c6e37e8884889d047cb1)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1ee2daeb6448312d6d0e22175f5c1b9b01f8974c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 15 10:40:51 2013 -0500
Update version for 1.6.0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc413a39355ed910f22f8f0be5e233c08a0773a0
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Aug 12 21:34:53 2013 +0200
mips_malta: do not raise exceptions when accessing invalid memory
Since commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c, MIPS raises
exceptions when accessing invalid memory. This is not the correct
behaviour for MIPS Malta Core LV, as the GT-64120A system controller
just ignore undecoded access. This feature is used by the Linux kernel
to probe for some devices.
Emulate the correct behaviour in QEMU by adding an empty slot covering
the entire memory space decoded by the GT-64120A.
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8b7a5415f9297c1fbae5bff28dcb059d50c1b045
Author: M. Mohan Kumar <mohan@xxxxxxxxxx>
Date: Wed Aug 14 17:56:41 2013 +0530
block: Dont ignore previously set bdrv_flags
bdrv_flags is set by bdrv_parse_discard_flags(), but later it is reset
to zero.
Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1376483201-13466-1-git-send-email-mohan@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3a3567d337d3ee6fb2e2fcc1d27cd045ed97ae9b
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Aug 8 12:09:38 2013 +0100
qemu-char: fix infinite recursion connecting to monitor pty
Since commit bd5c51e (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an
infinite recursion occurs when putting the monitor on a pty (-monitor
pty) and connecting a terminal to the slave port.
This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to
qemu_chr_be_generic_open(). This event is captured by monitor_event()
which prints a welcome message to the character device. The flush of
that welcome message retriggers another open event in pty_chr_state()
because it checks s->connected, but only sets it to 1 after calling
qemu_chr_be_generic_open().
I've fixed this by setting s->connected = 1 before the call to
qemu_chr_be_generic_open() instead of after, so that the recursive
pty_chr_state() doesn't call it again.
An example snippet of repeating backtrace:
...
#107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288
#107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at
qemu/monitor.c:322
#107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU
%s monitor - type 'help' for more information\n",
ap=0x7f432be0) at qemu/monitor.c:339
#107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU
%s monitor - type 'help' for more information\n")
at qemu/monitor.c:347
#107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at
qemu/monitor.c:4699
#107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at
qemu/qemu-char.c:108
#107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at
qemu/qemu-char.c:113
#107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at
qemu/qemu-char.c:1145
#107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at
qemu/qemu-char.c:1121
#107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008
<Address 0x70b3c008 out of bounds>, len=538720)
at qemu/qemu-char.c:1063
#107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008
<Address 0x70b3c008 out of bounds>, len=538720)
at qemu/qemu-char.c:118
...
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1375960178-10882-1-git-send-email-james.hogan@xxxxxxxxxx
Cc: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02653c5ea77bc3837376232ce508b7dd3e358ca1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Aug 13 09:02:52 2013 -0500
pvpanic: fix bad merge
Context matching caused the 'has_pvpanic = true' to be applied to
the 1.6 machine type instead of the 1.5 machine type.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 328465fd9f3a628ab320b5959d68d3d49df58fa6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 15:03:36 2013 -0500
Update version for 1.6.0-rc3
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d054ea543c2f94ddea5db29cc908899a188c07d
Merge: 9fb7aaa... 5638370...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 15:03:20 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix X86CPU Westmere CPUID for pc-*-1.4 and older
* afaerber/tags/qom-cpu-for-anthony:
pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older
Conflicts:
hw/i386/pc_piix.c
hw/i386/pc_q35.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fb7aaaf4c58c9108327f0ae4766087e3e496b47
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 09:01:44 2013 -0500
pc: drop external DSDT loading
This breaks migration and is unneeded with modern SeaBIOS.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1376316104-11269-1-git-send-email-aliguori@xxxxxxxxxx
commit a5d3f640a0fa56eaed712c9361150568e32e1d08
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Aug 11 18:10:43 2013 +0300
hw/misc: make pvpanic known to user
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html
The pvpanic device may be enabled now with "-device pvpanic"
from command line.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1376233843-19410-3-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7f3e341a008c585deed174eaf1f826c88c67948a
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Aug 11 18:10:42 2013 +0300
hw/misc: don't create pvpanic device by default
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html
No need to hard-code pvpanic as part of the machine.
It can be added with "-device pvpanic" from command line (The next patch).
Anyway, for backport compatibility it is still part of 1.5
machine.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1376233843-19410-2-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56383703c060777fd01aaf8d63d5f46d660e9fb9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Aug 9 11:11:36 2013 -0300
pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older
Commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
change by adding the PCLMULQDQ bit to Westmere without adding
compatibility code to keep the ABI for older machine-types.
Fix it by adding the missing compat code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f3067bd86485f8cd03abc940ddb2b8467ef3627
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:45 2013 -0400
rdma: remaining documentation fixes
Was missing 'setup-time' in some of the QMP documentation...
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1376078746-24948-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7fc5b13fd7b05babc7bcad9dcb8281ae202a9494
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:44 2013 -0400
rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround
We've gotten reports from multiple testers (including Frank Yangjie
and myself) that RDMA IPv6 support over RocE (Ethernet) is broken
in linux.
A patch to Linux is still in review:
http://comments.gmane.org/gmane.linux.drivers.rdma/16448
If the user is listening on '[::]', then we will not have a opened a
device
yet and have no way of verifying if the device is RoCE or not.
In this case, the source VM will throw an error for ALL types of
connections (both IPv4 and IPv6) if the destination machine does not have
a regular infiniband network available for use.
The only way to gaurantee that an error is thrown for broken kernels is
for the management software to choose a *specific* interface at bind time
and validate what time of hardware it is.
Unfortunately, this puts the user in a fix:
If the source VM connects with an IPv4 address without knowing that the
destination has bound to '[::]' the migration will unconditionally fail
unless the management software is not explicitly listening on the the
IPv4
address while using a RoCE-based device.
If the source VM connects with an IPv6 address, then we're OK because we
can
throw an error on the source (and similarly on the destination).
But in mixed environments, this will be broken for a while until it is
fixed
inside linux.
We do provide a *tiny* bit of help in mixed environments, though in this
patch:
We can list all of the devices in the system and check to see if all the
devices are RoCE or Infiniband.
If we detect that we have a *pure* RoCE environment, then we can safely
thrown an error even if the management sofware has specified '[::]' as the
bind address.
However, if there is are multiple hetergeneous devices, then we cannot
make
this assumption and the user just has to be sure they know what they are
doing.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6470215b794d6d9f9ffbd82f669645715eb014f8
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:43 2013 -0400
rdma: proper getaddrinfo() handling
getaddrinfo() already knows what it's doing,
but it can potentially return multiple addresses.
We need to handle that...
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88571882516a7cb4291a329c537eb79fd126e1f2
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:42 2013 -0400
rdma: check if RDMAControlHeader::len match transferred byte
RDMAControlHeader::len is provided from remote, so check if the value
match the actual transferred byte_len.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f1484edadba57f2800dc04ae3527ee4b6dac7ef
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:41 2013 -0400
rdma: validate RDMAControlHeader::len
RMDAControlHeader::len is provided from remote, so validate it.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 885e8f984ea846e79a39ddc4f066f4dd3d04b264
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:40 2013 -0400
rdma: use resp.len after validation in qemu_rdma_registration_stop
resp.len is given from remote host. So should be validated before use.
Otherwise memcpy can access beyond the buffer.
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6dd2a5c98a6b1c9189d342bcc3493c9b5dd1217e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:02 2013 -0500
pc_sysfw: do not make it a device anymore
Move the code to hw/i386, the sole remaining property is available
as !pci_enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1376069702-22330-4-git-send-email-aliguori@xxxxxxxxxx
Rebased.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a904410af5f1ed6ff031e9e4119ca2f5d99647ce
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:01 2013 -0500
pc_sysfw: remove the rom_only property
With the new semantics of pc_sysfw (no -pflash implies "old-style" ROM
setup,
-pflash implies "new-style" ROM setup), there is no need anymore for a
compat
property. Old machines simply will never use -pflash, and thus will
always
use old-style setup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1376069702-22330-3-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 133bb095acf536f85e7e57821596c8c844aaa583
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:00 2013 -0500
sysfw: remove read-only pc_sysfw_flash_vs_rom_bug_compatible
The variable is not written anymore.
This cleans up after 9e1c2ec (which accidentally left variable
pc_sysfw_flash_vs_rom_bug_compatible behind, value always zero), and
buries dead code from commit dafb82e (which resurrected the pc_sysfw
code for pc_sysfw_flash_vs_rom_bug_compatible by mistake).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1376069702-22330-2-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Aug 8 20:18:07 2013 +0200
w32: Add missing version.o to all executables (fix regression)
QEMU executables for w32, w64 had included meta information built from
version.rc. These rules were changed several times some months ago.
The latest version added version.o to the tools, but not to the system
emulations.
This patch adds the meta information to all system emulations again.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375985887-3984-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb77d1925ac4d673e19be58aa39fc53c5d2fed10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 2 09:34:00 2013 +0200
qemu-option: Guard against qemu_opts_set_defaults() misuse
Commit 6d4cd40 fixed qemu_opts_set_defaults() for an existing corner
case, but broke it for another one that can't be reached in current
code.
Quote from its commit message:
I believe [opts_parse()] attempts to do the following:
If options don't yet exist, create new options
Else, if defaults, modify the existing options
Else, if list->merge_lists, modify the existing options
Else, fail
The only caller that passes true for defaults is
qemu_opts_set_defaults().
The commit message then claims:
A straightforward call of qemu_opts_create() does exactly that.
Wrong. When !list->merge_lists, and the option string doesn't contain
id=, and options without ID exist, then we don't actually modify the
existing options, we create new ones.
Not reachable, because we never pass lists with !list->merge_lists to
qemu_opts_set_defaults().
Guard against possible (if unlikely) future misuse with assert().
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1375428840-5275-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8571fa57cd0426f40629ab77444704745631f168
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 31 08:19:52 2013 +0200
LICENSE: clarify
1) The GPL says that "if the Program does not specify a version number
of this License, you may choose any version ever published by the Free
Software Foundation". This is not true, QEMU includes parts that are
v2-only.
2) Provide a default for files with no licensing information.
3) It is not just hardware emulation that is under BSD license.
4) Restrict GPLv2-only contributions to user mode emulation (due to
code from Linux) and PCI passthrough (due to code from Neocleus).
5) The rules were initially set by Fabrice but are being amended by
other people (already in commit ee12e1f, LICENSE: There is no libqemu.a
anymore, 2011-11-15). Do not put words in his mouth.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375251592-2537-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7748c1bd50bd1b7f2b414acc2cf2e975be92deff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 31 08:19:51 2013 +0200
raw: add license header
Most of the block layer is under the BSD license, thus it is reasonable
to license block/raw.c the same way. CCed people should ACK by replying
with a Signed-off-by line.
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Cc: Jeff Cody <jcody@xxxxxxxxxx>
Cc: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1375251592-2537-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ee1ee80d22b3153dd6cbd3bec6d48a026eac31c
Merge: 6624fec... 3561ba1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:55 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio fixes for 1.6
This includes some last-minute bugfixes for 1.6.
All very small patches that also look very safe to me.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 12 Aug 2013 04:28:57 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vhost: clear signalled_used_valid on vhost stop
virtio: clear signalled_used_valid when switching from dataplane
i82801b11: Fix i82801b11 PCI host bridge config space
pc: disable pci-info for 1.6
Message-id: 1376308831-19978-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6624fecd8e4df6be13f86846abce979702917931
Merge: 3bba9c1... f7b803b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:43 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130812' into
staging
arm-devs queue
# gpg: Signature made Mon 12 Aug 2013 05:58:14 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130812:
hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues
hw/virtio/virtio: Don't allow guests to add/remove queues
Message-id: 1376305261-29561-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3bba9c115ba31f53fb9fc0a2711bf36c0ed6f031
Merge: 4a9a887... 6db5f5d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:36 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Mike Qiu
# Via Kevin Wolf
* kwolf/for-anthony:
block: Bugfix 'format' and 'snapshot' used in drive option
Message-id: 1376071141-3214-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a9a8876a14653fd03918945dbb96de3e84b3e3f
Merge: 283c873... 56c4bfb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:30:49 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Laszlo Ersek
# Via Luiz Capitulino
* luiz/queue/qmp:
dump: rebase from host-private RAMBlock offsets to guest-physical
addresses
dump: populate guest_phys_blocks
dump: introduce GuestPhysBlockList
dump: clamp guest-provided mapping lengths to ramblock sizes
Message-id: 1375974809-1757-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 283c8733b5a2e7ecd9a681656690ffef8dd675ae
Merge: 2aa09da... dad5b9e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:30:39 2013 -0500
Merge remote-tracking branch 'kraxel/usb.87' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.87:
xhci: implement warm port reset
Message-id: 1375961495-20970-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2aa09da823c258b3636d0e73527510cd196c68e4
Merge: 9b9734e... 2e985fe...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:28:56 2013 -0500
Merge remote-tracking branch 'origin/master' into staging
* origin/master:
mips: revert commit b332d24a8e1290954029814d09156b06ede358e2
tcg/mips: fix invalid op definition errors
Necessary because patches got pushed by Aurelien before I pushed
the -rc2 tag.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7b803b377f74f7e109559e8e64f04c4c1fcd86b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 26 16:41:28 2013 +0100
hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues
The virtio-mmio spec says that QueueNumMax must read zero for queues
which are unavailable; implement this, rather than always returning
VIRTQUEUE_MAX_SIZE.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374853288-9912-3-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3561ba14188b3c1e54246ed6db97896bbc082d2f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 12 12:21:36 2013 +0300
vhost: clear signalled_used_valid on vhost stop
When vhost device stops, its implementation synchronizes kernel state
back to virtio.c so we can continue emulating the device
in userspace.
This patch ensures that virtio.c's signalled_used_valid flag is reset so
that userspace does not suppress guest notifications due to stale
signalled_used values.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6793dfd1b6a99a79b9f2e3c4d6625ccd6513f240
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 12 11:08:09 2013 +0200
virtio: clear signalled_used_valid when switching from dataplane
When the dataplane thread stops, its vring.c implementation synchronizes
vring state back to virtio.c so we can continue emulating the virtio
device.
This patch ensures that virtio.c's signalled_used_valid flag is reset so
that we do not suppress guest notifications due to stale signalled_used
values.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4965b7f056177ddfb816319e9ff5e766898d0bc5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Aug 5 16:36:40 2013 +0200
i82801b11: Fix i82801b11 PCI host bridge config space
pci_bridge_write_config() was not being used.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9604f70fdf8e21ec0dbf6eac5e59a0eb8beadd64
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Aug 1 15:39:11 2013 +0300
pc: disable pci-info for 1.6
The BIOS that we ship in 1.6 does not use pci info
from host (yet). Several issues turned up
(e.g. around winXP boot crashes). So it's safest to disable that
interface for 1.6 machine types for now, leave it on for 1.7
as we have enough time to fix issues if any.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6db5f5d68e2ffc430ba0511e23fc36c7363510f1
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Thu Aug 8 10:45:16 2013 -0400
block: Bugfix 'format' and 'snapshot' used in drive option
When use -drive file='xxx',format=qcow2,snapshot=on the error
message "Can't use snapshot=on with driver-specific options"
can be show, and fail to start the qemu.
This should not be happened, and there is no file.driver option
in qemu command line.
It is because the commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4,
it puts 'driver' option if the command line use 'format' option.
This patch is to solve this bug.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6049f4483d61fa911a0693c2c48ce8308451d33
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 26 16:41:27 2013 +0100
hw/virtio/virtio: Don't allow guests to add/remove queues
A queue size of 0 is used to indicate a nonexistent queue, so
don't allow the guest to flip a queue between zero-size and
non-zero-size. Don't permit setting of negative queue sizes
either.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374853288-9912-2-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2e985fe000e73097e325e18b943e8babfa96c35c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Aug 3 16:03:18 2013 +0200
mips: revert commit b332d24a8e1290954029814d09156b06ede358e2
Now that this code path is not triggered anymore during the tests,
revert commit b332d24a8e1290954029814d09156b06ede358e2. Booting a MIPS
target without kernel nor bios doesn't really make sense. At the same
time replace fprintf(stderr, ...) by error_report().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 85711e6bafb1910b50ff181e8507cb904ef7e84d
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Aug 8 15:40:23 2013 +0100
tcg/mips: fix invalid op definition errors
tcg/mips/tcg-target.h defines various operations conditionally depending
upon the isa revision, however these operations are included in
mips_op_defs[] unconditionally resulting in the following runtime errors
if CONFIG_DEBUG_TCG is defined:
Invalid op definition for movcond_i32
Invalid op definition for rotl_i32
Invalid op definition for rotr_i32
Invalid op definition for deposit_i32
Invalid op definition for bswap16_i32
Invalid op definition for bswap32_i32
tcg/tcg.c:1196: tcg fatal error
Fix with ifdefs like the i386 backend does for movcond_i32.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 56c4bfb3f07f3107894c00281276aea4f5e8834d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:11 2013 +0200
dump: rebase from host-private RAMBlock offsets to guest-physical
addresses
RAMBlock.offset --> GuestPhysBlock.target_start
RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end
RAMBlock.length --> GuestPhysBlock.target_end -
GuestPhysBlock.target_start
"GuestPhysBlock.host_addr" is only used when writing the dump contents.
This patch enables "crash" to work with the vmcore by rebasing the vmcore
from the left side of the following diagram to the right side:
host-private
offset
relative
to ram_addr RAMBlock guest-visible paddrs
0 +-------------------+.....+-------------------+ 0
| ^ | | ^ |
| 640 KB | | 640 KB |
| v | | v |
0x0000a0000 +-------------------+.....+-------------------+ 0x0000a0000
| ^ | |XXXXXXXXXXXXXXXXXXX|
| 384 KB | |XXXXXXXXXXXXXXXXXXX|
| v | |XXXXXXXXXXXXXXXXXXX|
0x000100000 +-------------------+.....+-------------------+ 0x000100000
| ^ | | ^ |
| 3583 MB | | 3583 MB |
| v | | v |
0x0e0000000 +-------------------+.....+-------------------+ 0x0e0000000
| ^ |. |XXXXXXXXXXXXXXXXXXX|
| above_4g_mem_size | . |XXXX PCI hole XXXXX|
| v | . |XXXX XXXXX|
ram_size +-------------------+ . |XXXX 512 MB XXXXX|
. .|XXXXXXXXXXXXXXXXXXX|
. +-------------------+ 0x100000000
. | ^ |
. | above_4g_mem_size |
.| v |
+-------------------+ ram_size
+ 512 MB
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c5d7f60f0614250bd925071e25220ce5958f75d0
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:10 2013 +0200
dump: populate guest_phys_blocks
While the machine is paused, in guest_phys_blocks_append() we register a
one-shot MemoryListener, solely for the initial collection of the valid
guest-physical memory ranges that happens at listener registration time.
For each range that is reported to guest_phys_blocks_region_add(), we
attempt to merge the range with the preceding one.
Ranges can only be joined if they are contiguous in both guest-physical
address space, and contiguous in host virtual address space.
The "maximal" ranges that remain in the end constitute the guest-physical
memory map that the dump will be based on.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5ee163e8ea2fb6610339f494e039159e08a69066
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:09 2013 +0200
dump: introduce GuestPhysBlockList
The vmcore must use physical addresses that are visible to the guest, not
addresses that point into linear RAMBlocks. As first step, introduce the
list type into which we'll collect the physical mappings in effect at the
time of the dump.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2cac260768b9d4253737417ea7501cf2950e257f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:08 2013 +0200
dump: clamp guest-provided mapping lengths to ramblock sizes
Even a trusted & clean-state guest can map more memory than what it was
given. Since the vmcore contains RAMBlocks, mapping sizes should be
clamped to RAMBlock sizes. Otherwise such oversized mappings can exceed
the entire file size, and ELF parsers might refuse even the valid portion
of the PT_LOAD entry.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dad5b9ea0895c227bc9d48b7f0a6fa51eaaa8661
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Aug 1 15:51:08 2013 +0200
xhci: implement warm port reset
Without this patch windows can't do port resets for usb3 devices.
https://bugzilla.redhat.com/show_bug.cgi?id=949514
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9b9734ef820d9035ac5d254e2b5962cd0b89f4e1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 15:38:31 2013 -0500
Update version for 1.6.0-rc2
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jul 28 14:35:54 2013 +0200
fw_cfg: the I/O port variant expects little-endian
The I/O port variant of fw_cfg is used by sparc64, which is a big-endian
machine.
Firmware swaps bytes before sending them to fw_cfg, so we need to unswap
them in
the device.
This is only used on sparc64 and on (little-endian) x86, so it does not
affect
any other target. 32-bit Sparc and PPC all use memory-mapped fw_cfg.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Message-id: 1375014954-31916-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9a72359a54978f7364f6486973cea50ceb52173
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Aug 5 21:45:22 2013 +0200
po: Update all *.po files
Running "make install" modified the *.po files because
they were no longer up to date.
Synchronize them with latest ui/gtk.c and modified build
rules which use paths relative to the project root.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375731922-24259-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f71d4c4673d0b2b92bccd46eb06f6c1723d6bb0f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:03 2013 +0200
target-ppc: Add POWER5+ v2.1 CPU model
Let's avoid -cpu host barfing at this PVR.
Linux recognizes it as "POWER5+ (gs) v2.1".
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 35ebcb2b7a469739e6452d27379181bfbfc0388d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:02 2013 +0200
target-ppc: Prepare POWER5P CPU family
It is ISA 2.03. Modelled as 970FX minus AltiVec flag.
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 469296f1578e1e7b69c267de39d17134b950b93a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:01 2013 +0200
target-ppc: Turn POWER5gr CPU into alias for POWER5
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 171777a4b38a0f6331ae60c2546a5baf84c4b359
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:00 2013 +0200
target-ppc: Turn POWER5gs CPU into alias for POWER5+
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a7d6b9f084765a834110bb9a2a0329b1a96de792
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 22:59:46 2013 +0200
target-ppc: Fix POWER7+ model
Commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 claimed to add a POWER7+
model but instead added a "POWER7P" model, with an unhelpful "POWER7P"
description on top. Fix this to "POWER7+" as we already have "POWER3+",
"POWER4+" and "POWER5+" and there being no reason to deviate with the
user-visible command line -cpu POWER7P from the marketing name POWER7+.
Further, don't needlessly deviate from the scheme of naming PVR constant,
QOM type and device description after the exact revision that is in fact
encoded in the PVR used.
That way, we can change the user-friendly alias -cpu POWER7+ to point to a
different revision if we so desire, while not polluting the type
namespace.
This naming scheme is sensible and completely orthogonal to how PVRs may
or may not get matched to CPU types.
Cc: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375736387-8429-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0dd5ce38fbeb2fb97b01cc8c1c97292211e48ee6
Author: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx>
Date: Tue Aug 6 20:45:39 2013 +0200
Bugfix for loading multiboot kernels
This patch fixes a bug in rom_copy introduced by
commit d60fa42e8bae39440f997ebfe8fe328269a57d16.
rom_copy failed to load roms with a "datasize" of 0.
As a result, multiboot kernels were not loaded correctly
when they contain a segment with a "file size" of 0.
https://bugs.launchpad.net/qemu/+bug/1208944
Signed-off-by: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
CAG1x_oET1u3TMPu3r_zzd3ZXsTWQLiaM0zAc+RkHFCwvJjGOvg@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c0f48f5b6c4cf3e1ec8ec6fa7bfe1b97dc92a9c
Merge: cafffa5... cd7b87f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 12:43:34 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Clean up X86CPU error handling
# gpg: Signature made Tue 06 Aug 2013 01:57:34 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Fix X86CPU error handling
commit cafffa545420a2c6dc33f9cb58401c606af59572
Merge: a1fc624... ca8804c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 12:43:27 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Fam Zheng (8) and others
# Via Kevin Wolf
* kwolf/for-anthony:
vmdk: rename num_gtes_per_gte to num_gtes_per_gt
vmdk: use heap allocation for whole_grain
vmdk: check l1 size before opening image
vmdk: check l2 table size when opening
vmdk: check granularity field in opening
qemu-iotests: add empty test case for vmdk
qemu-iotests: add poke_file utility function
vmdk: use unsigned values for on disk header fields
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
sheepdog: add missing .bdrv_has_zero_init
qemu-iotests: filter QEMU version in monitor banner
iov: handle EOF in iov_send_recv
ignore SIGPIPE in qemu-img and qemu-io
qemu-img: Error out for excess arguments
Message-id: 1375799990-995-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd7b87ffe9b6b7b0089ec8c71555f3b942bc6daf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 2 18:56:05 2013 +0200
target-i386: Fix X86CPU error handling
Error **errp argument is not for emitting warnings, it means an error
has occurred and the caller should not make any assumptions about the
state of other return values (unless otherwise documented).
Therefore cpu_x86_create() must unref the new X86CPU itself, and
pc_new_cpu() must check for an Error rather than NULL return value.
While at it, clean up a superfluous NULL check.
Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca8804ced9fdba7a1925ed81084dfb7a5b6ffa9f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:55 2013 +0800
vmdk: rename num_gtes_per_gte to num_gtes_per_gt
num_gtes_per_gte is a historical typo, rename it to a more sensible
name. It means "number of GrainTableEntries per GrainTable".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bf81507de38fdfa4cb6e9b46fb38691a25cb1499
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:54 2013 +0800
vmdk: use heap allocation for whole_grain
We should never grow the stack beyond 1 MB, otherwise we'll fall off the
end. Thread stacks and coroutine stacks (1 MB) do not grow.
get_cluster_offset() allocates a big stack offset, it will fail for big
cluster images, change to heap allocated buffer.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c43e43c8cec130fff95ef720a860e91efb36685
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:53 2013 +0800
vmdk: check l1 size before opening image
L1 table size is calculated from capacity, granularity and l2 table
size. If capacity is too big or later two are too small, the L1 table
will be too big to allocate in memory. Limit it to a reasonable range.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8ce04036e333aae480b1d06d969f6436652633d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:52 2013 +0800
vmdk: check l2 table size when opening
header.num_gtes_per_gte determines size for L2 table. Check for too big
value before using it. Limit to 512M entries (2GB per one L2 table).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8aa1331c09a9b899f48d97f097bb49b7d458be1c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:51 2013 +0800
vmdk: check granularity field in opening
Granularity is used to calculate the cluster size and allocate r/w
buffer. Check the value from image before using it, so we don't abort()
for unbounded memory allocation.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca6cbb657d66a7beb70f9d91848c80d1a72b1674
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:50 2013 +0800
qemu-iotests: add empty test case for vmdk
Will add vmdk specific tests later here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 23ea2ecc2a43d850bc9482068201ece5da36a448
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Aug 6 15:44:49 2013 +0800
qemu-iotests: add poke_file utility function
The new poke_file function sets bytes at an offset in a file given a
printf-style format string. It can be used to corrupt an image file for
test coverage of error paths.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e98768d43799cd3f00b358bfbe455fdae793d3e8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:48 2013 +0800
vmdk: use unsigned values for on disk header fields
The size and offset fields are all non-negative values, use uint64_t for
them to avoid getting negative in memory value by int overflow.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d8caa543c9714bee36b04899797a3721dff4090
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:47 2013 +0800
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
It's best to make it consistent that all on disk structures are
QEMU_PACKED.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a1fc6246b3964e74ddb3a7e0b8bba03af1c6ac38
Author: Leon Alrae <leon.alrae@xxxxxxxxxx>
Date: Tue Aug 6 11:59:25 2013 +0100
target-mips: fix decoding of microMIPS POOL32Axf instructions
Fix incorrect assumption that DSP and non-DSP versions of the following
instructions have the same encoding:
MULT, MULTU, MADD, MADDU, MSUB, MSUBU, MFHI, MFLO, MTHI, MTLO.
Correct the existing (non-DSP) instructions and add DSP equivalents.
Reference:
MIPS Architecture for Programmers Volume II-B: The microMIPS32
Instruction Set
MIPS Architecture for Programmers Volume IV-e: The MIPS DSP Module for
the microMIPS32 Architecture
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e4f5c1bf8f6f6fe0bb4c743452bf8288033e80ba
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Tue Aug 6 14:44:37 2013 +0800
sheepdog: add missing .bdrv_has_zero_init
Commit 3ac21627 changed the behaviour of bdrv_has_zero_init() to default
to 0. In the review for Sheepdog it turned out that enabling it is safe,
so that commit updated one BlockDriver definition of sheepdog to use
bdrv_has_zero_init_1, missed however that there are more BlockDrivers in
the driver. Fix these now.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9580498b9a599b38c3a28599dcd40bd59f12af2c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 5 14:40:34 2013 +0200
qemu-iotests: filter QEMU version in monitor banner
Filter out the QEMU monitor version banner so that tests do not break
when the QEMU version number is changed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 840042901710c2dc1a3ac3e5af9bed449c339701
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Jul 23 17:30:12 2013 +0900
iov: handle EOF in iov_send_recv
Without this patch, iov_send_recv() never returns when do_send_recv()
returns zero.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 526eda14a68d5b3596be715505289b541288ef2a
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Jul 23 17:30:11 2013 +0900
ignore SIGPIPE in qemu-img and qemu-io
This prevents the tools from being stopped when they write data to a
closed connection in the other side.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc11eb26cee7e3621645dd40cd9de944201f590b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 5 10:53:04 2013 +0200
qemu-img: Error out for excess arguments
Don't silently ignore excess arguments at the end of the command line,
but error out instead. This can catch typos like 'resize test.img + 1G',
which doesn't increase the image size by 1G as intended, but truncates
the image to 1G. Even for less dangerous commands, the old behaviour is
confusing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 79761c6681f0d1cc1c027116fcb4382d41ed3ece
Author: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx>
Date: Wed Jul 3 17:58:14 2013 +0900
semaphore: fix a hangup problem under load on NetBSD hosts.
Fix following bugs in "fallback implementation of counting semaphores
with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976:
- waiting threads are not restarted properly if more than one threads
are waiting unblock signals in qemu_sem_timedwait()
- possible missing pthread_cond_signal(3) calls when waiting threads
are returned by ETIMEDOUT
- fix an uninitialized variable
The problem is analyzed by and fix is provided by Noriyuki Soda.
Also put additional cleanup suggested by Laszlo Ersek:
- make QemuSemaphore.count unsigned (it won't be negative)
- check a return value of in pthread_cond_wait() in qemu_sem_wait()
Signed-off-by: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1372841894-10634-1-git-send-email-tsutsui@xxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1d0fb378ae3bb4272124a12e3fe1a02c4745eb1
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:54 2013 -0400
rdma: memory leak RDMAContext::host
It is allocated by g_strdup(), so needs to be freed.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-8-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 877726397f7e24d0c8a2b303a852769b5edd155c
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:53 2013 -0400
rdma: use RDMA_WRID_READY
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1f22364bb5a756dfcbd15c2ae2bac18bbcef6190
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:52 2013 -0400
rdma: qemu_rdma_post_send_control uses wrongly RDMA_WRID_MAX
RDMA_WRID_CONTROL should be used. And remove related work around.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44b5949491a47043c4f7c4ff09f0191f82919a82
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:51 2013 -0400
rdma: don't use negative index to array
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66988941251ef64044aa3b951ebd84162e5a4e3a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:50 2013 -0400
rdma: correct newlines in error statements
Don't print newlines on the error_setg() function,
but still allow newlines on fprintf().
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8cd31adc7cc0602ba0a66b7d9b50fd016ab5530a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:49 2013 -0400
rdma: forgot to turn off the debugging flag
Ooops. We forgot to turn off the flag.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b58c8552bd466aaab67c59dedeb846838082cad6
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:48 2013 -0400
rdma: bugfix: make IPv6 support work
RDMA does not use sockets, so we cannot use many of the socket
helper functions, but we *do* use inet_parse() which gives
RDMA all the necessary details of the connection parameters.
However, when testing with libvirt, a simple IPv6 migration test failed
because we were not using getaddrinfo() properly.
This makes IPv6 migration over RDMA work.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be2f78b6b062eec5170e2612299fb8953046993f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 15:05:01 2013 +0200
pxa2xx: Avoid object_get_link_property() assertion for "parent_bus"
pxa2xx_i2c_init() creates a pxa2xx-i2c-slave device on a second i2c-bus,
which has a NULL parent device. This causes an assertion in
object_get_canonical_path() when accessing pxa2xx-i2c-slave's
"parent_bus" link<bus> property in tosa and likely other PXA2xx machines.
Fix this by using the pxa2xx_i2c device, created just before, as parent.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375621501-5564-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 03a15a5436ed7723f406f15cc3798aa9991e75b5
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 2 12:59:34 2013 +1000
target-ppc: Add POWER7+ CPU model
This patch adds CPU PVR definition for POWER7+.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1375412374-24701-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 64160cd2a3e9a8491ce44aaa9df25cfad48b8666
Merge: 144f28f... 908c67f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:06:25 2013 -0500
Merge remote-tracking branch 'filippov/tags/20130729-xtensa' into staging
xtensa queue 2013-07-29
* filippov/tags/20130729-xtensa:
target-xtensa: check register window inline
target-xtensa: don't generate dead code to access invalid SRs
tests/tcg/xtensa: Fix out-of-tree build
target-xtensa: avoid double-stopping at breakpoints
target-xtensa: add fallthrough markers
target-xtensa: add extui unit test
Conflicts:
configure
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 144f28fa58abc56d2244a2e6b97ca78e1540dd05
Merge: 59a8877... 9a949b9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:03:01 2013 -0500
Merge remote-tracking branch 'mcayland/qemu-openbios' into staging
* mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 59a88774d912bb53795daa2d3620707401aea077
Merge: 56105bd... ee76c1f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:48 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Jan Kiszka
# Via Stefan Hajnoczi
* stefanha/net:
pcnet: Flush queued packets on end of STOP state
Message-id: 1375704975-19128-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56105bd5c0b6d7ac62b34c8b8f496df8f7bd9d92
Merge: f5e7dad... 8afaefb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:39 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf
# Via Stefan Hajnoczi
* stefanha/block:
block: Disable driver-specific options for 1.6
Message-id: 1375461379-20277-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f5e7dad8ee5673b4de1eaa9a2fa610f0940f26b0
Merge: d94c426... 8e50724...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:32 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Fam Zheng (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
vmdk: fix comment for vmdk_co_write_zeroes
memory.c: drop kvm.h dependency
block/iscsi.c: Fix printf format error.
qemu-ga: build it even if !system
Message-id: 1375453248-7178-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d94c426d46e01ad45fc5e3b8e5b485ca1b0158fe
Merge: b9ac5d9... a14ff8a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:25 2013 -0500
Merge remote-tracking branch 'kraxel/usb.86' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.86:
usb-redir: fix use-after-free
xhci: fix segfault
Message-id: 1375362669-14815-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ee76c1f821e75550644e084dea85743bbc934f91
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Aug 2 21:48:18 2013 +0200
pcnet: Flush queued packets on end of STOP state
Analogously to other NICs, we have to inform the network layer when
the can_receive handler will no longer report 0. Without this, we may
get stuck waiting on queued incoming packets.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b9ac5d923b820a0f0152a2df56067e55ce34f487
Author: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Date: Fri Aug 2 10:33:43 2013 +0100
target-mips: fix 34Kf configuration for DSP ASE
34Kf core does support DSP ASE.
CP0_Config3 configuration for 34Kf and description are wrong.
Please refer to MIPS32(R) 34Kf(TM) Processor Core Datasheet
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8afaefb8919dc8746a57c450a758717c516c7b0a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 30 14:58:27 2013 +0200
block: Disable driver-specific options for 1.6
We don't want to commit to the API yet before everything is worked out.
Like already for 1.5, disable it again for the 1.6 release. This commit
is meant to be reverted after the 1.6 release.
The disabling of the driver-specific options is achieved by applying the
old checks while parsing the command line.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e50724313895a87057cc243ad805f2eb21feb9f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Aug 1 18:12:17 2013 +0800
vmdk: fix comment for vmdk_co_write_zeroes
The comment was truncated. Add the missing parts, especially explain why
we need zero_dry_run.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 437de2adc633ed28cdd84bcdffc3430b5ce96be6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Aug 1 10:55:30 2013 +0300
memory.c: drop kvm.h dependency
memory.c does not use any kvm specific interfaces,
don't include kvm.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f5075224d6e7fe8cae7e3c1b52a6d0f7bd3533d0
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Wed Jul 31 22:20:26 2013 +0100
block/iscsi.c: Fix printf format error.
The error on armv7hl was:
block/iscsi.c: In function â??is_request_lun_alignedâ??:
block/iscsi.c:251:26: error: format â??%ldâ?? expects argument of type
â??long intâ??, but argument 3 has type â??int64_tâ?? [-Werror=format=]
iscsilun->block_size, sector_num, nb_sectors);
^
This also splits the long line to comply with qemu coding guidelines.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e8ef31a3518c7b1e63a804fe8cecd3e94418db84
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jul 31 14:22:07 2013 +0400
qemu-ga: build it even if !system
Move qemu-ga build check out of if softmmu.. into its own section.
We want to build qemu-ga for _guest_ even if system build isn't
done. It is controlled separately using --enable-guest-agent.
Additionally, give error message if guest agent is requested but
not supported.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2ddc463725d0fa24e0910fba77fef2777fa94a74
Merge: 00f90df... e0d4794...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 17:09:35 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Clean up AlphaCPU and OpenRISCCPU migration
# gpg: Signature made Wed 31 Jul 2013 04:57:59 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpu: Fix VMSTATE_CPU() semantics
commit 00f90df09368035fcfe6a06cd87a6c88f82f2afe
Merge: e501425... 5c97367...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 17:09:28 2013 -0500
Merge remote-tracking branch 'afaerber/tags/prep-for-upstream' into
staging
PReP machine and devices
* Fixes for i82378 PCI-ISA bridge endianness handling
# gpg: Signature made Wed 31 Jul 2013 04:25:51 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Hervé Poussineau
# Via Andreas Färber
* afaerber/tags/prep-for-upstream:
i82378: Cleanup implementation
pci-host/prep: Set isa_mem_base in the PCI host bridge
commit e501425bbe8d692f022d3db64abf800eaf4f0854
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 16:59:32 2013 -0500
Update version for 1.6.0-rc1
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 203439ce0a832e36b276f10892846bd91ee836eb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 01:28:46 2013 +0200
virtio-console: Use exitfn for virtserialport, too
virtconsole and virtserialport are identical in every other aspect
except for the distinguishing VirtIOSerialPortClass::is_console field.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375313326-14966-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 27915efb974999dd256a6c432a17432d9d84e606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 01:59:47 2013 +0200
virtio-9p-device: Avoid freeing uninitialized memory
In virtio_9p_device_init() there are 6x goto out that will lead to
v9fs_path_free() attempting to free unitialized path.data field.
Easiest way to trigger is: qemu-system-x86_64 -device virtio-9p-pci
Fix this by moving v9fs_path_init() before any goto out.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375315187-16534-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5a2bcf70e81b67cbc4947f5065db8fc9bfc1465
Merge: f44c5c6... 8c0426a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 11:18:04 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Pawit Pornkitprasan
# Via Luiz Capitulino
* luiz/queue/qmp:
migration: don't use uninitialized variables
migration: send total time in QMP at "completed" stage
Message-id: 1375367564-4797-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c0426aed1d2279845e6a2c3355da8b5d9926cb6
Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Date: Tue Jul 30 08:39:52 2013 +0900
migration: don't use uninitialized variables
The qmp_migrate method uses the 'blk' and 'inc' parameter without
checking if they're valid or not (they may be uninitialized if
command is received via QMP)
Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 00c14997cb95bf3e6c18c2264ef5e10642d89b3a
Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Date: Fri Jul 19 11:23:45 2013 +0900
migration: send total time in QMP at "completed" stage
The "completed" stage sets total_time but not has_total_time and
thus it is not sent via QMP reply (but sent via HMP nevertheless)
Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a14ff8a650b5943ee6221b952494661f7cb3b5e2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 31 11:17:58 2013 +0200
usb-redir: fix use-after-free
Reinitialize dev->cs to NULL after deleting it, to make sure it isn't
used afterwards.
Reported-by: Martin Cerveny <M.Cerveny@xxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 75cc1c1fcba1987bdf3979c4289ab756c2b15742
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 31 10:54:11 2013 +0200
xhci: fix segfault
Guest trying to reset a endpoint of a disconnected device resulted in
xhci trying to dereference uport while being NULL, thereby crashing
qemu. Fix that by adding a check. Drop unused dev variable while
touching that code bit.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c9736789b79ea49cd236ac326f0a414f63b1015
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Jul 23 23:16:46 2013 +0200
i82378: Cleanup implementation
- i82378 only exists on PCI bus; do not split implementation in 2 structs
- remove BARs, which are not specified in datasheet
- replace custom isa_mmio implementation by PCI bus IO region usage
- use QOM casts when required
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Style- and QOM-related changes, dropped no_user, reverted VMSD name]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 768d7e2c7f5d20f412506f3a31626185ac54c559
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Jul 23 23:16:45 2013 +0200
pci-host/prep: Set isa_mem_base in the PCI host bridge
Currently, it is done by i82378 PCI-ISA bridge, which shouldn't
care about it.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit e0d479445876676f3f92e1bc6d5f92d4bb2500f8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 04:07:50 2013 +0200
cpu: Fix VMSTATE_CPU() semantics
Commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 prepared a VMSTATE_CPU()
macro for device-style VMStateDescription registration, but missed to
adapt cpu_exec_init(), so that the "cpu_common" VMStateDescription was
still registered for AlphaCPU (fe31e7374299c0c6172ce618b29bf2fecbd881c7)
and OpenRISCCPU (da69721460e652072b6a3dd52b7693da21ffe237). Fix this.
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f44c5c6794026fc2852c1c0f026b15733560ce7c
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Wed Jul 31 10:27:35 2013 +0400
MAINTAINERS: change Igor Mitsyanko's email address
My email address in samsung.com domain is no longer accessible, change
it to my personal gmail address.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1197cbb9eda1dc82e2fa1815ca62bc3de158353e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 08:20:43 2013 -1000
qdev: Use clz in print_size
We can compute a floor log2 value with clz rather than a division loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375208443-17288-3-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e76c756fd3d3b652c6a65ebe16f2bfb25b8d025e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 08:20:42 2013 -1000
qdev: Fix 32-bit compilation in print_size
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375208443-17288-2-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 75e2a4baf1536682d111d9bee0261806737a32dc
Merge: c095e10... 58ae52a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:58 2013 -0500
Merge remote-tracking branch 'spice/spice.v72' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v72:
spice: fix display initialization
Message-id: 1375173625-3784-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c095e108473f57516e7ad958d905a7017b225f82
Merge: dbef7b1... cf66ee8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:54 2013 -0500
Merge remote-tracking branch 'kraxel/usb.85' into staging
# By Gerd Hoffmann (2) and Alexey Kardashevskiy (1)
# Via Gerd Hoffmann
* kraxel/usb.85:
hcd-ohci: add dma error handling
uhci: egsm fix
xhci: handle USB_RET_IOERROR
Message-id: 1375173371-3378-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbef7b17ad1d0be90696dc45b5b8162d8208643f
Merge: c9dd6a9... 9b4f38e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:36 2013 -0500
Merge remote-tracking branch 'borntraeger/s390-for-1.6' into staging
* borntraeger/s390-for-1.6:
s390: Implement dump-guest-memory support for target s390x
s390x/kvm: Remove redundant return code
s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst()
s390x/ioinst: Fixed priority of operand exceptions
s390x/ioinst: Fixed alignment check in SCHM instruction
s390x/ioinst: Throw addressing exception when memory_map failed
s390x/ioinst: Add missing alignment checks for IO instructions
s390/sclpconsole: handle char layer busy conditions
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c9dd6a9fa092827c38d21749a453bc56413411d7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:33 2013 +0200
mips_r4k: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-6-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 38c8894fe77c14c6af415c75f043370264f89382
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:32 2013 +0200
mips_jazz: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c57bd9b06e5771c11a1850e709b595a7c283e83
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:31 2013 +0200
mips_malta: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a7ed999a7a5057d860b38c6680a1437945b5139
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:30 2013 +0200
mips_fulong2e: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96b3bfa083987518e8a10364bf994c024c455fff
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:29 2013 +0200
target-ppc: Suppress TCG instruction emulation warnings for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 30 13:04:22 2013 -0500
chardev: fix CHR_EVENT_OPENED events for mux chardevs
As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use
bottom-halves to issue CHR_EVENT_OPENED events. To maintain past
semantics, we instead defer the CHR_EVENT_OPENED events toward the end
of chardev initialization.
For muxes, this isn't good enough, since a range of FEs must be able
to attach to the mux prior to any CHR_EVENT_OPENED being issued, else
each FE will immediately print it's initial output (prompts, banners,
etc.) just prior to us switching to the next FE as part of
initialization.
The is new and confusing behavior for users, as they'll see output for
things like the HMP monitor, even though their the current mux focus
may be a guest serial port with potentially no output.
We fix this by further deferring CHR_EVENT_OPENED events for FEs
associated with muxes until after machine init by flagging mux chardevs
with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED
events until we explicitly set the mux as opened later.
Currently, we must defer till after machine init since we potentially
associate FEs with muxes as part of realize (for instance,
serial_isa_realizefn).
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1375207462-8141-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5fe0d351b3a7caf77f899db804d09e4553329c84
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jul 30 22:41:23 2013 +0200
tci: Fix broken build (compiler warning caused by redefined macro BIT)
The definition of macro BIT in tci/tcg-target.c now conflicts with the
definition of the same macro in includes qemu/bitops.h.
This conflict was triggered by a recent change in the include chain of
tcg.c (probably commit 949fc82314cc84162e64a5323764527a542421ce).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375216883-23969-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9a949b94f60ee48ca0fbb5dc263c7ee77b75149f
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Jul 30 23:11:07 2013 +0100
Update OpenBIOS images
Update OpenBIOS images to SVN r1198 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit beb3faaa0027c114e37317fdba38a8a7facf3f9b
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 29 12:49:05 2013 +0200
target-mips: correct the values in the DSP tests
Five tests files for DSP instructions had wrong expected values in the
tests.
This change fixes this, and this has been cross-checked by running the
same
test binaries on Malta 74K board.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9b4f38e182d18cac217f04b8b7fddf760a5b9d44
Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Date: Wed Jul 10 15:26:46 2013 +0200
s390: Implement dump-guest-memory support for target s390x
With this patch dump-guest-memory on s390 produces an ELF formatted,
crash-readable dump.
In order to implement this, the arch-specific part of dump-guest-memory
was added:
target-s390x/arch_dump.c contains the whole set of function for writing
Elf note sections of all types for s390x.
Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[fixed indentation, use CamelCase, rename note_t to Note, use S390CPU]
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit d2ee774616280db778f0b4b97a8ac514602ad52c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 2 14:45:16 2013 +0200
s390x/kvm: Remove redundant return code
Removed the redundant return code statement from handle_instruction() - it
always returned 0 and never reports any errors to its caller, since errors
from the sub-functions are already reported via program exceptions
instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit c1e8dfb5e860c48adf5026a5a7cf8f35be66c22c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 24 15:17:34 2013 +0200
s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst()
Consolidated the setting of the condition code in kvm_handle_css_inst().
For the (unhandled) instructions EQBS and SQBS, we have to return
an operation exception instead of cc3. Also removed the is_ioinst()
function to avoid decoding the opcode twice.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 71ed827abd57dc7947ce3316118d0e601e70fac9
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jun 25 14:59:12 2013 +0200
s390x/ioinst: Fixed priority of operand exceptions
Operand exceptions have a lower priority than specification and address
exceptions. Thus the checks for operand exceptions must be done later.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7ae5a7c0f63cc625cf31a9c9f18cc07f4049e48f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 15:57:31 2013 +0200
s390x/ioinst: Fixed alignment check in SCHM instruction
Register 2 only has to be aligned to a 32-byte boundary, not a
full page boundary.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0056fc9e44d5b424a0f2293edacb0381234fc9c5
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 13:12:45 2013 +0200
s390x/ioinst: Throw addressing exception when memory_map failed
So far, the IO instructions were throwing specification exceptions when
there was a problem with accessing the memory. However, the better way
is to throw an addressing exception instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 61bf0dcb2efeffa62157de44606f9874a47ed7fe
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 10:13:42 2013 +0200
s390x/ioinst: Add missing alignment checks for IO instructions
The IO instructions MSCH, SSCH, STSCH, TSCH, STCRW and TPI require
that the second operand address must be aligned on a word boundary.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2e14211476d70e3877180c19d72c0d96e23bdac5
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue May 28 15:03:55 2013 +0200
s390/sclpconsole: handle char layer busy conditions
Handle busy conditions (errno=EAGAIN) in char layer by using
the new char layer in the sclp console.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit cf66ee8e207d5c1831c7d4d8c7f2544314fc676c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jul 26 20:52:05 2013 +1000
hcd-ohci: add dma error handling
Current hcd-ohci does not handle DMA errors. However they may happen
so here we introduce simple error handling.
On such errors, a typical OHCI will stop operating, signal the guest
about the error by sending "UnrecoverableError Event", set itself into
error state and set "Detected Parity Error" in its PCI config space
to signal that it got an error and so does the patch.
This also adds ohci_die() call to ohci_bus_start() to handle possible
failure of qemu_new_timer_ns().
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9f0f1a0c096f29a856f2e6903beda45b44ce9cdd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 26 17:05:06 2013 +0200
uhci: egsm fix
When the guest goes suspend the uhci controller while there are
pending resume requests on the ports go signal global resume
instantly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ed60ff024fdb0e7ca9c002af166e10683cf49805
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jul 25 13:12:35 2013 +0200
xhci: handle USB_RET_IOERROR
https://bugzilla.redhat.com/show_bug.cgi?id=980377
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 58ae52a8dc7752e3da9a905678580b4cb8181cdc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jul 22 15:34:12 2013 +0200
spice: fix display initialization
Spice has two display interface implementations: One integrated into
the qxl graphics card, and one generic which can operate with every
qemu-emulated graphics card.
The generic one is activated in case spice is used without qxl. The
logic for that only caught the "-vga qxl" case, "-device qxl-vga" goes
unnoticed. Fix that by adding a check in the spice interface
registration so we'll notice the qxl card no matter how it is created.
https://bugzilla.redhat.com/show_bug.cgi?id=981094
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dbe49aea76a7805f05b33d548b2e543b51fa8bb1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 20:30:29 2013 -0500
Update version for 1.6.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d2509b667caf482b6f827ff2645cbeb9b39ce29e
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Thu Jul 18 09:57:03 2013 -0400
seccomp: add arch_prctl() to the syscall whitelist
It appears that even a very simple /etc/qemu-ifup configuration can
require the arch_prctl() syscall, see the example below:
#!/bin/sh
/sbin/ifconfig $1 0.0.0.0 up
/usr/sbin/brctl addif <switch> $1
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Message-id: 20130718135703.8247.19213.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 94113bd8a1d9acd05a879bc309cc659ace09e287
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Mon Jul 15 15:32:01 2013 -0400
seccomp: add additional asynchronous I/O syscalls
A previous commit, "seccomp: add the asynchronous I/O syscalls to the
whitelist", added several asynchronous I/O syscalls but left out the
io_submit() and io_cancel() syscalls. This patch corrects this by
adding the two missing asynchronous I/O syscalls.
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Message-id: 20130715193201.943.4913.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95c1eb19eab9d57035e05a02f7184b63c1da9775
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 11:31:49 2013 +0100
linux-user: Return success from m68k set_thread_area syscall
The m68k set_thread_area syscall implementation failed to set the
return value. Correctly set it zero, since this syscall will always
succeed.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375093909-13653-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 978fae9f1ac47e22890a1bd9ebf5fa46fe8b6ef7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:00:32 2013 +0100
linux-user/signal.c: Avoid using uninitialized data in ARM sigreturn
Rephrase code used in ARM sigreturn functions to avoid using
uninitialized variables. This fixes one genuine problem ('frame'
would not be initialized if we took the error-exit path because
our stackpointer was misaligned) and one which is clang being
alarmist (frame_addr wouldn't be initialized, though this is
harmless since unlock_user_struct ignores its second argument
in these cases; however since we don't generally make use of
this not-really-documented effect it's better avoided).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375095632-13735-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b04636f8665a9492143529340eab4450d492d2ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:00:31 2013 +0100
linux-user/signal.c: PPC: Silence clang uninitialized-use warning
Silence a clang warning in a PPC signal return function:
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4611:9:
error: variable 'sr_addr' is used
uninitialized whenever 'if' condition is true
[-Werror,-Wsometimes-uninitialized]
if (!lock_user_struct(VERIFY_READ, sc, sc_addr, 1))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4636:28:
note: uninitialized use occurs here
unlock_user_struct(sr, sr_addr, 1);
^~~~~~~
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/qemu.h:442:27:
note: expanded from macro 'unlock_user_struct'
unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0)
^
This happens when we unlock a user struct which we never
attempted to lock. Strictly, clang is actually wrong here -- it
hasn't been able to spot that unlock_user_struct() doesn't use
its second argument if the first is NULL. However it doesn't
seem too unreasonable to demand that we pass in initialized
values to it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375095632-13735-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f6bda9cb99345158722f2e70634dda6b4d53ea67
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:39 2013 +0100
spapr: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da56ff91982f25c03c997309f3d5ed6aab1e0100
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:38 2013 +0100
target-ppc/kvm.c: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e67137c6c5823ad9488b766c79f0963f6ba70f12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:37 2013 +0100
s390x: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2440a2c3dfcb9bc463be8ff5a97382e4d2aad750
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:36 2013 +0100
block/sheepdog: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 398489018183d613306ab022653552247d93919f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:57 2013 +0200
pc: limit 64 bit hole to 2G by default
It turns out that some 32 bit windows guests crash
if 64 bit PCI hole size is >2G.
Limit it to 2G for piix and q35 by default.
User may override default 64-bit PCI hole size by
using "pci-hole64-size" property.
Examples:
-global i440FX-pcihost.pci-hole64-size=4G
-global q35-pcihost.pci-hole64-size=4G
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>,
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-8-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e8cd45c78f53501e75bd455140da63d1b7ed3685
Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Date: Mon Jul 29 16:47:56 2013 +0200
qdev: Add SIZE type to qdev properties
This patch adds a 'SIZE' type property to qdev.
Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx>
Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-7-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b887796217b7f5b754657e85760693e4ced63356
Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Date: Mon Jul 29 16:47:55 2013 +0200
qapi: make visit_type_size fallback to type_int
Currently visit_type_size checks if the visitor's type_size function
pointer is
NULL. If not, it calls it, otherwise it calls v->type_uint64(). But
neither of
these pointers are ever set. Fallback to calling v->type_int() in this
third
(default) case.
Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-6-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c52dc697259ac826d905db57e298c50306a8c600
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:54 2013 +0200
pc: add Q35 to QOM composition tree under /machine
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-5-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44fc8c5e743b84c1d29f603e4014125dcf152d26
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:53 2013 +0200
pc: replace i440fx_common_init() with i440fx_init()
It isn't used anywhere else.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-4-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1d0d4aa412eef7d98e53c313c79c359f2f65376e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:52 2013 +0200
pc: add I440FX QOM cast macro
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-3-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f5338ee30d91693f5805208e58df80f0551c3896
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Jul 29 16:47:51 2013 +0200
pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-2-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a4992d0bdeb38a57314d731d9846063b2057e6c
Merge: eddbf0a... b67964d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 14:39:49 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Replace all uses of FROM_SYSBUS() macro with QOM cast macros
i) "QOM cast cleanup for X"
Indicates a mechanical 1:1 between TYPE_* and *State.
ii) "QOM'ify X and Y"
Indicates abstract types may have been inserted or similar changes
to type hierarchy.
ii) Renames
Coding Style fixes such as CamelCase have been applied in some
cases.
* Fix for sparc floppy - cf. ii) above
* Change PCI type hierarchy to provide PCI_BRIDGE() casts
* In doing so, prepare for adopting QOM realize
# gpg: Signature made Mon 29 Jul 2013 02:15:22 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (171) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (173 commits)
sysbus: QOM parent field cleanup for SysBusDevice
spapr_pci: QOM cast cleanup
ioapic: QOM cast cleanup
kvm/ioapic: QOM cast cleanup
kvmvapic: QOM cast cleanup
mipsnet: QOM cast cleanup
opencores_eth: QOM cast cleanup
exynos4210_i2c: QOM cast cleanup
sysbus: Remove unused sysbus_new() prototype
sysbus: Drop FROM_SYSBUS()
xilinx_timer: QOM cast cleanup
tusb6010: QOM cast cleanup
slavio_timer: QOM cast cleanup
pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer
puv3_ost: QOM cast cleanup
pl031: QOM cast cleanup
pl031: Rename pl031_state to PL031State
milkymist-sysctl: QOM cast cleanup
m48t59: QOM cast cleanup for M48t59SysBusState
lm32_timer: QOM cast cleanup
...
commit b67964d70219a864ec427e727754a205475c7d6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:40:42 2013 +0200
sysbus: QOM parent field cleanup for SysBusDevice
Rename the parent field and hide it from gtk-doc.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38fb090a80bc8884ff1874b827ccc9a160102f9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:39:37 2013 +0200
spapr_pci: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f54d31575d115377ba2931abc0ff41d4a0abc5a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:31:42 2013 +0200
ioapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b311963126a18d7f4c5390c4c094a5f015f0fca6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:30:47 2013 +0200
kvm/ioapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 253eacc2fb1f592af9de64c5a9a2157fbf8ccb0d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:27:41 2013 +0200
kvmvapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a4dbb8bdebd9b013df06cbc27d641de659e92ab2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:59:07 2013 +0200
mipsnet: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4632cf2d5f77e702afda1e98df86ad7b0721ef70
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:56:28 2013 +0200
opencores_eth: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 436033290065be765363ad73f9437821e0c35084
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:50:02 2013 +0200
exynos4210_i2c: QOM cast cleanup
Fix one ->qdev access and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 339104fe3430d19bd1932077bae839cdcc9f7cd2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:45:51 2013 +0200
sysbus: Remove unused sysbus_new() prototype
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3d74d32e7285af2c7a289c02b948f8feccd95e1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:39:20 2013 +0200
sysbus: Drop FROM_SYSBUS()
As a replacement, use your own macro based on OBJECT_CHECK().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 760d1d00b8148887003b0632da82dabab57d71f5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:32:47 2013 +0200
xilinx_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 453be7a6fc21c5794e335d937c63bc9d49b1fe1a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:30:21 2013 +0200
tusb6010: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c275471eb1beb0461cfbbb5d96b9d3bcff451c77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:24:22 2013 +0200
slavio_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit feea4361b3d29cc7e7374db33df9ab18348cf230
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:20:20 2013 +0200
pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer
Introduce type constant for new abstract base type, use QOM casts and
let both non-abstract types inherit from the new base type.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c9610b825bdf73d3323dfb5aa0cb789f2c665e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:12:40 2013 +0200
puv3_ost: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3b800495ec886d45a0be7aa6eb4e1de7533968f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:10:14 2013 +0200
pl031: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b91f0dfd12dbd117235409980e77523fba5f8978
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:07:44 2013 +0200
pl031: Rename pl031_state to PL031State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b564b137b92c5356ffe3c308defa9d0d324272d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:06:42 2013 +0200
milkymist-sysctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 29d1ffc3d8ccbc72dfe1e136a69235901d328d86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:01:49 2013 +0200
m48t59: QOM cast cleanup for M48t59SysBusState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe54d857056b3cf143fe5aebcf56b7c638d62bc0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:54:54 2013 +0200
lm32_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 541ab55ff1bdc558473f0dea40deae568551bb85
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:52:32 2013 +0200
grlib_gptimer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3ddacf27057678f483bbed78db2f10419acb6501
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:49:12 2013 +0200
exynos4210_rtc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 25fce9ad7f7b77d610504e70b03e29630d66dfa9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:45:47 2013 +0200
exynos4210_pwm: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81e1010d0fbfaa5992cffa88e1797af36cc438ef
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:41:50 2013 +0200
exynos4210_mct: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5880ce52eb5560763b378dde83b2144fe41024eb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:34:22 2013 +0200
etraxfs_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3c9a8a8c8e7b045e9f1b23ff98d54d7df9a10229
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:30:31 2013 +0200
etraxfs_timer: Rename etrax_timer to ETRAXTimerState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 831aab9b0bb3953161cdbe07a5e475723874321f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:28:31 2013 +0200
cadence_ttc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e2051b42430b014ab6bdcfeabdd869b28282c3a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:20:25 2013 +0200
arm_timer: QOM cast cleanup for icp_pit_state
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c88dea5ebf248017ab3bf1fab8ee5e24f1b144d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:17:41 2013 +0200
arm_timer: QOM cast cleanup for SP804State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1024d7f0137da3683c90b1fd77ec0e47c864d897
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:15:46 2013 +0200
arm_timer: Rename sp804_state to SP804State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3efc10e17d41779bbdaf27a304c8e39f744e530f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:07:22 2013 +0200
xilinx_spi: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3d29bceec1357702b2ce0909c6eb8107b806159e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:03:29 2013 +0200
pl022: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce556e0baffce0624a64bdbe9b077d59cc5f6349
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:00:25 2013 +0200
pl022: Rename pl022_state to PL022State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88c034d5b2c406e1859c9a3746229868a20fed41
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:50:51 2013 +0200
sun4u: QOM cast cleanup for RamDevice
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13575cf6dbe88ffa9d2f03dace03aedd9e003f8d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:48:18 2013 +0200
sun4u: QOM cast cleanup for PROMState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ab6b4c661ecf3c824e08de6f5c99a855d00fa84
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:45:23 2013 +0200
sun4m: QOM cast cleanup for RamDevice
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e6f54c91758d99f476c7db01c449e01a54821e1c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:42:29 2013 +0200
sun4m: QOM cast cleanup for PROMState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3a4996524910049ac491c512858b7a38878a444
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:38:44 2013 +0200
sun4m: QOM cast cleanup for AFXState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ef9dfa4c1c97db30d83dbcc8d31c334641b5f7ca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:33:46 2013 +0200
sun4m: QOM cast cleanup for IDRegState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 630f44426825f18230072ce239a3dea72242e234
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:23:41 2013 +0200
pl181: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d998d93acbbefc3804200ab4387cb0286b07d7b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:20:09 2013 +0200
pl181: Rename pl181_state to PL181State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a239e46f792b234d77425653a8259152df5d5de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:18:50 2013 +0200
milkymist-memcard: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 880fc798fd34cea6e6647a9210dc7458c9ceedb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:03:07 2013 +0200
ppce500_spin: QOM cast cleanup
Introduce type constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8c1892cf7297ff4972a4ad6dd601921c3a01d618
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:50:29 2013 +0200
ds1225y: QOM cast cleanup for SysBusNvRamState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14134f0eb57247e3ec3b8311931a11b344096591
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:47:09 2013 +0200
ds1225y: Drop bogus qdev field from NvRamState
It is not a device, and the field is not used from code either.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 91a28042958f20eff01a4d441d7072fd1902d375
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:43:06 2013 +0200
xilinx_ethlite: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 546921eac5abd7cc6c78f1ceeda3375697ac04bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:35:15 2013 +0200
xgmac: QOM cast cleanup
Introduce type constant and use QOM casts and typedef consistently.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0618db44b9da3a2525b414a0928d2b445f897eec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:27:46 2013 +0200
stellaris_enet: Fix NetClientInfo::cleanup
Drop freeing stellaris_enet_state - that is done by QOM later on unref.
Both MemoryRegion init and savevm registration happen in SysBusDevice
initfn currently, so move them into an unrealizefn for now.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fa30abadfa2f9f3c47044f677e74988db274d0c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:23:22 2013 +0200
stellaris_enet: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 926d152e4c5b56b7a76a4bc77b9cf2987119b884
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:17:48 2013 +0200
smc91c111: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e57587f2562dd0123817cefc4e95733f9daec8e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:13:17 2013 +0200
milkymist-minimac2: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1a2aaf77499fe6ac059eeceacc8e70858f1c65d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:08:14 2013 +0200
lance: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3ff66d101be9e2f08db1b674495b489f3c969810
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:55:02 2013 +0200
lan9118: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58076497dfeff9721ec8f7476336292c8e0eb8c7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:48:42 2013 +0200
etraxfs_eth: Rename fs_eth to ETRAXFSEthState
Also add a typedef.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8784dfa4bc3cb6ee3b6115ea52a4cae2874be7f9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:44:01 2013 +0200
etraxfs_eth: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 318643beaa50f49d3bfa9e318b067784d8fb4f30
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:39:47 2013 +0200
cadence_gem: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a054e2c2ddea91c8e34fe847327c6250f6f791d6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:29:03 2013 +0200
zynq_slcr: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1a0a79f4faeac50ea490496e92d00d7260d9437
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:21:50 2013 +0200
slavio_misc: QOM cast cleanup for APCState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 95eb2084f9e59c50cb989ef0e717e0d933bd1480
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:19:11 2013 +0200
slavio_misc: QOM cast cleanup for MiscState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af89a444932111807b4a5a5a799829c98bdab560
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:16:03 2013 +0200
puv3_pm: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c0e12f5a6f6da6cc63e4d0fd309f4699300daa0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:32:18 2013 +0200
mst_fpga: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aee31f7b4b7e23cfcdab604b6edc5e7df8d5c32f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:27:57 2013 +0200
milkymist-pfpu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 829617a97cd4316872465db6b28d304e49f45f05
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:24:22 2013 +0200
milkymist-hpdmc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 816d323be3e66b82cd92657c783c0e5e7b88d6d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:59:04 2013 +0200
lm32_sys: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e1df2e91fbf89226605a9459bc86c2aa0a404e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:47:58 2013 +0200
exynos4210_pmu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 100bb15cb8e8788cca36f708c51c3d8e03041759
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:39:54 2013 +0200
eccmemctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ba4ea5bd299c03a7af87b0881ea6d445c46beddf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:34:18 2013 +0200
arm_sysctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e8982e969304995dfa39e6767b0152564a72130
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:20:52 2013 +0200
arm_l2x0: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae1953d045eb1fdfc21279284d78c7f23aba9762
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:18:35 2013 +0200
arm_l2x0: Rename l2x0_state to L2x0State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cc3e064ee948c612c38aa99a364f5af95422e5ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:46:22 2013 +0200
xilinx_intc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7abad863d7249b4b501923c3c28d952c473bf23a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:40:40 2013 +0200
slavio_intctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b09a6f7b30591a5de4c4ceb22e3063a81e7317c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:34:29 2013 +0200
realview_gic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ecdf4022ad968f4346905c269247ff3c5d2aa2d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:30:57 2013 +0200
puv3_intc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fc3266f769880d5cb8d6c7995a1a5f898986baf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:23:57 2013 +0200
pl190: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aefbc25695b00b6d6731ef0b8c53e12462bffd86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:18:42 2013 +0200
pl190: Rename pl190_state to PL190State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 47edc5a479e0927c6ce04eaf3e84db0ba7ddbb41
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:14:20 2013 +0200
omap_intc: QOM'ify omap-intc and omap2-intc
Create a new abstract base type and let omap-intc and omap2-intc inherit
from it. Introduce a type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f8a9eac51427be2e9e63fcbe9d4d174640a0b19
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:53:49 2013 +0200
lm32_pic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 730bf9323d799cc42520f4512dd76d843b26d480
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:26:18 2013 +0200
grlib_irqmp: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c5e22ae3464b52789023dbdce2f565d0f6be08e2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:19:19 2013 +0200
exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 78c6abbd834e78a658e5910244397040c10a5b90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:16:20 2013 +0200
exynos4210_gic: QOM cast cleanup for exynos4210.gic
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c03c6b9ccaa696b90a662dfcce82d84c50f832b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:11:37 2013 +0200
exynos4210_combiner: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9062143f9e71479e98a62950178e7d803f304425
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:05:58 2013 +0200
etraxfs_pic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 285b4432da565ebcca0bc5eab1783b77ef3450c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:57:48 2013 +0200
arm_gic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3e5dd364d933ccc066cbea8620bdc16525e19230
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:49:24 2013 +0200
pl050: QOM'ify pl050_keyboard and pl050_mouse
Introduce an abstract type pl050 and let pl050_keyboar and pl050_mouse
inherit from it, using different instance_init functions.
Introduce a type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e607f25a620e769cb6a231314aa13804723ab734
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:40:25 2013 +0200
pl050: Rename pl050_state to PL050State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2a052f6bf11f00b358cf4e0abdd6e2cf59648a71
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:37:02 2013 +0200
milkymist-softusb: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 93e7f5f42d0d3663acb94b24c8a9a329b5b13917
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:28:26 2013 +0200
versatile_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60ecfcb354e526c29874af17bbadaabeff47409c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:24:27 2013 +0200
omap_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cc3c3b8a2239a7a1d49a83c047ae2bc63d8a71e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:13:46 2013 +0200
bitbang_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a009de46bd50c88d18f19a1405e1348c679e08d6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:41:16 2013 +0200
gpio/zaurus: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ed09e2f4360cba2c480e64077421aa0cbc6ebc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:37:37 2013 +0200
puv3_gpio: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 692a76d1c4a32573bf3cc19110c7fa6cc8c93f60
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:31:46 2013 +0200
pl061: QOM'ify pl061 and pl061_luminary
Let pl061_luminary inherit from pl061, with differing instance_init.
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee663e96e4db735d19dc2672150b6ccc87cc29fe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:21:21 2013 +0200
pl061: Rename pl061_state to PL061State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74d1e352be53d8208996772bb51c5a965fae7d06
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:19:36 2013 +0200
omap_gpio: QOM cast cleanup for omap2_gpif_s
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d300b5f6f759f5d0a7866d3da320ebae0f0b79c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:14:40 2013 +0200
omap_gpio: QOM cast cleanup for omap_gpif_s
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 049e7d226e08bbf50c17ffdc3a6793c6e45e77f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:58:49 2013 +0200
sun4m_iommu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70cd8d4b75e91272a28a140818a52f5e32ef4375
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:55:59 2013 +0200
sparc32_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 358cd7ac59ffbb4cef126439f829443d343e2b94
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:43:17 2013 +0200
pxa2xx_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6df7cdee0b0e3667a0e7f811a9682e492f21c738
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:04:39 2013 +0200
puv3_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4f800554f2b324b3cd5ea6a0e69e9e9b409aa65b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 12:47:17 2013 +0200
pl080: QOM'ify pl080 and pl081
Let pl081 inherit from pl080 and replace triple SysBus initfn with two
instance_inits.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7ba0a62c58c3a30bc75377b1209dafc613c73be
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 12:37:06 2013 +0200
pl080: Rename pl080_state to PL080State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8df81c4b11f19eae16b88d5da3ab85704d49e6b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:48:30 2013 +0200
empty_slot: QOM cast cleanup
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 71ffe1a01faa90fa08805e8030120b3be0efda25
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:29:17 2013 +0200
pl011: QOM'ify pl011 and pl011_luminary
Let the Luminary variant inherit from the ARM one, overwriting its ID on
instance_init. Introduce type constant and use QOM casts. Replace
triplicated SysBusDevice initfn with QOM realizefn and instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ab640bfc2e0ae70ce7d11122ad30957ad53a1836
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:13:57 2013 +0200
pl011: Rename pl011_state
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 79bbe8bf3dbd701a13e2abe0ca0acdfae3e2231d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:08:14 2013 +0200
milkymist-uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85f3d3024588d27453788167566c34c3c658881d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:59:55 2013 +0200
lm32_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0b97927e34903ed280250f90deb6d3261cdc62f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:56:36 2013 +0200
lm32_juart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ee10242fd5c40ef0268147b23ba225b843e2d20
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:49:02 2013 +0200
lm32_juart: Relocate and tidy header
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d8e34815e46a45afaa2689b49d5f97b6306b7f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:43:22 2013 +0200
imx_serial: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae8e04903138a51d15faaf501ea83569cd6cffa5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:38:10 2013 +0200
grlib_apbuart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 61149ff6876dffd0de6f527424d9373e4ed2ad59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:21:05 2013 +0200
exynos4210_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81069b20549b3f465f172efb86f7f5034b89463a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:30:40 2013 +0200
escc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 534f6ff925cd7c9c8cc10094173e691938ac723f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:23:29 2013 +0200
cadence_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cfc6b24578fdd55c26ed383c910fa18c4137b159
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:37:20 2013 +0200
versatilepb: QOM cast cleanup for vpb_sic_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ca81872f741e6b93a5951d9a4f524829a911d40
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:32:06 2013 +0200
strongarm: QOM cast cleanup for StrongARMSSPState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fff3af97b9e1b1a482d8951eddac2c45ede9bf08
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:29:14 2013 +0200
strongarm: QOM cast cleanup for StrongARMUARTState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c71e67329188ee1081de53ef685e627c6e99cc87
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:26:04 2013 +0200
strongarm: QOM cast cleanup for StrongARMPPCInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f55beb8477e005f49514410cc00f6913729b01bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:23:14 2013 +0200
strongarm: QOM cast cleanup for StrongARMGPIOInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4e00210522ecbbeb81d091cfca1f2cf3f3ae00d8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:20:15 2013 +0200
strongarm: QOM cast cleanup for StrongARMRTCState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74e075f6fbb40992b698c2418aa19ad541abf71e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:17:13 2013 +0200
strongarm: QOM cast cleanup for StrongARMPICState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7df7f67ae1bf6b2c81788a58de9cdf9cf9c03bc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:13:06 2013 +0200
stellaris: QOM cast cleanup for stellaris_adc_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d94a40156b357cd519f9385ca1f57ea7850b9e18
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:08:23 2013 +0200
stellaris: QOM cast cleanup for stellaris_i2c_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8ef1d3947efd4044b6a33dcd0ccc5c857149e194
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:03:33 2013 +0200
stellaris: QOM cast cleanup for gptm_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 73e9d965dd071ecde5cb31327b58469275691667
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 08:58:32 2013 +0200
spitz: QOM cast cleanup for SpitzKeyboardState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7eb8104a9cd274a14b9a8a6caf38d0720e56cd21
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 08:54:33 2013 +0200
spitz: QOM cast cleanup for SLNANDState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6050ed5fb98822220f71d69c46870bdf1f3bc076
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 02:08:09 2013 +0200
pxa2xx_pic: QOM cast cleanup for PXA2xxPICState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 922bb317e488300c50344742cbd5e0028a8b3d77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 02:03:39 2013 +0200
pxa2xx_gpio: QOM cast cleanup for PXA2xxGPIOInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5354c21ef905ab36015900e7d27d352bca47f285
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:56:59 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxI2CState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 548c6f188ecfbb09b42a29393fc18252ab7bbf7d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:50:26 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxRTCState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 12a828041c666cf96d69cde85bd7ec03a7e8719f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:45:10 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxSSPState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3bdf5327c9b3e449a3ea212d063baa7fac576b1b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:38:59 2013 +0200
musicpal: QOM cast cleanup for musicpal_key_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7012d4b46b68dcffde1f12a5dfbce5c4c02dc3ff
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:36:24 2013 +0200
musicpal: QOM cast cleanup for musicpal_gpio_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5952b01cf82ba2385065c8fc9976b8907f215b36
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:32:00 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_flashcfg
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4adc8541d970f5a52a8cb05f893f4afeec255d5b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:27:32 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_pit_state
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7bd0fd945c3f7f1d93a226dbe89a2ccf0503a58
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:22:07 2013 +0200
musicpal: QOM cast cleanup mv88w8618_pic_state
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2cca58fdc28fb860827a9f0bae1cd736df76cfa0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:16:13 2013 +0200
musicpal: QOM cast cleanup for musicpal_lcd_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a77d90e68a6a277f53bf9051c8fbc2b0d0cff1c1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:12:52 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_eth_state
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c79fed33be49cb13c9ce01a6fc42240ee7dedc8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jul 28 07:54:55 2013 +0200
musicpal: Fix typo in name of local function
The misspelling was spotted by Andreas Färber.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 91b646264e1c1f37c9ffb3a602ad748b2a6b050c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:08:01 2013 +0200
integratorcp: QOM cast cleanup for icp_pic_state
Introduce type constant and use QOM cast.
Fix indentation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 257ec289b297586f45d5ea5ea01adf8672aa6a05
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:00:27 2013 +0200
integratorcp: QOM cast cleanup for integratorcm_state
Rename to IntegratorCMState, introduce type constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 426533faed4338f228c715fbec21a887692ad47c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 00:52:40 2013 +0200
highbank: QOM cast cleanup for HighbankRegsState
Add type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 936230a713208659c664da20287fcb5e5811743a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 00:46:43 2013 +0200
armv7m: QOM cast cleanup for BitBandState
Introduce TYPE_* constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcb34c7a61bce00136d42442c592011e56d87161
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:50:54 2013 +0200
imx_ccm: QOM cast cleanup
Introduce type constant and use QOM casts.
Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ff94a61c461111e25b67c7b9cabef035aa30225
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:31:08 2013 +0200
imx_avic: QOM cast cleanup
Introduce type constant, use QOM casts and prepare SysBus initfn for QOM
realize by resolving SysBusDevice vs. DeviceState "dev" name conflict.
Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 01774ddbcf42c9521fa66679f947eb49327b8e18
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 01:13:54 2013 +0200
tcx: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d7a11e438f78a2656000a8d549f0dea412f3dc5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 01:09:03 2013 +0200
pl110: QOM'ify pl110, pl110_versatile and pl111
Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast;
set their version index in an instance_init.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Set version PL110 explicitly, suggested by Hu Tao; fixed inheritence]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 513960eaae0f33616e2f59d3b887b4d810763866
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:57:23 2013 +0200
pl110: Rename pl110_state to PL110State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54df97bb0c625114ac8c7d8e236fbb7a2456e334
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:53:39 2013 +0200
milkymist-vgafb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 56299135f5c32a8b606e4b62af9200a3cee65985
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:48:23 2013 +0200
milkymist-tmu2: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66c2de562f504895eeb407a04dddd4c76ab70c50
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:35:51 2013 +0200
jazz_led: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0f31aa86255e97295b4d81e3d03a527974746d63
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:30:30 2013 +0200
g364fb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f27321aa3a4368c1dbdd03f7e7629572c0fe18b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:24:50 2013 +0200
exynos4210_fimd: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af073cd9de7fa120129815cf4d2ba64156571347
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:44:48 2013 +0200
onenand: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field and
prepare for QOM realize.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b354f03c5c044beeb758935890b7e48c70e2ff9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:19:32 2013 +0200
pl041: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baae672597b90e364131241ec3a03730fe774052
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 19:45:52 2013 +0200
pl041: Rename pl041_state to PL041State
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Split off renaming from QOM cast changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 922cc6010e09ed5b976b2e60228b3d6fb09aa3a5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:15:29 2013 +0200
milkymist-ac97: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e3f8599fc9b3a408fdaaa5a38d6bc328c08c4bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:10:44 2013 +0200
audio/marvell_88w8618: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f9e741903982e55c0dc138ab2e61059a4f3c9a76
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:04:31 2013 +0200
cs4231: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 24bf6c1f2a0ab42e4f183a10b9e9cfe468a840b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:37:28 2013 +0200
xilinx_uartlite: QOM cast cleanups
Introduce type constant and use QOM casts.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 144712ca149f49b24e27b537d05943ee8ac9e22b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:34:25 2013 +0200
xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b85423fe756e52b373c58c328bb59790ca081ec8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:52:26 2013 +0200
etraxfs_ser: QOM cast cleanups
Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM
casts.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcb7575068581a7589234bdd55e8d9a9351611d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:56:00 2013 +0200
pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types
Move PCIEPort's "port" property to the new type, same for "aer_log_max".
Move PCIESlot's "chassis" and "slot" properties to the new type.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5315dc78d089191e6a34a9f9f8913b7f365d504a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:21:22 2013 +0200
pci-bridge/i82801b11: Rename parent field
Rename it to avoid accidental use.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 57524e14cf12cbc148b0a268d93b3e8457a010a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:16:46 2013 +0200
pci-bridge-dev: QOM parent field cleanup
Rename it to avoid accidental use.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f055e96bd4311d287c0e03faec02a1bdbc351925
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 11 17:13:43 2013 +0200
pci-bridge: Turn PCIBridge into abstract QOM type
Introduce TYPE_PCI_BRIDGE as base type and use PCI_BRIDGE() casts.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
[AF: Updated pbm-bridge parent to TYPE_PCI_BRIDGE]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 45c0a675f9572f236b4be881576de9a626d2618f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:11:10 2013 +0200
arm11mpcore: QOM cast cleanups for mpcore_rirq_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 56fc028166d00ecc8eb61cdfbec5a0305e15d670
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:59:01 2013 +0200
arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 97da11d8571af72b714f5a45c171bed95a38368c
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:03:27 2013 +0200
cpu/a15mpcore: QOM cast cleanup
Introduce type constant and cast macro and rename A15MPPrivState::busdev
field to parent_obj to enforce its use.
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 68653fd671d3e9b167aa2423dde67dad1b217340
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:37:10 2013 +0200
timer/arm_mptimer: QOM cast cleanup
Introduce type constant and cast macro and rename
ARMMPTimerState::busdev to enforce its use.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 5126fec766a3100de896cb92db45d862bd84a969
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:07:29 2013 +0200
cpu/a9mpcore: QOM casting cleanup
Introduce type constant and cast macro and enforce its use by
renaming A9MPPrivState::busdev field to parent_obj.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit f6c11d56442fafa5357ef1f1659b9e39e7bf578d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 18:44:48 2013 +0200
ide: Introduce abstract QOM type for PCIIDEState
Needed for QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02a9594b4f0cb8a341fe91edb41c6424ad5ae4f9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:56:30 2013 +1000
ide/piix: QOM casting sweep
Use standard QOM cast macro. Remove usage of DO_UPCAST() and
direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19d46d711d93cb3a37dada945cb3410278b94bc3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 01:55:26 2013 +0200
fdc: Fix inheritence for SUNW,fdtwo
Since commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b SUNW,fdtwo's
initfn (realizefn since 940194c2369e50d91d1abf6f36d43853eea5e539)
was using SYSBUS_FDC() cast. This uses type sysbus-fdc rather than
SUNW,fdtwo.
Fix this by letting SUNW,fdtwo and sysbus-fdc both inherit from an
abstract type base-sysbus-fdc.
This allows to consolidate realizefns by using instance_init functions.
Clean up variable names and variable order while at it.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Cc: Hu Tao <hutao@xxxxxxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eddbf0ab9db8385d7cb57e23891c1d41488b303e
Merge: 4ff1fac... b0f2027...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 11:33:48 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
dataplane: refuse to start if device is already in use
dataplane: enable virtio-blk x-data-plane=on live migration
migration: fix spice migration
migration: notify migration state before starting thread
block: Repair the throttling code.
gluster: Add image resize support
Message-id: 1375112172-24863-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ff1fac4305f78d9cf987ca8abf3bda7f29c856e
Merge: 3a1da42... 9337e3b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 11:33:34 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix x86 cpu-add
* Change KVM PMU behavior for 1.6
# gpg: Signature made Mon 29 Jul 2013 10:28:18 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Eduardo Habkost (2) and Andreas Färber (1)
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Disable PMU CPUID leaf by default
target-i386: Pass X86CPU object to cpu_x86_find_by_name()
cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to
CPUState"
commit 3a1da42eb35a67d0dbc899dd571ea386fa11c4dd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:34 2013 +0200
qapi: Rename ChardevBackend member "memory" to "ringbuf"
Commit 1da48c6 called the new member "memory" after commit 3949e59
standardized "ringbuf". Rename for consistency.
However, member name "memory" is visible in QMP since 1.5. It's
undocumented just like the driver name. Keep it working anyway.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c11ed9666d69abaf217c8800f299c519b487b7d3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:33 2013 +0200
qemu-char: Register ring buffer driver with correct name "ringbuf"
The driver is new in 1.4, with the documented name "ringbuf".
However, it's actual name is the completely undocumented "memory".
Screwed up in commit 3949e59. Fix code to match documentation.
Keep the undocumented name working as an alias for compatibility.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f57378fe69836ee2585c4ca631ff50746940fa6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:32 2013 +0200
Revert "chardev: Make the name of memory device consistent"
This reverts commit 6a85e60cb994bd95d1537aafbff65816f3de4637.
Commit 51767e7 "qemu-char: Add new char backend CirMemCharDriver"
introduced a memory ring buffer character device driver named
"memory". Commit 3949e59 "qemu-char: Saner naming of memchar stuff &
doc fixes" changed the driver name to "ringbuf", along with a whole
bunch of other names, with the following rationale:
Naming is a mess. The code calls the device driver
CirMemCharDriver, the public API calls it "memory", "memchardev",
or "memchar", and the special commands are named like
"memchar-FOO". "memory" is a particularly unfortunate choice,
because there's another character device driver called
MemoryDriver. Moreover, the device's distinctive property is that
it's a ring buffer, not that's in memory.
This is what we released in 1.4.0.
Unfortunately, the rename missed a critical instance of "memory": the
actual driver name. Thus, the new device could be used only by an
entirely undocumented name. The documented name did not work.
Bummer.
Commit 6a85e60 fixes this by changing the documentation to match the
code. It also changes some, but not all related occurences of
"ringbuf" to "memory". Left alone are identifiers in C code, HMP and
QMP commands. The latter are external interface, so they can't be
changed.
The result is an inconsistent mess. Moreover, "memory" is a rotten
name. The device's distinctive property is that it's a ring buffer,
not that's in memory. User's don't care whether it's in RAM, flash,
or carved into chocolate tablets by Oompa Loompas.
Revert the commit. Next commit will fix just the bug.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1a145e154b0a227a1e192009ca30b351de0a8ef
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:42:01 2013 +0200
qapi.py: Permit comments starting anywhere on the line
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-10-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28b8bd4c759389bdc8430acfa588a23e4a9a7fb8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:42:00 2013 +0200
qapi.py: Rename expr_eval to expr in parse_schema()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f3cd2b717c949f3afb502fb4c81193eb18ce6aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:59 2013 +0200
qapi.py: Fix diagnosing non-objects at a schema's top-level
Report syntax error instead of crashing.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6974ccd542d11ae5fb1e56dd3d753f2de5cc097e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:58 2013 +0200
qapi.py: Fix schema parser to check syntax systematically
Fixes at least the following parser bugs:
* accepts any token in place of a colon
* treats comma as optional
* crashes when closing braces or brackets are missing
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9213aa5391f7c8d3766420d96888f1353af4c890
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:57 2013 +0200
qapi.py: Reject invalid characters in schema file
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2caba36cc61ee3993334bc423f0852f8006fdfcf
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:56 2013 +0200
qapi.py: Decent syntax error reporting
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c7a3f25200c8692e969f21c7f2555630ec0d0d30
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:55 2013 +0200
qapi.py: Restructure lexer and parser
The parser has a rather unorthodox structure:
Until EOF:
Read a section:
Generator function get_expr() yields one section after the
other, as a string. An unindented, non-empty line that
isn't a comment starts a new section.
Lexing:
Split section into a list of tokens (strings), with help
of generator function tokenize().
Parsing:
Parse the first expression from the list of tokens, with
parse(), throw away any remaining tokens.
In parse_schema(): record value of an enum, union or
struct key (if any) in the appropriate global table,
append expression to the list of expressions.
Return list of expressions.
Known issues:
(1) Indentation is significant, unlike in real JSON.
(2) Neither lexer nor parser have any idea of source positions. Error
reporting is hard, let's go shopping.
(3) The one error we bother to detect, we "report" via raise.
(4) The lexer silently ignores invalid characters.
(5) If everything in a section gets ignored, the parser crashes.
(6) The lexer treats a string containing a structural character exactly
like the structural character.
(7) Tokens trailing the first expression in a section are silently
ignored.
(8) The parser accepts any token in place of a colon.
(9) The parser treats comma as optional.
(10) parse() crashes on unexpected EOF.
(11) parse_schema() crashes when a section's expression isn't a JSON
object.
Replace this piece of original art by a thoroughly unoriginal design.
Takes care of (1), (2), (5), (6) and (7), and lays the groundwork for
addressing the others. Generated source files remain unchanged.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f193e34c6c41abdd06c134e584312077def2bda
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:54 2013 +0200
tests: Use qapi-schema-test.json as schema parser test
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98626572f18ddc61c08588c32a1773bc91f8624e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:53 2013 +0200
tests: QAPI schema parser tests
The parser handles erroneous input badly. To be improved shortly.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1374939721-7876-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55d5d04884305e17b24f378a9ec616bf7354c1ca
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jul 28 14:57:22 2013 +0200
memory: add tracepoints for MMIO reads/writes
This is quite handy to debug softmmu targets.
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1375016242-32651-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8cdd2e0abbf593a38a146d8dfc998754cefbc27a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:22:11 2013 +0100
tpm.c: Don't try to put -1 in a variable of type TpmModel
The TpmModel type is an enum (valid values 0 and 1), which means
the compiler can legitimately decide that comparisons like
'tpm_models[i] == -1' are never true. (For example it could
pick 'unsigned char' as its type for representing the enum.)
Avoid this issue by using TPM_MODEL_MAX to mark entries in
the tpm_models[] array which aren't filled in, instead of -1.
This silences a clang warning:
tpm.c:43:27: error: comparison of constant -1 with expression of type
'enum TpmModel' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
if (tpm_models[i] == -1) {
~~~~~~~~~~~~~ ^ ~~
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375096931-13842-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 125ee0ed9cad04307498ac2b7b0d51ad8a807360
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:45 2013 +0300
devices: Associate devices to their logical category
The category will be used to sort the devices displayed in
the command line help.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-4-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:44 2013 +0300
qemu-help: Sort devices by logical functionality
Categorize devices that appear as output to "-device ?" command
by logical functionality. Sort the devices by logical categories
before showing them to user.
The sort is done by functionality rather than alphabetical.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-3-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 949fc82314cc84162e64a5323764527a542421ce
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:43 2013 +0300
hw: import bitmap operations in qdev-core header
Made small tweaks in code to prevent compilation issues
when importing qemu/bitmap.h in qdev-core
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-2-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbd94f8e4a0a3c4164af7be5bbf6d4e907f3cc03
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 29 14:48:39 2013 +1000
spapr-vscsi: fix SOLNT bit in SRP_RSP
The driver calculates SOLNT bit from UCSOLNT and SCSOLNT bits from
the request. The iu pointer has a type of srp_iu* which points to a union,
so cmd and rsp overlap. As the vscsi_send_rsp function calls
memset(iu, 0, sizeof(rsp)), it clears first 36 bytes of both cmd and rsp
so cmd.sol_not is always zero at the moment of calculating rsp.sol_not.
This fixes the bug.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1375073319-17488-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c04d6cfa3f17a335942f430a3d40e6041100f0c2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 14:33:04 2013 -0500
xics: rename types to be sane and follow coding style
Basically, in HW the layout of the interrupt network is:
- One ICP per processor thread (the "presenter"). This contains the
registers to fetch a pending interrupt (ack), EOI, and control the
processor priority.
- One ICS per logical source of interrupts (ie, one per PCI host
bridge, and a few others here or there). This contains the
per-interrupt
source configuration (target processor(s), priority, mask) and the
per-interrupt internal state.
Under PAPR, there is a single "virtual" ICS ... somewhat (it's a bit
oddball what pHyp does here, arguably there are two but we can ignore
that distinction). There is no register level access. A pair of
firmware
(RTAS) calls is used to configure each virtual interrupt.
So our model here is somewhat the same. We have one ICS in the
emulated
XICS which arguably *is* the emulated XICS, there's no point making
it a
separate "device", that would just be gross, and each VCPU has an
associated ICP.
Yet we call the "XICS" struct icp_state and then the ICPs
'struct icp_server_state'. It's particularly confusing when all of the
functions have xics_prefixes yet take *icp arguments.
Rename:
struct icp_state -> XICSState
struct icp_server_state -> ICPState
struct ics_state -> ICSState
struct ics_irq_state -> ICSIRQState
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-12-git-send-email-aliguori@xxxxxxxxxx
[aik: added ics_resend() on post_load]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e68cb8b4fa7e20e666a3bfc571a0e075733d22bd
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:33:03 2013 -0500
pseries: savevm support with KVM
At present, the savevm / migration support for the pseries machine will
not
work when KVM is enabled. That's because KVM manages the guest's hash
page
table in the host kernel, so qemu has no visibility of it. This patch
fixes this by using new kernel interfaces to extract and reinsert the
guest's hash table during the migration process.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Message-id: 1374175984-8930-11-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1112cf94c82dfc743b62b5bcb96dd20f47b683a8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:02 2013 -0500
pseries: savevm support for PCI host bridge
This adds the necessary support for saving the state of the PAPR virtual
PCI host bridge (or host bridges).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-10-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4be21d561d59da9d6f20f872882652bc3561f871
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:01 2013 -0500
pseries: savevm support for pseries machine
This adds the necessary pieces to implement savevm / migration for the
pseries machine. The most complex part here is migrating the hash
table - for the paravirtualized pseries machine the guest's hash page
table is not stored within guest memory, but externally and the guest
accesses it via hypercalls.
This patch uses a hypervisor reserved bit of the HPTE as a dirty bit
(tracking changes to the HPTE itself, not the page it references).
This is used to implement a live migration style incremental save and
restore of the hash table contents.
Normally a hash table is 16MB but it can get bigger depending on how
much RAM the guest has. Due to its nature, updates to it are random so
the live migration style is used for it.
In addition it adds VMStateDescription information to save and restore
the (few) remaining pieces of state information needed by the pseries
machine.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-9-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1168ec7da182d417125d9dea46908c0cfa2c40b7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:00 2013 -0500
pseries: savevm support for PAPR virtual SCSI
This patch adds the necessary support for saving the state of the PAPR VIO
virtual SCSI device. This also saves and restores active SCSI requests.
[aik: implemented vscsi_req save/restore]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-8-git-send-email-aliguori@xxxxxxxxxx
Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ca8a17c9a16eb3b2fedb3c74687c429e9cfc6aa
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:32:59 2013 -0500
pseries: rework PAPR virtual SCSI
The patch reimplements handling of indirect requests in order to
simplify upcoming live migration support.
- all pointers (except SCSIRequest*) were replaces with integer
indexes and offsets;
- DMA'ed srp_direct_buf kept untouched (ie. BE format);
- vscsi_fetch_desc() is added, now it is the only place where
descriptors are fetched and byteswapped;
- vscsi_req struct fields converted to migration-friendly types;
- many dprintf()'s fixed.
This also removed an unused field 'lun' from the spapr_vscsi device
which is assigned, but never used. So, remove it.
[David Gibson: removed unused 'lun']
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-7-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a83000f5e3fac30a7f213af1ba6a8f827622854d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 14:32:58 2013 -0500
spapr-tce: make sPAPRTCETable a proper device
Model TCE tables as a device that's hooked up as a child object to
the owner. Besides the code cleanup, we get a few nice benefits:
1) free actually works now (it was dead code before)
2) the TCE information is visible in the device tree
3) we can expose table information as properties such that if we
change the window_size, we can use globals to keep migration
working.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-6-git-send-email-aliguori@xxxxxxxxxx
[dwg: pseries: savevm support for PAPR TCE tables]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[alexey: ppc kvm: fix to compile]
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db1b58e937fd80513a4bb14432808495a5846ffe
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:57 2013 -0500
pseries: savevm support for PAPR VIO logical tty
This patch adds the necessary VMStateDescription information to support
savevm/loadvm for the spapr_tty (PAPR logical serial) device.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-5-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 686fefe48375c448bc2141973008818cd9b9c671
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:56 2013 -0500
pseries: savevm support for PAPR VIO logical lan
This patch adds the necessary VMStateDescription information to support
savevm/loadvm for the spapr_llan (PAPR logical lan) device.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-4-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b368a7d864d6f32caba4ac9fb3b9738d1180315d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:55 2013 -0500
pseries: savevm support for VIO devices
This patch adds helpers to allow PAPR VIO devices to save state common
to all VIO devices during savevm.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-3-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a90db1584a00dc1d1439dc7729d99674b666b85e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:32:54 2013 -0500
target-ppc: Convert ppc cpu savevm to VMStateDescription
The savevm code for the powerpc cpu emulation is currently based around
the old register_savevm() rather than register_vmstate() method. It's
also
rather broken, missing some important state on some CPU models.
This patch completely rewrites the savevm for target-ppc, using the new
VMStateDescription approach. Exactly what needs to be saved in what
configurations has been more carefully examined, too. This introduces a
new version (5) of the cpu save format. The old load function is retained
to support version 4 images.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-2-git-send-email-aliguori@xxxxxxxxxx
[aik: ppc cpu savevm convertion fixed to use PowerPCCPU instead of
CPUPPCState]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0f2027cde31c645524256763672e09eeb204a9a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:02:00 2013 +0200
dataplane: refuse to start if device is already in use
Dataplane must check whether a block device is in use before launching
the dataplane thread. This is necessary since the thread does not
synchronize with the main loop and I/O requests could cause corruption.
One example is when a drive is added and a block job is started before
hotplugging the virtio-blk-pci adapter. In this case we must not use
dataplane mode.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84db52d059f3296abf7783968645c4a96d21b099
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:59 2013 +0200
dataplane: enable virtio-blk x-data-plane=on live migration
Although the dataplane thread does not cooperate with dirty memory
logging yet it's fairly easy to temporarily disable dataplane during
live migration. This way virtio-blk can live migrate when
x-data-plane=on.
The dataplane thread will restart after migration is cancelled or if the
guest resuming virtio-blk operation after migration completes.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02edd2e7665bceb307bedd8afe625c0f7e8d7cfa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:58 2013 +0200
migration: fix spice migration
Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce
MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the
state transitions during migration setup.
Spice used to be notified with MIG_STATE_ACTIVE and it detected this
using migration_is_active(). Spice is now notified with
MIG_STATE_SETUP and migration_is_active() no longer works.
Replace migration_is_active() with migration_in_setup() to fix spice
migration.
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9287ac271d83166f99e050a0e0a4ebd462f7eb2b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:57 2013 +0200
migration: notify migration state before starting thread
The migration thread runs outside the QEMU global mutex when possible.
Therefore we must notify migration state change *before* starting the
migration thread.
This allows registered listeners to act before live migration iterations
begin. Therefore they can get into a state that allows for live
migration. When the migration thread starts everything will be ready.
Without this patch there is a race condition during migration setup,
depending on whether the migration thread has already transitioned from
SETUP to ACTIVE state.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b681a1c73e15e08c70c10cccd9c9f5b65cca12e8
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Jul 26 22:39:22 2013 +0200
block: Repair the throttling code.
The throttling code was segfaulting since commit
02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next
caller
does not run in a coroutine.
qemu_co_queue_do_restart assume that the caller is a coroutinne.
As suggested by Stefan fix this by entering the coroutine directly.
Also make sure like suggested that qemu_co_queue_next() and
qemu_co_queue_restart_all() can be called only in coroutines.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 42ec24e2851674e0899f71933e0d7d9125f31d76
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jul 19 19:51:33 2013 +0530
gluster: Add image resize support
Implement .bdrv_truncate in GlusterFS block driver so that GlusterFS
backend
can support image resizing.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Tested-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 908c67fca4b2c12a9b2336aa9c188f84468b60b7
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Jul 21 12:55:46 2013 +0400
target-xtensa: check register window inline
This lowers time spent in helper_window_check as reported by perf top
from ~8% to ~0.15% accelerating register-intensive tests by ~20%.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 0857a06ef784783887e756d4b7b5f874512c506c
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Jul 21 07:54:37 2013 +0400
target-xtensa: don't generate dead code to access invalid SRs
This fixes the following test failure caused by access to undefined SR:
qemu-system-xtensa -M sim -cpu dc232b -nographic -semihosting
-kernel ./test_sr.tst
QEMU 1.4.50 monitor - type 'help' for more information
(qemu) QEMU 1.4.50 monitor - type 'help' for more information
(qemu) qemu-system-xtensa: tcg/tcg.c:1673: temp_save: Assertion
`s->temps[temp].val_type == 2 || s->temps[temp].fixed_reg' failed.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit aaa2ebc567619474d219017785b46ddc9295fffa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 6 20:41:37 2013 +0200
tests/tcg/xtensa: Fix out-of-tree build
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit a00817cc4c18b7872e92765a4736fb2227cc237b
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Mar 4 07:02:00 2013 +0400
target-xtensa: avoid double-stopping at breakpoints
env->exception_taken is set every time an exception is taken. It is used
to allow single-stepping to stop at the first exception handler
instruction. This however must exclude debug exceptions, as otherwise
first step from the instruction where breakpoint was hit stops at that
same instruction.
Also don't check env->exception_taken directly from the
gen_intermediate_code_internal, instead allocate and use TB flag
XTENSA_TBFLAG_EXCEPTION.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 5739006b9ab1ae3680359db5a291eae97eef0f9f
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Jan 21 18:40:04 2013 +0400
target-xtensa: add fallthrough markers
Explicitly mark cases where we are deliberately falling through to the
following code.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 7be9d0e6d15c2f4b1a06912128c17b4eb1f32705
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Dec 17 00:32:27 2012 +0400
target-xtensa: add extui unit test
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 9337e3b6e1d779215423d9b419d42200506deaab
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jul 26 17:09:36 2013 -0300
target-i386: Disable PMU CPUID leaf by default
Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID
for CPUID leaf 0xA and passes them directly to the guest. This makes
the guest ABI depend on host kernel and host CPU capabilities, and
breaks live migration if we migrate between hosts with different
capabilities (e.g., different number of PMU counters).
Add a "pmu" property to X86CPU, and set it to true only on "-cpu host",
or on pc-*-1.5 and older machine-types.
For now, setting pmu=on will enable the current passthrough mode that
doesn't have any ABI stability guarantees, but in the future we may
implement a mode where the PMU CPUID bits are stable and configurable.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c139911261c5acc9dae56b1180db320ba25636bd
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jul 26 17:09:35 2013 -0300
target-i386: Pass X86CPU object to cpu_x86_find_by_name()
This will help us change the initialization code to not require carrying
some intermediate values in a x86_def_t struct (and eventually kill the
x86_def_t struct entirely).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14a10fc39923b3af07c8c46d22cb20843bee3a72
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 02:53:25 2013 +0200
cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState"
Commit c643bed99 moved qemu_init_vcpu() calls to common CPUState code.
This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed".
The reason for the failure is that CPUClass::kvm_fd is not yet
initialized in the following call graph:
->x86_cpu_realizefn
->x86_cpu_apic_realize
->qdev_init
->device_set_realized
->device_reset (hotplugged == 1)
->apic_reset_common
->vapic_base_update
->kvm_apic_vapic_base_update
This causes attempted KVM vCPU ioctls to fail.
By contrast, in the non-hotplug case the APIC is reset much later, when
the vCPU is already initialized.
As a quick and safe solution, move the qemu_init_vcpu() call back into
the targets' realize functions.
Reported-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Acked-by: Igor Mammedov <imammedo@xxxxxxxxxx> (for i386)
Tested-by: Jia Liu <proljc@xxxxxxxxx> (for openrisc)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fdc43322c978d78e79e692872dcec7b4f6a447f1
Merge: b0a71c3... 8fbab3b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:31 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-130729' into staging
# By Paul Durrant (1) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-130729:
Xen PV Device
xen_disk: support "direct-io-safe" backend option
Message-id:
1375096790-12815-1-git-send-email-stefano.stabellini@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0a71c3b397b12db727ce483f01b3336160ef6a1
Merge: f60a0d6... 867b18d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:21 2013 -0500
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Alexander Graf (1) and others
# Via Alexander Graf
* agraf/s390-for-upstream:
s390: update s390-ccw.img
s390/ipl: Fix boot order
s390/IPL: Allow boot from other ssid than 0
Message-id: 1375092324-23943-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f60a0d6ab9ea9ba900ba3936c3471851f28f7bc4
Merge: 200a063... f53ec69...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:06 2013 -0500
Merge remote-tracking branch 'sweil/w32' into staging
# By Stefan Weil (10) and others
# Via Aurelien Jarno (1) and Stefan Weil (1)
* sweil/w32: (27 commits)
w32, w64: Add build rule for installer
target-mips: fix mipsdsp_mul_q31_q31
mips_malta: fix copy of the 0x1fc00000 region
linux-user: correct argument number for sys_mremap and sys_splice
target-mips: Remove assignment to a variable which is never used
target-mips: fix mipsdsp_trunc16_sat16_round
hw/mips: align initrd to 64KB to avoid kernel error
pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads
mips_malta: generate SMBUS EEPROM data
mips_malta: cap BIOS endian swap length at 0x3e0000 bytes
mips_malta: generate SPD EEPROM data at runtime
mips_malta: correct reading MIPS revision at 0x1fc00010
mips_malta: fix BIOS endianness swapping
mips_malta: QOM cast cleanup
target-mips: fix branch in likely delay slot tcg assert
target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15
target-mips: Remove assignment to a variable which is never used
misc: Use g_assert_not_reached for code which is expected to be
unreachable
qemu-options: mention C-a h in the -nographic doc
misc: Fix new typos in comments and strings
...
Message-id: 1374989579-24933-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fbab3b62a271526c782110aed0ae160eb38c296
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Mon Jul 29 10:58:01 2013 +0000
Xen PV Device
Introduces a new Xen PV PCI device which will act as a binding point for
PV drivers for Xen.
The device has parameterized vendor-id, device-id and revision to allow to
be configured as a binding point for any vendor's PV drivers.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 454ae734f1d9f591345fa78376435a8e74bb4edd
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jul 29 10:56:38 2013 +0000
xen_disk: support "direct-io-safe" backend option
Support backend option "direct-io-safe". This is documented as
follows in the Xen backend specification:
* direct-io-safe
* Values: 0/1 (boolean)
* Default Value: 0
*
* The underlying storage is not affected by the direct IO memory
* lifetime bug. See:
*
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
*
* Therefore this option gives the backend permission to use
* O_DIRECT, notwithstanding that bug.
*
* That is, if this option is enabled, use of O_DIRECT is safe,
* in circumstances where we would normally have avoided it as a
* workaround for that bug. This option is not relevant for all
* backends, and even not necessarily supported for those for
* which it is relevant. A backend which knows that it is not
* affected by the bug can ignore this option.
*
* This option doesn't require a backend to use O_DIRECT, so it
* should not be used to try to control the caching behaviour.
Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the
default flags passed to the qemu block layer.
The original proposal for a "cache" backend option has been dropped
because it was believed too wide, especially considering that at the
moment the backend doesn't have a way to tell the toolstack that it is
capable of supporting it.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
commit 867b18db2155c0c99ab767c4ac563e144c85871d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jun 24 14:56:51 2013 +0200
s390: update s390-ccw.img
This enables the following patches:
s390/IPL: Allow boot from other ssid than 0
s390/ipl: Fix spurious errors in virtio
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5c8ded6ef55761e80353f42d8e59c6e233a2f51a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Jun 18 14:31:52 2013 +0200
s390/ipl: Fix boot order
The latest ipl code adaptions collided with some of the virtio
refactoring rework. This resulted in always booting the first
disk. Let's fix booting from a given ID.
The new code also checks for command lines without bootindex to
avoid random behaviour when accessing dev_st (==0).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c8cda8748eceeeb06f1952e7e765a0919103644d
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 17 14:29:42 2013 +0200
s390/IPL: Allow boot from other ssid than 0
We now take the subchannel set id also into account to find the boot
device.
If we want to use a subchannel set other than the default set 0, we first
need to enable the mss facility.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f53ec6999287bfdc4f0dfdb6427baa1853f8952a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jul 15 23:49:57 2013 +0200
w32, w64: Add build rule for installer
The new rules in Makefile allow building installers for QEMU on Windows
using NSIS, a package which is also available for Linux distributions
(so cross builds are possible).
The rules for NSIS are in qemu.nsi which also uses two new images.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 461bdb3414c40d6806194bf68c91521496b1042d
Merge: b6a9f46... 6c86f40...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Jul 29 09:03:23 2013 +0200
Merge branch 'trivial-patches' of git://git.corpit.ru/qemu
* 'trivial-patches' of git://git.corpit.ru/qemu:
target-mips: Remove assignment to a variable which is never used
misc: Use g_assert_not_reached for code which is expected to be
unreachable
qemu-options: mention C-a h in the -nographic doc
misc: Fix new typos in comments and strings
linux-user: correct argument number for sys_mremap and sys_splice
PPC: dbdma: macio: Fix format specifiers (build regression)
watchdog: Remove break after exit
exec: Remove env from list of poisoned names
hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
timer: make timers_state static
aes: Remove unused code (NDEBUG, u16)
commit b6a9f4682e62c686995cc1a1fe2ef4a57a92020b
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 29 04:06:12 2013 +0200
target-mips: fix mipsdsp_mul_q31_q31
Multiplication of two fractional word elements is not correct when sign
extension/promotion is needed. This change fixes it by adding correct
casts from unsigned to signed values.
In addition, the tests (dpaq_sa_l_w.c and dpsq_sa_l_w.c) have been
extended
to trigger the current issue.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f05d4d94d6bb0e240e6cfda65972fd86601f9f0d
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Jul 29 07:00:29 2013 +0200
mips_malta: fix copy of the 0x1fc00000 region
Copy the whole 0x1fe000000 region into 0x1fc00000, independently of the
loaded BIOS size. This fix the MIPS make check tests.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b0932e0617c65ae1cb0362416ec0ef32766abf5d
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Jul 23 19:00:10 2013 +0200
linux-user: correct argument number for sys_mremap and sys_splice
sys_mremap missed 5th argument (new_address), which caused examples that
remap to a specific address to fail.
sys_splice missed 5th and 6th argument which caused different examples to
fail.
This change has an effect on MIPS target only.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2e46d59cac7d8259bf80abcddfebde87014d610
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 22:10:31 2013 +0200
target-mips: Remove assignment to a variable which is never used
This assignment causes a compiler warning for compilations with the
compiler
option -Wunused-but-set-variable (which is included with -Wextra).
Removing it allows using -Wextra for QEMU code without suppressing too
many
extra warnings.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d36c231f4b7386bd8230aa17d362b925aa419b2f
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 1 01:54:47 2013 +0200
target-mips: fix mipsdsp_trunc16_sat16_round
This change corrects rounding and saturation of Q31 fractional value in
mipsdsp_trunc16_sat16_round(). Overflow detection was incorrect for the
corner case for PRECRQ_RS.PH, and this test case is also part of the
change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 05b3274b6bedb68ff78b76c642e17e97f3181c2f
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 27 08:35:27 2013 +0100
hw/mips: align initrd to 64KB to avoid kernel error
The Linux kernel can be configured to use 64KB pages, but it also
requires initrd to be page aligned. Therefore, to be safe, align the
initrd to 64KB using a new INITRD_PAGE_MASK rather than
TARGET_PAGE_MASK.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ea0a4f34418c9f2cad9722bb27acd6349148fac0
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:48 2013 +0100
pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads
The firmware commonly used with MIPS Malta boards (YAMON) reads the
status of the pflash with a 32bit memory access. On real hardware
this results in the status byte being mirrored in the upper 16 bits
of the read value. For example if the status byte is represented by
SS then the hardware reads 0x00SS00SS. The YAMON firmware compares the
status against 32bit values expecting the mirrored value and fails
without it.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 35c648078aa493c3b976840eb7cf2e53ab5b7a2d
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:47 2013 +0100
mips_malta: generate SMBUS EEPROM data
The malta contains 2 EEPROMs, one containing SPD data for the SDRAM and
another containing board information such as serial number and MAC
address. These are both exposed via the PIIX4 SMBUS. Generating this
data and providing it to smbus_eeprom_init will allow YAMON to read a
serial number for the board and prevent it from warning that the EEPROM
data is invalid.
We already have the contents of the SPD EEPROM which are exposed via
FPGA I2C accesses, this is provided as part of the SMBUS EEPROM data
too for consistency.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 1817f56a834f55311af20d1c004b259c16fb1515
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:46 2013 +0100
mips_malta: cap BIOS endian swap length at 0x3e0000 bytes
This preserves the final sector of the pflash which is used by YAMON to
hold environment variables. If the endianness of the environment data
is swapped then YAMON will fail to load environment variables from
pflash.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 02bccc7796fec8b39dca9affc8bff8edebe0a867
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:45 2013 +0100
mips_malta: generate SPD EEPROM data at runtime
The SPD EEPROM specifies the amount of memory present in the system and
thus its correct contents can only be known at runtime. Calculating
parts of the data on init allows the data to accurately reflect the
amount of target memory present and allow YAMON to boot with an
arbitrary amount of SDRAM.
Where possible the SPD data will favor indicating 2 banks of SDRAM
rather than 1. For example the default 128MB of target memory will be
represented as 2x64MB banks rather than 1x128MB bank. This allows
versions of MIPS BIOS code (such as YAMON 2.22 and older) to boot
despite a bug preventing them from handling a single bank of SDRAM with
the Galileo GT64120 system controller emulated by QEMU.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a427338b222b43197c2776cbc996936df0302f51
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:44 2013 +0100
mips_malta: correct reading MIPS revision at 0x1fc00010
Rather than modifying the BIOS code at its original location, copy it
for the 0x1fc00000 region & modify the copy. This means the original
ROM code is correctly readable at 0x1e000010 whilst the MIPS revision
is readable at 0x1fc00010.
Additionally the code previously operated on target memory which would
later be overwritten by the BIOS image upon CPU reset if the -bios
argument was used to specify the BIOS image. This led to the written
MIPS revision being lost. Copying using rom_copy when -bios is used
fixes this issue.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a2b8813d62fa5a35adc1a7bf58de5b2ffb754f5d
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:43 2013 +0100
mips_malta: fix BIOS endianness swapping
If the target is little endian (mipsel) then the BIOS image endianness
is swapped so that the big endian BIOS binaries commonly produced can be
loaded correctly.
When using the -bios argument the BIOS is loaded using
load_image_targphys, however this doesn't perform the load to target
memory immediately. Instead it loads the BIOS file into a struct Rom
which will later be written to target memory upon reset. However the
endianness conversion was being performed before this, on init, and
operating on the target memory which at this point is blank & will later
be overwritten by the (big endian) BIOS image. Correct this by operating
on the data referenced by struct Rom rather than the target memory when
the -bios argument is used.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit cba5cb67becd66f8eae4177c4f95756f3f9bb77a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 22:19:54 2013 +0200
mips_malta: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 240ce26a0533a6e5ee472789fbfbd9f7f939197e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Jun 24 17:45:39 2013 +0100
target-mips: fix branch in likely delay slot tcg assert
When a branch delay slot contains another branch instruction, the code
generated raises an exception, however since is_branch==1,
handle_delay_slot() doesn't get called immediately. This means
ctx->bstate isn't set to BS_BRANCH, and the decoder continues decoding
until a non-branch instruction is found.
If the first branch was a branch likely instruction then each
instruction after it generates code for the unlikely case, to go to the
next tb starting after the delay slot. This results in multiple goto_tb
tcg ops being generated with the same exit number. When debug is enabled
this hits:
tcg-op.h:2589: tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask &
(1 << idx)) == 0' failed.
This is fixed by removing is_branch entirely, and calling
handle_delay_slot() if (ctx.hflags & MIPS_HFLAG_BMASK) was set prior to
the current instruction being decoded. This still prevents
handle_delay_slot() being called immediately after a branch but allows
it to still be called after a branch within a delay slot.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 4877866ee4fbd760c943577bb6d1eba489fb6c6e
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu May 23 19:37:53 2013 +0200
target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15
Multiplication of Q15 fractional halfword vectors was incorrect in the
previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take
element signs into account. This change fixes it, and it adds a test case
for it.
The change also removes unnecessary cast in the function
mipsdsp_mul_q15_q15_overflowflag21().
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6c86f405efd6532b58ad1b607cc9f11e856ef5ca
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 22:10:31 2013 +0200
target-mips: Remove assignment to a variable which is never used
This assignment causes a compiler warning for compilations with the
compiler
option -Wunused-but-set-variable (which is included with -Wextra).
Removing it allows using -Wextra for QEMU code without suppressing too
many
extra warnings.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dfc6f86567c58bc4dd02f4db098fc4c2221e85b5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 18:21:28 2013 +0200
misc: Use g_assert_not_reached for code which is expected to be
unreachable
The macro g_assert_not_reached is a better self documenting replacement
for assert(0) or assert(false).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b031f413b9e68899032f04fc05fd0a6b62039b2b
Author: Ramkumar Ramachandra <artagnon@xxxxxxxxx>
Date: Sat Jul 20 16:53:09 2013 +0530
qemu-options: mention C-a h in the -nographic doc
Otherwise, a new user will be wondering how to switch between the
console and monitor.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 52f350227f737b649f09e56ed32eaf1265605611
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jul 24 19:48:56 2013 +0200
misc: Fix new typos in comments and strings
All these typos were found by codespell.
sould -> should
emperical -> empirical
intialization -> initialization
successfuly -> successfully
gaurantee -> guarantee
Fix also another error (before before) in the same context.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6064be7912ab262f0abd85ad042fafd435ad6651
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Jul 23 19:00:10 2013 +0200
linux-user: correct argument number for sys_mremap and sys_splice
sys_mremap missed 5th argument (new_address), which caused examples that
remap to a specific address to fail.
sys_splice missed 5th and 6th argument which caused different examples to
fail.
This change has an effect on MIPS target only.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 04dd125942b11136a8c96d36591ad043b8653a7b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 12 18:48:39 2013 +0200
PPC: dbdma: macio: Fix format specifiers (build regression)
Fix a number of warnings for 32 bit builds (tested on MingW and Linux):
CC hw/ide/macio.o
qemu/hw/ide/macio.c: In function 'pmac_ide_atapi_transfer_cb':
qemu/hw/ide/macio.c:134:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
qemu/hw/ide/macio.c: In function 'pmac_ide_transfer_cb':
qemu/hw/ide/macio.c:215:5: error: format '%ld' expects argument of type
'long int', but argument 5 has type 'int64_t' [-Werror=format]
qemu/hw/ide/macio.c:222:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
qemu/hw/ide/macio.c:264:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
cc1: all warnings being treated as errors
make: *** [hw/ide/macio.o] Error 1
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f6019e5fada012f7f396c89968f2c242f92f40df
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jul 23 06:46:49 2013 +0200
watchdog: Remove break after exit
This was dead code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0dd60ae2f4efd2966e8d6cb7db653d5d17a68c62
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jul 21 16:43:14 2013 +0200
exec: Remove env from list of poisoned names
The global variable env was removed some time ago, so this name may be
used without any restriction now.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 80cba1b71eb9a75404d1effddec8ffa9f0d6d6fb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 12:14:36 2013 +0200
hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
The leak was reported by cppcheck.
Function proxy_init also calls g_free for ctx->fs_root.
Avoid reuse of this memory by setting ctx->fs_root to NULL.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9cd4007d5c7e877a006392eeafb2291f06d6685
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Jul 21 08:43:00 2013 +0000
timer: make timers_state static
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9220eeed62e06e115c83e6ffed24907c24c99197
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jun 29 15:10:48 2013 +0000
aes: Remove unused code (NDEBUG, u16)
The current code includes assert.h very early (from qemu-common.h),
so the definition of NDEBUG was without any effect.
In the initial version from 2004, NDEBUG was used to disable the
assertions.
Those assertions are not in time critical code, so it is no longer
reasonable to disable them and the definition of NDEBUG can be removed.
Type u16 is also unused and therefore does not need a type definition.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 200a06397f5d3e982028fd78b25b420507ade021
Merge: b96919e... 5b24c64...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 17:53:19 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix cpu_memory_rw_debug() breakage in s390x KVM
* Replace final CPUArchState in sysemu/kvm.h
* Introduce model subclasses for XtensaCPU
* Introduce CPUClass::gdb_num[_core]_regs
* Introduce CPUClass::gdb_core_xml_file
* Introduce CPUClass::gdb_{read,write}_register()
* Propagate CPUState further in gdbstub
# gpg: Signature made Fri 26 Jul 2013 05:04:28 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (23) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (25 commits)
cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML
target-cris: Factor out CPUClass::gdb_read_register() hook for v10
cpu: Introduce CPUClass::gdb_{read,write}_register()
gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions
target-xtensa: Move cpu_gdb_{read,write}_register()
target-lm32: Move cpu_gdb_{read,write}_register()
target-s390x: Move cpu_gdb_{read,write}_register()
target-alpha: Move cpu_gdb_{read,write}_register()
target-cris: Move cpu_gdb_{read,write}_register()
target-microblaze: Move cpu_gdb_{read,write}_register()
target-sh4: Move cpu_gdb_{read,write}_register()
target-openrisc: Move cpu_gdb_{read,write}_register()
target-mips: Move cpu_gdb_{read,write}_register()
target-m68k: Move cpu_gdb_{read,write}_register()
target-arm: Move cpu_gdb_{read,write}_register()
target-sparc: Move cpu_gdb_{read,write}_register()
target-ppc: Move cpu_gdb_{read,write}_register()
target-i386: Move cpu_gdb_{read,write}_register()
cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs
gdbstub: Drop dead code in cpu_gdb_{read,write}_register()
...
commit 5b24c64188b8253e2f004191c7e8d4a799f90eaa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 15:08:22 2013 +0200
cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML
Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field.
Use first_cpu for qSupported and qXfer:features:read: for now.
Add a stub for xml_builtin.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90431220be42d773084d88635961a45febb01c5d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 14:39:41 2013 +0200
target-cris: Factor out CPUClass::gdb_read_register() hook for v10
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b50e790f9e9403d11b4164193b76530ee85a2a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 04:18:45 2013 +0200
cpu: Introduce CPUClass::gdb_{read,write}_register()
Completes migration of target-specific code to new target-*/gdbstub.c.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 986a2998932e978e63fc3b7ead1fef81f7aad52e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 13:05:05 2013 +0200
gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions
This avoids polluting the global namespace with a non-prefixed macro and
makes it obvious in the call sites that we return.
Semi-automatic conversion using, e.g.,
sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c
followed by manual tweaking for sparc's GET_REGA() and Coding Style.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 25d8ac0e31c3c68dfdd6da7c33b87870b4a3b623
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:57:38 2013 +0200
target-xtensa: Move cpu_gdb_{read,write}_register()
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0ff8d056d3aab93b4a7b7910f938652c2febc77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:55:44 2013 +0200
target-lm32: Move cpu_gdb_{read,write}_register()
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cfae5c905a29128372e1f8ec4a29d70e1361d07b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:54:12 2013 +0200
target-s390x: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c3ce8eb3c50272d81bfea30ae9a9bd959fd68a54
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:52:32 2013 +0200
target-alpha: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213c19d69fb9c7537afb8539bbdf12dba90ba0ef
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:50:22 2013 +0200
target-cris: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eabfc2398f3e4e553843c15b1e3a3af2a52a7fcb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:45:47 2013 +0200
target-microblaze: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f93773241f99457a0957a43b2490be6f594cfa7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:42:52 2013 +0200
target-sh4: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30028739eb6b2e95b94b957f3b4f8f258da3aa88
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:40:38 2013 +0200
target-openrisc: Move cpu_gdb_{read,write}_register()
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b96919e068388309b655c7dc1afa41706d728efd
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Fri Jul 26 21:42:51 2013 +0100
sun4m: add display width and height to the firmware configuration
Currently the graphics resolution for TCX is fixed at 1024x768, however
other framebuffers are capable of supporting additional resolutions.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 405c97c3a5950d8a49b90cb977e33b6b3f9a8f95
Merge: 2fb861e... e340936...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 16:54:19 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (16) and Ian Main (2)
# Via Kevin Wolf
* kwolf/for-anthony:
Add tests for sync modes 'TOP' and 'NONE'
Implement sync modes for drive-backup.
Implement qdict_flatten()
blockdev: Split up 'cache' option
blockdev: Rename 'readonly' option to 'read-only'
qcow2: Use dashes instead of underscores in options
blockdev: Rename I/O throttling options for QMP
QemuOpts: Add qemu_opt_unset()
block: Allow "driver" option on the top level
qapi: Anonymous unions
qapi.py: Maintain a list of union types
qapi: Add consume argument to qmp_input_get_object()
qapi: Flat unions with arbitrary discriminator
qapi: Add visitor for implicit structs
docs: Document QAPI union types
qapi-visit.py: Implement 'base' for unions
qapi-visit.py: Split off generate_visit_struct_fields()
qapi-types.py: Implement 'base' for unions
Message-id: 1374870032-31672-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fb861eb02f0955876e15b3de1f9c2d1f469dcf2
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 22 15:33:37 2013 -0300
seccomp: removing unused syscalls gtom whitelist
v3 update:
- reincluding getrlimit(), it is used by Xen.
v2 update:
- reincluding setrlimit(), it is used by Xen.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1374518017-10424-3-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d7b2ad43603d6c130b64bdc064bb8572505bb25
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 22 15:33:36 2013 -0300
seccomp: no need to check arch in syscall whitelist
v2 update:
- set libseccomp 2.1.0 as requirement on configure script.
Since libseccomp 2.0 there's no need to check the architecture type
anymore.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1374518017-10424-2-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 814ac26c2d3820b85f05b696735d4e1e6d7d05aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:38:42 2013 +0200
target-mips: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c88de14ca45257feb82e23f3ff07e861010bd5ba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:33:56 2013 +0200
target-m68k: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58850dad68f3458cf430395db2e016f1d03ad7de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:32:15 2013 +0200
target-arm: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d19c87f44d8d7bac48d4b35863ae825f872ed54a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:29:26 2013 +0200
target-sparc: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0980bfabbc2e93d42c6b5ade578b371c36f6f23d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:26:33 2013 +0200
target-ppc: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f20f9df06e6f724d2ccdaf5f9a6dae45c061db75
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:07:54 2013 +0200
target-i386: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 23:18:47 2013 +0200
cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs
CPUState::gdb_num_regs replaces num_g_regs.
CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS.
Allows building gdb_register_coprocessor() for xtensa, too.
As a side effect this should fix coprocessor register numbering for SMP.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19a77215f1ba966c4d37dadec45f38be789b8529
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 11:52:52 2013 +0200
gdbstub: Drop dead code in cpu_gdb_{read,write}_register()
GET_REG*() macros include a return statement, thus no need for break.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 47d74ef57a0fe66fa2fdcce46b4daec4f60a1fc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 11:17:26 2013 +0200
gdbstub: Fix cpu_gdb_{read,write}_register() Coding Style
Add braces, replace tabs, remove trailing whitespace, drop space before
parenthesis and place break etc. below case statements.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 67cce5617ee968946fc6402f02743fffaa4a1a02
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 01:47:51 2013 +0200
target-xtensa: Introduce XtensaCPU subclasses
Register a CPU type per core registered. Save the XtensaConfig in
XtensaCPUClass and copy it from there to CPUXtensaState, to avoid
touching every env->config access for now.
Prepares for storing per-class GDB register count.
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9282b73a4078f10b5d1c96707aeed213eedbc8e1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jul 26 17:48:06 2013 +0200
target-s390x: Fix CPUState rework fallout
Commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e
exec: Change cpu_memory_rw_debug() argument to CPUState
missed to update s390x KVM code, breaking the build.
Let's fix it up.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38e478eccfb1ace415914a331c8e1b16ae64b57f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 20:50:21 2013 +0200
kvm: Change prototype of kvm_update_guest_debug()
Passing a CPUState pointer instead of a CPUArchState pointer eliminates
the last target dependent data type in sysemu/kvm.h.
It also simplifies the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ac46af39ee84461782b6f096ba1a165c7b0e503
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:42:25 2013 +0200
linux-user: Avoid redundant ENV_GET_CPU()
This fixes a mismerge in 874ec3c5b3821bb964f9f37b2f930f2a9ce51652.
Acked-by: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e3409362bd64731e042c9d001e43cc1d13d2df5d
Author: Ian Main <imain@xxxxxxxxxx>
Date: Fri Jul 26 11:39:05 2013 -0700
Add tests for sync modes 'TOP' and 'NONE'
This patch adds tests for sync modes top and none. Test for 'TOP'
is separated out as it requires a backing file. Also added a test
for invalid format.
Signed-off-by: Ian Main <imain@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc5d3f843250c9d3bfa2bcfdb7369f4753a49f0e
Author: Ian Main <imain@xxxxxxxxxx>
Date: Fri Jul 26 11:39:04 2013 -0700
Implement sync modes for drive-backup.
This patch adds sync-modes to the drive-backup interface and
implements the FULL, NONE and TOP modes of synchronization.
FULL performs as before copying the entire contents of the drive
while preserving the point-in-time using CoW.
NONE only copies new writes to the target drive.
TOP copies changes to the topmost drive image and preserves the
point-in-time using CoW.
For sync mode TOP are creating a new target image using the same backing
file as the original disk image. Then any new data that has been laid
on top of it since creation is copied in the main backup_run() loop.
There is an extra check in the 'TOP' case so that we don't bother to copy
all the data of the backing file as it already exists in the target.
This is where the bdrv_co_is_allocated() is used to determine if the
data exists in the topmost layer or below.
Also any new data being written is intercepted via the write_notifier
hook which ends up calling backup_do_cow() to copy old data out before
it gets overwritten.
For mode 'NONE' we create the new target image and only copy in the
original data from the disk image starting from the time the call was
made. This preserves the point in time data by only copying the parts
that are *going to change* to the target image. This way we can
reconstruct the final image by checking to see if the given block exists
in the new target image first, and if it does not, you can get it from
the original image. This is basically an optimization allowing you to
do point-in-time snapshots with low overhead vs the 'FULL' version.
Since there is no old data to copy out the loop in backup_run() for the
NONE case just calls qemu_coroutine_yield() which only wakes up after
an event (usually cancel in this case). The rest is handled by the
before_write notifier which again calls backup_do_cow() to write out
the old data so it can be preserved.
Signed-off-by: Ian Main <imain@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f660dc6a2e97756596b2e79ce6127a3034f2308b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 17:11:58 2013 +0200
Implement qdict_flatten()
qdict_flatten(): For each nested QDict with key x, all fields with key y
are moved to this QDict and their key is renamed to "x.y". This operation
is applied recursively for nested QDicts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 29c4e2b50d95f4a15c3dd62b39f3402f05a34907
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 18 16:31:25 2013 +0200
blockdev: Split up 'cache' option
The old 'cache' option really encodes three different boolean flags into
a cache mode name, without providing all combinations. Make them three
separate options instead and translate the old option to the new ones
for drive_init().
The specific boolean options take precedence if the old cache option is
specified as well, so the following options are equivalent:
-drive file=x,cache=none,cache.no-flush=true
-drive file=x,cache.writeback=true,cache.direct=true,cache.no-flush=true
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0f227a947004aa9043d4386f4a47d6739499b88f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 19 20:07:29 2013 +0200
blockdev: Rename 'readonly' option to 'read-only'
Option name cleanup before it becomes a QMP API.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 64aa99d3e0333dea73d7505190659a02ca909292
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:45:34 2013 +0200
qcow2: Use dashes instead of underscores in options
This is what QMP wants to use. The options haven't been enabled in any
release yet, so we're still free to change them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 57975222b6a928dd4a4a8a7b37093cc8ecba5045
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:41:54 2013 +0200
blockdev: Rename I/O throttling options for QMP
In QMP, we want to use dashes instead of underscores in QMP argument
names, and use nested options for throttling.
The new option names affect the command line as well, but for
compatibility drive_init() will convert the old option names before
calling into the code that will be shared between -drive and
blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0dd6c5266313c861cf36476da86599d368ec41fc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:40:37 2013 +0200
QemuOpts: Add qemu_opt_unset()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 9 11:09:02 2013 +0200
block: Allow "driver" option on the top level
This is traditionally -drive format=..., which is now translated into
the new driver option. This gives us a more consistent way to select the
driver of BlockDriverStates that can be used in QMP context, too.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 69dd62dfd60631ba69201d8a197fde1ece4b4df3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 16:14:21 2013 +0200
qapi: Anonymous unions
The discriminator for anonymous unions is the data type. This allows to
have a union type that allows both of these:
{ 'file': 'my_existing_block_device_id' }
{ 'file': { 'filename': '/tmp/mydisk.qcow2', 'read-only': true } }
Unions like this are specified in the schema with an empty dict as
discriminator. For this example you could take:
{ 'union': 'BlockRef',
'discriminator': {},
'data': { 'definition': 'BlockOptions',
'reference': 'str' } }
{ 'type': 'ExampleObject',
'data: { 'file': 'BlockRef' } }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit ea66c6d8819c8fc5f73a28554992be64e5399fed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 16 10:49:41 2013 +0200
qapi.py: Maintain a list of union types
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e8316d7e8e8339a9ea593ba821a0aad26908c0d5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 11:33:07 2013 +0200
qapi: Add consume argument to qmp_input_get_object()
This allows to just look at the next element without actually consuming
it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 50f2bdc75c5ee00617ad874c9ceac2cea660aa1e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 3 15:58:57 2013 +0200
qapi: Flat unions with arbitrary discriminator
Instead of the rather verbose syntax that distinguishes base and
subclass fields...
{ "type": "file",
"read-only": true,
"data": {
"filename": "test"
} }
...we can now have both in the same namespace, allowing a more direct
mapping of the command line, and moving fields between the common base
and subclasses without breaking the API:
{ "driver": "file",
"read-only": true,
"filename": "test" }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 761d524dbcc5bb41213dd0f238f43c273bc2b077
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 3 15:52:42 2013 +0200
qapi: Add visitor for implicit structs
These can be used when an embedded struct is parsed and members not
belonging to the struct may be present in the input (e.g. parsing a
flat namespace QMP union, where fields from both the base and one
of the alternative types are mixed in the JSON object)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 51631493e4876081ae27078b50bd95bd4418bf37
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 16 13:17:27 2013 +0200
docs: Document QAPI union types
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0aef92b90d24858eea1ebd52a51bc31563f1fb52
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 16:20:04 2013 +0200
qapi-visit.py: Implement 'base' for unions
This implements the visitor part of base types for unions. Parsed into
QMP, this example schema definition...
{ 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } }
{ 'type': 'BlockOptionsQcow2, 'data': { 'lazy-refcounts': 'bool' } }
{ 'union': 'BlockOptions',
'base': 'BlockOptionsBase',
'data': {
'raw': 'BlockOptionsRaw'
'qcow2': 'BlockOptionsQcow2'
} }
...would describe the following JSON object:
{ "type": "qcow2",
"read-only": true,
"data": { "lazy-refcounts": false } }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d131c897f3dea8b76d7a487af0f7f5f11d0500a3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 16:18:35 2013 +0200
qapi-visit.py: Split off generate_visit_struct_fields()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e2503f5e213e30e3e9a397d454a35c10b5bdc899
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 12:18:47 2013 +0200
qapi-types.py: Implement 'base' for unions
The new 'base' key in a union definition refers to a struct type, which
is inlined into the union definition and can represent fields common to
all kinds.
For example the following schema definition...
{ 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } }
{ 'union': 'BlockOptions',
'base': 'BlockOptionsBase',
'data': {
'raw': 'BlockOptionsRaw'
'qcow2': 'BlockOptionsQcow2'
} }
...would result in this generated C struct:
struct BlockOptions
{
BlockOptionsKind kind;
union {
void *data;
BlockOptionsRaw * raw;
BlockOptionsQcow2 * qcow2;
};
bool read_only;
};
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f0ef1cf4d6c996d90df6e4a32a82423d180f3e4d
Merge: b142d79... f290e49...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 13:04:21 2013 -0500
Merge remote-tracking branch 'rth/tcg-next' into staging
# By Claudio Fontana (1) and others
# Via Richard Henderson
* rth/tcg-next:
tcg: Remove temp_buf
tcg/aarch64: Implement tlb lookup fast path
tcg/aarch64: implement ldst 12bit scaled uimm offset
Message-id: 1373919944-8521-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b142d79328cd0a0556634b0eeb891a15bfd5a00c
Merge: 003e26b... 9b146e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 13:04:07 2013 -0500
Merge remote-tracking branch 'jliu/or32' into staging
# By Jia Liu
# Via Jia Liu
* jliu/or32:
target-openrisc: Free typename in openrisc_cpu_class_by_name
hw/openrisc: Use stderr output instead of qemu_log
hw/openrisc: Indent typo
Message-id: 1374576458-22808-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 003e26bc9f7c4f5cd90e046ae112c1d09363b8d1
Merge: d1ed9f4... 340d51d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:58:29 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-7-25' into staging
# By Laszlo Ersek
# Via Michael Roth
* mdroth/qga-pull-2013-7-25:
qga: escape cmdline args when registering win32 service (CVE-2013-2231)
ga_install_service(): nest error paths more idiomatically
qga/service-win32.c: diagnostic output should go to stderr
Message-id: 1374784644-29078-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
commit d1ed9f412d866106e6370e9a8b23d79baa750b61
Merge: 874ec3c... 41b8280...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:56:36 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.3:
seabios: update to 1.7.3
Message-id: 1374673573-25074-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 874ec3c5b3821bb964f9f37b2f930f2a9ce51652
Merge: d2f5ea9... a033381...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:56:06 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
* riku/linux-user-for-upstream: (21 commits)
linux-user: Handle compressed ISA encodings when processing MIPS
exceptions
linux-user: Unlock mmap_lock when resuming guest from page_unprotect
linux-user: Reset copied CPUs in cpu_copy() always
linux-user: Fix epoll on ARM hosts
linux-user: fix segmentation fault passing with h2g(x) != x
linux-user: Fix pipe syscall return for SPARC
linux-user: Fix target_stat and target_stat64 for OpenRISC
linux-user: Avoid conditional cpu_reset()
configure: Make NPTL non-optional
linux-user: Enable NPTL for x86-64
linux-user: Add i386 TLS setter
linux-user: Clean up handling of clone() argument order
linux-user: Add missing 'break' in i386 get_thread_area syscall
linux-user: Enable NPTL for m68k
linux-user: Enable NPTL for SPARC targets
linux-user: Enable NPTL for OpenRISC
linux-user: Move includes of target-specific headers to end of qemu.h
configure: Enable threading for unicore32-linux-user
configure: Enable threading on all ppc and mips linux-user targets
configure: Don't say target_nptl="no" if there is no linux-user target
...
Conflicts:
linux-user/main.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 340d51df5592c5c11fc3885f7bdedbe581b87366
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:10 2013 +0200
qga: escape cmdline args when registering win32 service (CVE-2013-2231)
Reported-by: Lev Veyde <lveyde@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 108365fdb0042454413d2610ffe7194003ba4ae9
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:09 2013 +0200
ga_install_service(): nest error paths more idiomatically
Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit febf1c49be1bd80d7c95653fc0caa87d250b2c72
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:08 2013 +0200
qga/service-win32.c: diagnostic output should go to stderr
Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d2f5ea9704af781d4cf14e4be08bb4e37a180260
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:38 2013 +0200
pc-testdev: add I/O port to test memory.c auto split/combine
The ports at 0xe8..0xeb have impl.min/max_access_size == 1, so
that memory accesses are split and combined by the memory core.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-29-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7342aa39b3193473ded24cbf2233930665796e9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:37 2013 +0200
memory: check memory region endianness, not target's
When combining multiple accesses into a single value, we need to do so
in the device's desired endianness. The target endianness does not have
any influence.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-28-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 547e9201c52629eef71b0eb8cb48dacc50bcf759
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:36 2013 +0200
memory: pass MemoryRegion to access_with_adjusted_size
The accessors all use a MemoryRegion opaque value. Avoid going
uselessly through void*.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-27-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e11ef3d184c88a316f48ba2472dcb2937d9fa24b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:35 2013 +0200
memory: move functions around
Prepare for next patch, no semantic change.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-26-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fefa31be98ada3677add2008732d0b1a17ed28d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:34 2013 +0200
qtest: add test for ISA I/O space endianness
This writes a register and reads its 1/2/4 byte parts. Masking
is done in the device model.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-25-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9c9984242ce46ccf8636f5c19e81d794e84aa0c7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:33 2013 +0200
default-configs/ppc64: add all components of i82378 SuperIO chip used by
prep
The device provides an ISA bus so that pseries can also run the
endianness test.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-24-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85d3846a397e8fa95de0a84479007172e6d30668
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:32 2013 +0200
default-configs: add SuperIO to SH4
The device provides an ISA bus to run the endianness test on.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-23-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be6d08be25d38185ab7de02fab1b2ac74991741b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:31 2013 +0200
default-configs: add test device to all machines supporting ISA
This will let these machines run an endianness test for ISA
I/O port space.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-22-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b8fbcd87007a170a9778ec6645c06f543977067
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:30 2013 +0200
sparc64: unbreak
... by making apb a subclass of TYPE_PCI_HOST_BRIDGE.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-21-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b23ea25f5098f576d10a8833bc60b8f8394f9b0b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:29 2013 +0200
sh4: unbreak r2d
... by making sh_pci a subclass of TYPE_PCI_HOST_BRIDGE.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-20-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b332d24a8e1290954029814d09156b06ede358e2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:28 2013 +0200
mips: degrade BIOS error to warning
No free MIPS BIOS is available, so it makes little sense to quit.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-19-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 504054357b7e491e0bc354ee5c8061071e51fc61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:27 2013 +0200
pc-testdev: remove useless cpu_to_le64/le64_to_cpu
So far the device was only used on little-endian machines.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-18-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7faba71635cc4b16bb1472614aa497554797af6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:26 2013 +0200
pc-testdev: support 8 and 16-bit accesses to 0xe0
This will let us use the testdev to test endianness.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-17-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f36a6382b8fb9677fd542b9c59b1ea1ad40ee9cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:25 2013 +0200
Revert "ioport: remove LITTLE_ENDIAN mark for portio"
This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5.
The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN
endianness now works and will soon be unit tested. Since the PortioList
indirection assumes little endian, define portio_ops the same way.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-16-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61fcb628627ea464dc1954f615ae13edfefd284f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:24 2013 +0200
isa_mmio: delete
It is not used anymore.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-15-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a70e094cd05c35dddfe471fd96266d02ac0dade
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:23 2013 +0200
ebus: do not use isa_mmio
This is untested, because ebus does not have a libqos module.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-14-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5519ad0c245860526e8d269e1cd20fe239447736
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:22 2013 +0200
sparc64: remove indirection for I/O port access
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-13-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e37b80faa60c81e958d560c937e5f29b13977627
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:21 2013 +0200
mips_fulong2e: do not use isa_mmio
This board is little-endian, but still isa_mmio should die. :)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-12-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bdb75c79878c7a23a7891124d50483329dd8924d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:20 2013 +0200
mipssim: do not use isa_mmio
Untested, this board does not support PCI so it cannot run
endianness-test.
It should fix endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-11-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 685015021774e98b87ed48ac2c55dfd3917fd820
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:19 2013 +0200
ppc440_bamboo: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-10-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ee77854fa52b8cc7c9a0d318be467a5b5741bc04
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:18 2013 +0200
mips_malta: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-9-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3959496874e7d1ee84e3428ddf1a10dfef972c1d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:17 2013 +0200
mips_r4k: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-8-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f51100cc51f29b51aeafb5b56518a75e76e53024
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:16 2013 +0200
mips_jazz: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 921f8040d39a5f34d4b6bfd6e547c4cfcd3c1992
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:15 2013 +0200
prep: fix I/O port endianness
Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66aab867cedd2a2d81b4d64eff7c3e0f6f272bbf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 22 15:54:14 2013 +0200
spapr_pci: remove indirection for I/O port access
This fixes endianness bugs in I/O port access.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b1096e02d32e4c3b5a51e767836d9511132a928
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:13 2013 +0200
ppc_newworld: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d52857ea5677c1b013a289e2e44db24961a59b0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:12 2013 +0200
ppc_oldworld: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4759ab6b2d1b99714bb12409a6021e7a9d0bd473
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:11 2013 +0200
sh4: do not use isa_mmio
This fixes endianness bugs in I/O port access (for sh4eb).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 41b8280a1c089f621f94db4fad7a37c6080430b3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 24 15:32:31 2013 +0200
seabios: update to 1.7.3
Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3):
Alex Williamson (4):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function
pciinit: Enable default VGA device
Asias He (2):
virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
Avik Sil (1):
USB-EHCI: Fix null pointer assignment
Christian Gmeiner (5):
geodevga: fix errors in geode_fp_* functions
geodevga: move framebuffer setup
geodevga: move output setup to own function
geodevga: add debug to msr functions
geodevga: fix wrong define name
David Woodhouse (26):
Add macros for pushing and popping struct bregs
Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if
CONFIG_COREBOOT is
post: Export functions which will be used individually by CSM
Export callrom() for CSM to use
Export copy_smbios() from biostables.c
Import LegacyBios.h from OVMF
Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
Add pic_save_mask() and pic_restore_mask() functions
Add CSM support
Add README.CSM
Add find_pmtimer() function
Enable PMTIMER for CSM build
Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
Don't calibrate TSC if PMTIMER is already set up
Move find_pmtimer() to ACPI table setup where it logically belongs
Use find_pmtimer() after copying Xen ACPI tables
Use find_pmtimer() after copying coreboot ACPI tables
Unify return path for CSM to go via csm_return()
Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
Implement !CONFIG_OPTIONROMS support for CSM
Implement !CONFIG_BOOT for CSM
Enable VGA output when settings bochs-specific mode
Disable CONFIG_THREAD_OPTIONROMS for CSM build
Fix return type of le64_to_cpu() and be64_to_cpu()
Rename find_pmtimer() to find_acpi_features()
Add acpi_reboot() reset method using RESET_REG
Gerd Hoffmann (3):
config: allow DEBUG_IO for !QEMU
coreboot: add qemu detection
tweak coreboot qemu detection
Hu Tao (1):
Add pvpanic device driver
Kevin O'Connor (99):
pmm: Use 'struct segoff_s' in pmm header.
Minor: Update README - variable changes are now reset on
soft-reboots.
Normalize POST initialization function name suffixes.
POST: Reorganize post init functions for better grouping and
reusability.
Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
Support calling a function other than maininit() from
reloc_preinit().
Ensure exported symbols are visible in the final link
POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
POST: Reorganize post entry and "preinit" functions.
POST: Move cpu caching and dma setup to platform_hardware_setup().
Undo incorrect assumptions about Xen in commit 6ca0460f.
Determine century during init and store in VARLOW mem during
runtime.
No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
Add runningOnQEMU() and runningOnXen() for runtime platform
detection.
Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
Convert kvm_para_available() to runningOnKVM().
Minor - move definitions to paravirt.c from paravirt.h.
Only perform SMP setup on QEMU.
Start device_hardware_setup in mainint even with
CONFIG_THREAD_OPTIONROMS.
The mathcp setup touches the PIC and thus move to the "setup" phase.
Update tools/acpi_extract.py to handle iasl 20130117 release.
Support skipping content when reading from QEMU fw_cfg romfile
entries.
Convert fw_cfg ACPI entries into romfile entries.
Convert fw_cfg SMBIOS entries into romfile entries.
Convert basic integer fw_cfg entries into romfile entries.
Convert fw_cfg NUMA entries into a romfile entry.
Process fw_cfg e820 entries during the fw_cfg setup stage.
Integrate qemu_cfg_preinit() into qemu_romfile_init().
Group QEMU platform setup together and move to paravirt.c.
vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
Warn on unaligned PCI ROM structure in option roms.
Fix Makefile - don't reference "out/" directly, instead use
"$(OUT)".
build: Don't require $(OUT) to be a sub-directory of the main
directory.
Rename rom_get_top() to rom_get_max().
Report on f-segment UMB ram also.
Clarify build generated "zone low" values.
Verify CC is valid during build tests.
Disable handle_post() on CSM builds.
Remove unnecessary "export" declarations from assembler functions.
Minor assembler enhancements to __csm_return.
Introduce VARFSEG for variables that will reside in the f-segment.
Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
Don't relocate "varlow" variable references at runtime.
Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
Calculate "RamSize" needed by 16bit interface dynamically.
Eliminate separate BiosTableSpace[] space for f-segment allocations.
Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
Try to detect an unsuccessful hard-reboot to prevent soft-reboot
loops.
Minor - fix confusing final_sec32low_start name in layoutrom.py.
Minor - introduce numeric defines for the IVT offset of hw irqs.
Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry
point.
Support using the "extra stack" for all 16bit irq entry points.
Minor - improve comments and grouping of handle_08().
floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
floppy: Cleanup floppy irq wait handling.
floppy: Clean up Check Interrupt Status code.
floppy: Move recalibration and results parsing to floppy_cmd().
floppy: Improve floppy_pio() error checking.
floppy: Implement media format sensing.
floppy: Actually do controller reset in floppy_reset().
Minor - note that passing QEMU config via cmos is deprecated.
Cache boot-fail-wait to avoid romfile access after POST.
Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
acpi: Eliminate BDAT parameter passing to DSDT code.
Add additional dependency checks to Makefile.
Don't use __FILE__ in virtio-ring.c.
shadow: Don't use PCIDevices list in make_bios_readonly().
smm: Don't use PCIDevices list in smm_setup().
Add VARVERIFY32INIT attribute for variables only available during
"init".
Use VARVERIFY32INIT on global variables that point to "tmp" memory.
vgabios: Fix stdvga_perform_gray_scale_summing().
vgabios: Fix cirrus memory clear on mode switch.
Minor - add missing newline to floppy debug statement.
Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
Update README - copy *.aml files for QEMU.
Add dependencies to vgafixup.py and buildversion.sh scripts.
Set ZF prior to keyboard read call in check_for_keystroke().
mptable: Don't describe pci-to-pci bridges.
mptable: Use same PCI irqs as ACPI code.
Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile
entries.
Use container_of on romfile entries.
acpi: Move ACPI table definitions from acpi.c to acpi.h.
acpi: Remove dead code with descriptions of bit flags.
acpi: Use cpu_to_leXX() consistently.
Minor - explicitly close files in buildrom.py.
Minor - move "tracked memory alloc" code in pmm.c.
Introduce and convert pmm code to use standard list helpers.
Minor - relocate code in stacks.c to keep low-level thread code
together.
Introduce helper function have_threads() in stacks.c.
Convert stacks.c to use standard list manipulation code.
Convert boot.c to use standard list manipulation code.
Convert pciinit.c to use standard list manipulation code.
Convert PCIDevices list to use standard list manipultion code.
Revert "Convert pciinit.c to use standard list manipulation code."
Fix error in hlist_for_each_entry_safe macro.
Convert pciinit.c to use standard list manipulation code.
make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
Another fix for hlist_for_each_entry_safe.
Minor - remove debugging dprintf added to pciinit.c.
Laszlo Ersek (1):
Enable VGA output when setting Cirrus-specific mode
Michael S. Tsirkin (1):
acpi: make default DSDT optional
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0cd8eaa011eac66e45ce51cab4a857b175152625
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:44 2013 +0200
po/Makefile: Use macro quiet-command for nice looking messages
Suppress also the "... done" message from msgmerge.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1fa449231832d0fb7f20a3d7ecd06190ce906529
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:43 2013 +0200
po/Makefile: Fix generation of messages.po
* Tell xgettext that we use UTF-8 encoding (this is currently optional).
* Set charset=UTF-8 in messages.po. This avoids warnings from msgmerge:
warning: Charset "CHARSET" is not a portable encoding name.
* Use filename relative to root directory (ui/gtk.c instead of ../ui/gtk.c
or $(SRC_PATH)/ui/gtk.c) for comments in *.po files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 00134a62039a12822cda91310131cc050f78cf9b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:42 2013 +0200
po/Makefile: Fix *.mo generation for out-of-tree builds (regression)
Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard search
for *.po files. This search found no files for out of tree builds, so
those builds no longer created and installed *.mo files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 18e12d49edd4417a93f875e122652bd22aabad79
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:41 2013 +0200
po/Makefile: Fix and improve help message
The help message contains single quotes which got lost in the output.
Fix also a typo and use two instead of three lines.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f03d07d4683b2e8325a7cb60b4e14b977b1a869c
Merge: 3988982... 9781c37...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:57:23 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Michael R. Hines (8) and others
# Via Juan Quintela
* quintela/migration.next:
migration: add autoconvergence documentation
Fix real mode guest segments dpl value in savevm
Fix real mode guest migration
rdma: account for the time spent in MIG_STATE_SETUP through QMP
rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state
transition
rdma: allow state transitions between other states besides ACTIVE
rdma: send pc.ram
rdma: core logic
rdma: introduce ram_handle_compressed()
rdma: bugfix: ram_control_save_page()
rdma: update documentation to reflect new unpin support
Message-id: 1374590725-14144-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3988982c82ad4173dea376fea30e5432d36146db
Merge: 931f0ad... 6f152e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:57:04 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix NULL pointer dereference in gdbstub
* Introduce vaddr type
* Introduce CPUClass::set_pc()
* Introduce CPUClass::synchronize_from_tb()
* Introduce CPUClass::get_phys_page_debug()
* Introduce CPUClass::memory_rw_debug()
* Move singlestep_enabled and gdb_regs fields out of CPU_COMMON
* Adopt CPUState in more APIs
* Propagate CPUState in gdbstub
# gpg: Signature made Mon 22 Jul 2013 07:50:17 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (21) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (24 commits)
linux-user: Use X86CPU property to retrieve CPUID family
gdbstub: Change gdb_register_coprocessor() argument to CPUState
cpu: Move gdb_regs field from CPU_COMMON to CPUState
gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState
cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()
exec: Change cpu_memory_rw_debug() argument to CPUState
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
gdbstub: Change gdb_{read,write}_register() argument to CPUState
gdbstub: Change gdb_handlesig() argument to CPUState
gdbstub: Change syscall callback argument to CPUState
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
cpu: Change cpu_single_step() argument to CPUState
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
target-alpha: Copy implver to DisasContext
target-alpha: Copy singlestep_enabled to DisasContext
cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb()
target-unicore32: Implement CPUClass::set_pc()
target-moxie: Implement CPUClass::set_pc()
target-m68k: Implement CPUClass::set_pc()
...
commit 931f0adf64261bf7eb3efaafb4430c04a6a3e6f6
Merge: 3464700... 52785d9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:56:55 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Avoid TYPE_* in VMStateDescription name
* Replace some DO_UPCAST()s and FROM_SYSBUS()s with QOM casts
* Limit legacy SCSI command line handling to non-hotplugged devices
* Replace some SysBusDeviceClass::init with DeviceClass::realize
# gpg: Signature made Mon 22 Jul 2013 06:31:42 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Hu Tao (26) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (55 commits)
isa-bus: Drop isabus_bridge_init() since it does nothing
ioapic: Use QOM realize for ioapic
kvmvapic: Use QOM realize
kvm/clock: Use QOM realize for kvmclock
hpet: Use QOM realize for hpet
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
megasas: Legacy command line handling fix
scsi/esp: Use QOM realize for scsi esp
fw_cfg: Use QOM realize for fw_cfg
ahci: Use QOM realize for ahci
pflash_cfi02: Use QOM realize for pflash_cfi02
pflash_cfi01: Use QOM realize for pflash_cfi01
fdc: Improve error propagation for QOM realize
fdc: Use QOM realize for fdc
kvm/clock: QOM'ify some more
hpet: QOM'ify some more
scsi/esp: QOM'ify some more
fwcfg: QOM'ify some more
ahci: QOM'ify some more
pflash-cfi02: QOM'ify some more
...
commit a033381758841837edaf307e20edf019c5900609
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri Jul 19 09:21:44 2013 -0700
linux-user: Handle compressed ISA encodings when processing MIPS
exceptions
Decode trap instructions during the handling of an EXCP_BREAK or EXCP_TRAP
according to the current ISA mode.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d02532f08e207419e412ea7cd4eb8b36f04f426d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:57 2013 +0200
linux-user: Unlock mmap_lock when resuming guest from page_unprotect
The page_unprotect() function is running everything locked. Before every
potential exit path of the function mmap_unlock() gets called to make sure
we don't leak the lock.
However, the function calls tb_invalidate_phys_page() which again can
exit a signal through longjmp, leaving our mmap_unlock() attempts in vain.
Add a hint to tb_invalidate_phys_page() that we need to unlock before we
can leave back into guest context, so that we don't leak the lock.
This fixes 16-bit i386 wine programs running in linux-user for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b24c882b9435d0745679a96571027a2c92065e4f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:51 2013 +0200
linux-user: Reset copied CPUs in cpu_copy() always
When a new thread gets created, we need to reset non arch specific state
to
get the new CPU into clean state.
However this reset should happen before the arch specific CPU contents get
copied over. Otherwise we end up having clean reset state in our newly
created
thread.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ddaa7e5a2ad0ef20fd3d1cc44a9ade75e5eabcfc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:53 2013 +0200
linux-user: Fix epoll on ARM hosts
The epoll emulation uses data structures without packing them, so the
compiler might choose to add padding inside.
This patch makes the most offending one (target_epoll_event) a packed
structure to make sure we don't pad it by accident. ARM would pad it,
so declare the padding mandatory for ARM targets.
This fixes i386-on-ARM epoll emulation for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 732f9e89a1c737f738c445ff24929a1bc137d1a9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:49 2013 +0200
linux-user: fix segmentation fault passing with h2g(x) != x
When forwarding a segmentation fault into the guest process, we were
passing
the host's address directly into the guest process's signal descriptor.
That obviously confused the guest process, since it didn't know what to
make
of the (usually 32-bit truncated) address. Passing in h2g(address) makes
the
guest process a lot happier.
To make the code more obvious, introduce a h2g_nocheck() macro that does
the
same as h2g(), but allows us to convert addresses that may be outside of
guest
mapped range into the guest's view of address space.
This fixes java running in arm-linux-user for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 82f05b69e6b701157b4a2e7d76ae6cf5542d66c9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jul 6 17:39:48 2013 +0100
linux-user: Fix pipe syscall return for SPARC
SPARC is one of the CPUs which has a funny syscall ABI for the
pipe syscall; add it to the set of special cases in do_pipe().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit c7819dfbd22be6a3711f11056f33300e881563d5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jul 6 21:44:53 2013 +0100
linux-user: Fix target_stat and target_stat64 for OpenRISC
OpenRISC uses the asm-generic versions of target_stat and
target_stat64, but it was incorrectly using the x86/ARM/etc version
due to a misplaced defined(TARGET_OPENRISC). The previously unused
OpenRISC section of the ifdef ladder also defined an incorrect
target_stat and omitted the target_stat64 definition. Fix
target_stat, provide target_stat64, and add a comment noting that
these are the asm-generic versions for the benefit of future ports.
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9781c3716a4b529a2af64502926a57c11e69e6ca
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 23 15:21:09 2013 +0200
migration: add autoconvergence documentation
This hunk got lost during merge. It is documentation.
Spotted-by: Peter Lieven <lieven-lists@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3e47c249b93d5cc1e0f9404dbe243682598ba8fb
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Jul 22 20:29:42 2013 +0300
Fix real mode guest segments dpl value in savevm
Older KVM version put invalid value in the segments registers dpl field
for
real mode guests (0x3).
This breaks migration from those hosts to hosts with unrestricted guest
support.
We detect it by checking CS dpl value for real mode guest and fix the dpl
values
of all the segment registers.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 444ba6797ef6ef331fe9fd34309b1ec59caaede3
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Jul 22 20:29:41 2013 +0300
Fix real mode guest migration
Older KVM versions save CS dpl value to an invalid value for real mode
guests
(0x3). This patch detect this situation when loading CPU state and set
all the
segments dpl to zero.
This will allow migration from older KVM on host without unrestricted
guest
to hosts with restricted guest support.
For example migration from a Penryn host (with kernel 2.6.32) to
a Westmere host (for real mode guest) will fail with "kvm: unhandled exit
80000021".
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ed4fbd10823a7b0dbded6b481a68973e47f7e14d
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:58 2013 -0400
rdma: account for the time spent in MIG_STATE_SETUP through QMP
Using the previous patches, we're now able to timestamp the SETUP
state. Once we have this time, let the user know about it in the
schema.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 29ae8a4133082e16970c9d4be09f4b6a15034617
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:57 2013 -0400
rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition
As described in the previous patch, until now, the MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
(what we're calling 'NONE' here) and QEMU has been unconditionally
transitioning
into this state when the QMP migration command was called. Instead we
want to
introduce MIG_STATE_NONE, which is our starting state in the state
machine, and
then immediately transition into the MIG_STATE_SETUP state when the QMP
migrate
command is issued.
In order to do this, we must delay the transition into MIG_STATE_ACTIVE
until
later in the migration_thread(). This is done to be able to timestamp the
amount of
time spent in the SETUP state for proper accounting to the user during
an RDMA migration.
Furthermore, the management software, until now, has never been aware of
the
existence of the SETUP state whatsoever. This must change, because,
timing of this
state implies that the state actually exists.
These two patches cannot be separated because the 'query_migrate' QMP
switch statement needs to know how to handle this new state transition.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d58f574bf39796ed2396dfd1e308352fbb03f944
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:56 2013 -0400
rdma: allow state transitions between other states besides ACTIVE
This patch is in preparation for the next ones: Until now the
MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
and QEMU has been unconditionally transitioning into this state when
the QMP migrate command was called. In preparation for timing this state,
we have to make this state a a 'real' state which actually gets
transitioned
from later in the migration_thread() from SETUP => ACTIVE, rather than
just
automatically dropping into this state at the beginninig of the migration.
This means that the state transition function
(migration_finish_set_state())
needs to be capable of transitioning from valid states _other_ than just
MIG_STATE_ACTIVE.
The function is in fact already capable of doing that, but was not
allowing the
old state to be a parameter specified as an input.
This patch fixes that and only makes the transition if the current state
matches the old state that the caller intended to transition from.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9b146e9a28bbd9567f5ac6a8e2bcb543aa3b9392
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:32:30 2013 +0800
target-openrisc: Free typename in openrisc_cpu_class_by_name
We should free typename here.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 4284c0517b12f03da59250a23ee7e9c3581e89c4
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:31:24 2013 +0800
hw/openrisc: Use stderr output instead of qemu_log
We should use stderr output instead of qemu_log in order to output ErrMsg
onto the screen.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 68f1282882fe3b43b4bc323e03545dc019e2d19a
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:30:09 2013 +0800
hw/openrisc: Indent typo
Indent typo.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 0033b8b42a1cc2a9350619ea19e11954b12fb819
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:55 2013 -0400
rdma: send pc.ram
This takes advantages of the previous patches:
1. use the new QEMUFileOps hook 'save_page'
2. call out to the right accessor methods to invoke
the iteration hooks defined in QEMUFileOps
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2da776db4846eadcb808598a5d3484d149773c05
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:54 2013 -0400
rdma: core logic
Code that does need to be visible is kept
well contained inside this file and this is the only
new additional file to the entire patch.
This file includes the entire protocol and interfaces
required to perform RDMA migration.
Also, the configure and Makefile modifications to link
this file are included.
Full documentation is in docs/rdma.txt
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 44c3b58cf9b2c91a38363f0b45d20f3f40b8f2b3
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:53 2013 -0400
rdma: introduce ram_handle_compressed()
This gives RDMA shared access to madvise() on the destination side
when an entire chunk is found to be zero.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit de7b685c9e1cf606e37e7116e4c4f03a6ae2d14f
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:52 2013 -0400
rdma: bugfix: ram_control_save_page()
We were not checking for a valid 'bytes_sent' pointer before accessing it.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a5f56b906e0d7975b87dc3d3c5bfe5a75a4028d2
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:51 2013 -0400
rdma: update documentation to reflect new unpin support
As requested, the protocol now includes memory unpinning support.
This has been implemented in a non-optimized manner, in such a way
that one could devise an LRU or other workload-specific information
on top of the basic mechanism to influence the way unpinning happens
during runtime.
The feature is not yet user-facing, and is thus can only be enabled
at compile-time.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f152e9bc80aed81ea89aa8ad345cd71326b71fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 18 00:01:58 2012 +0200
linux-user: Use X86CPU property to retrieve CPUID family
Avoids duplicating the calculation.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22169d415a1d1706f66a4fd50a3573d3f296b24f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 21:27:39 2013 +0200
gdbstub: Change gdb_register_coprocessor() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eac8b355f0015e44addce3e92030365b16d9da61
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 21:11:37 2013 +0200
cpu: Move gdb_regs field from CPU_COMMON to CPUState
Prepares for changing gdb_register_coprocessor() argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2e0f2cfba6c2169c07358e473841ec211009dd3c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:19:39 2013 +0200
gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState
Use CPUState::env_ptr where still needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3659eee05793aede68b1791465fb2b0767bc1f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:09:09 2013 +0200
cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()
Make inline target_memory_rw_debug() always available and change its
argument to CPUState. Let it check if CPUClass::memory_rw_debug provides
a specialized callback and fall back to cpu_memory_rw_debug() otherwise.
The only overriding implementation is for 32-bit sparc.
This prepares for changing GDBState::g_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 19:40:58 2013 +0200
exec: Change cpu_memory_rw_debug() argument to CPUState
Propagate X86CPU in kvmvapic for simplicity.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 00b941e581b5c42645f836ef530705bb76a3e6bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 18:55:54 2013 +0200
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
Change breakpoint_invalidate() argument to CPUState alongside.
Since all targets now assign a softmmu-only field, we can drop helpers
cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd().
Prepares for changing cpu_memory_rw_debug() argument to CPUState.
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 385b9f0e4d8c60037c937edd7a3735fff7570429
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 18:25:36 2013 +0200
gdbstub: Change gdb_{read,write}_register() argument to CPUState
Use CPUState::env_ptr for now.
Prepares for changing GDBState::g_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db6b81d43693cec86d62df79dd7402fc045427ed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:49:31 2013 +0200
gdbstub: Change gdb_handlesig() argument to CPUState
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e0c5422cfbed78990e2edc9d68928647829f5ac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 17:45:01 2013 +0200
gdbstub: Change syscall callback argument to CPUState
Callback implementations were specific to arm and m68k, so can easily
cast to ARMCPU and M68kCPU respectively.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6227881415e0e0117d56aef90cf6e72f24187ec1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 17:12:06 2013 +0200
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
CPUArchState is no longer directly used since converting CPU loops to
CPUState.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3825b28ff128e2bd3cb0a338c21923c926b1f38b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 18:41:06 2013 +0200
cpu: Change cpu_single_step() argument to CPUState
Use CPUState::env_ptr for now.
Needed for GdbState::c_cpu.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ca666c765e9e92217a87669365b212abae6f9ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 19:20:57 2013 +0200
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
In particular reindent to 4 instead of 2 spaces.
Prepares for changing cpu_single_step() argument in gdb_handlesig().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ed2803da58355413447f8c7c681a76873168114f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 20:20:45 2013 +0200
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
Prepares for changing cpu_single_step() argument to CPUState.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 801c4c287b7d85fe8447900f78a9a6ab89d00271
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 1 13:19:30 2013 -0700
target-alpha: Copy implver to DisasContext
Which allows removing env from DisasContext.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca6862a67f3c03e5efe26cf45b54c6176e4db5c3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 1 13:19:29 2013 -0700
target-alpha: Copy singlestep_enabled to DisasContext
Prepare for removing env from DisasContext.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdf7ae5bbdb3f050d97862b2ba0261fa902ebc53
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 19:31:32 2013 +0200
cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb()
Where no extra implementation is needed, fall back to CPUClass::set_pc().
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b42eab27beaefd5c9bf9353383d6403e0628c014
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 19:41:07 2013 +0200
target-unicore32: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a10b978c4246bf9af0e34505aba500d3e7f6c6c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 20:43:26 2013 +0200
target-moxie: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e700604df024ec5028f476b133ca337c4d7ee518
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 20:35:01 2013 +0200
target-m68k: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f45748f10eda61d6262153fadf3910cb63e17ecd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 19:09:18 2013 +0200
cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc()
This moves setting the Program Counter from gdbstub into target code.
Use vaddr type as upper-bound replacement for target_ulong.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2be8d4509896116dae7b3b9dffc0fccef480126d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 22 18:34:35 2013 +0200
HACKING: Document vaddr type usage
Also extend documentation of target_ulong and abi_ulong.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 577f42c0e11a5bfb462ff3a217701cd5c4356fb4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 6 03:14:52 2013 +0200
cpu: Introduce vaddr type
vaddr is to target_ulong what uintmax_t is to unsigned int.
Its purpose is to allow turning per-target functions with target_ulong
arguments into CPUClass hooks.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52f34623b499cb0273118b1f637c2c6ebaf5d5a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 13:44:40 2013 +0200
gdbstub: Change GDBState::query_cpu to CPUState
Since first_cpu/next_cpu are CPUState, CPUArchState is no longer needed.
This resolves a NULL pointer dereference of query_cpu, introduced
with commit 182735efaf956ccab50b6d74a4fed163e0f35660 and reported by
TeLeMan and Max Filippov.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52785d99513e4f5d8c3d94f4362ff54aba88f33c
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:42 2013 +0800
isa-bus: Drop isabus_bridge_init() since it does nothing
This works since commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Edited]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5ba752371b2fc493fdef05cb7e3141161fd1fab
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:41 2013 +0800
ioapic: Use QOM realize for ioapic
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Tweaked error message]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c118d44b6a6977e4019fe1da82f5c333dbbedcfa
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:40 2013 +0800
kvmvapic: Use QOM realize
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 913bc63844395f07e317dbc1a5b38612cc75ebec
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:39 2013 +0800
kvm/clock: Use QOM realize for kvmclock
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 726887ef44d5a822cd76e4fedd269b038869b698
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:37 2013 +0800
hpet: Use QOM realize for hpet
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoided SYS_BUS_DEVICE() in loop]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit caad4eb345dc5119d326b8af08452cc0f90f8548
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 21 12:16:34 2013 +0200
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline()
return an Error**. Prepare qdev initfns for QOM realize error model.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 21 12:20:15 2013 +0200
megasas: Legacy command line handling fix
Only apply legacy command line handling when the device has not been
hot-plugged. Propagate failure of legacy command line handling.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b09318cac65df015b9b0990791f02b894cc57d33
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:35 2013 +0800
scsi/esp: Use QOM realize for scsi esp
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Drop sysbus_esp_init()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 563839557c05f6f946bedebc381406b146af61f6
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:33 2013 +0800
fw_cfg: Use QOM realize for fw_cfg
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Moved sysbus_init_mmio() to instance_init, renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7acb423fcfd8fbf75f672de70ab945a24cc31ef5
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:31 2013 +0800
ahci: Use QOM realize for ahci
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoided repeated SYS_BUS_DEVICE() casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit da3bd64234dc6c77091a0fb8a2612668dbaffd37
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:29 2013 +0800
pflash_cfi02: Use QOM realize for pflash_cfi02
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e40b5f3e0efe49ec138ea5e3710f6dd6527e5f49
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:27 2013 +0800
pflash_cfi01: Use QOM realize for pflash_cfi01
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed argument]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3ef7a61e3706ba81e31a8092b966d6aeae5333e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 14:14:41 2013 +0200
fdc: Improve error propagation for QOM realize
Rename fdctrl_init_common() to fdctrl_realize_common() and let
fdctrl_connect_drives() propagate an Error through it.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 940194c2369e50d91d1abf6f36d43853eea5e539
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:25 2013 +0800
fdc: Use QOM realize for fdc
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed SysBusDevice variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 98bdc0d7ff93f2ab39c0634c744cc7f4a8ac7399
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:38 2013 +0800
kvm/clock: QOM'ify some more
Introduce type constant and avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02f9a6f5da74251e1e5685ae57643d45c3fb6c30
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:36 2013 +0800
hpet: QOM'ify some more
Introduce type constant, avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field and renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a71c7ec529adcd36fed5bb570a167ae2f9771750
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:34 2013 +0800
scsi/esp: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ce92a1102be22e2bb82267351834713b8c31542
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:32 2013 +0800
fwcfg: QOM'ify some more
Use type constant if possible and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3b162c3cfb88a57390fef581c1be99648d6d8ab
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:30 2013 +0800
ahci: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3509c396d2894b4dc40a2e33d7c2f795508d7328
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:28 2013 +0800
pflash-cfi02: QOM'ify some more
Introduce type constant and replace FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1b44f0e4191547888ff9750988a4f3e7ca9c60e
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:26 2013 +0800
pflash-cfi01: QOM'ify some more
Introduce type constant and replace FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:24 2013 +0800
fdc: QOM'ify some more
Introduce type constant and avoid DO_UPCAST(), container_of(),
and use DEVICE() to avoid accessing parent qdev directly.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field and avoided repeated SYS_BUS_DEVICE() casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62d92e432f586b2bb99d7824f684df4ebd412ea1
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:23 2013 +0800
q35: Use QOM realize for q35 host bridge
And split off MemoryRegion initialization into instance_init.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce88812f576a0d5b172f99b253bcdc1dc37f86f2
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:22 2013 +0800
q35: Use type-safe cast instead of direct access of parent dev
And remove variables if possible.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Converted remaining access and renamed to parent_obj]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3560fbf012e19c5c9b495cc0d90f2dd4491e09f
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:20 2013 +0800
i440fx-pcihost: Use QOM realize for i440fx-pcihost
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2aedfa464909c887564c65fb3a51c020d71e0b78
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:21 2013 +0800
i440fx: Use type-safe cast instead of direct access of parent dev
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Converted remaining accesses and renamed to parent_obj]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 457215ec6a3acc020d357b958eb513ef944abc93
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:19 2013 +0800
ohci: Use QOM realize for OHCI
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1aa0c0c748ad05cde80b4d6f2907a70bc4089883
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:18 2013 +0800
ohci: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoid remaining OHCIPCIState::pci_dev uses, rename parent fields]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce7243986fe69be831ec893127282fa5a045c985
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:17 2013 +0800
sysbus: Document SysBusDeviceClass::init and realize semantics
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Syntax and wording changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dc4aa51ba8bbef7edf4a104a5a6029a76a68600e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:20:05 2013 +0200
xen/xen_platform: QOM parent field cleanup
Replace direct uses of PCIXenPlatformState::pci_dev field with QOM casts
and rename it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 51a3fe996ba20eca0abfad2b783f27967d759d28
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 17:00:14 2013 +1000
xen/xen_platform: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Dropped opaque casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b7578eaadd71fd7a9101875a32d64a52149d78e5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:15:15 2013 +0200
misc/ivshmem: QOM parent field cleanup
Replace direct uses of IVShmemState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eb3fedf3d4b1a3ed2a31def23e972aa0c3669fff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:59:29 2013 +1000
misc/ivshmem: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Simplified casts and converted two more DO_UPCAST()s]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af21c7403902d5073851ea10371d0761f48e39d1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:01:36 2013 +0200
display/vmware_vga: QOM parent field cleanup
Replace direct uses of pci_vmsvga_state_s::card with QOM casts and
rename it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39d4598763a01816feb828be4633ada780a63886
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:58:45 2013 +1000
display/vmware_vga: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and
direct -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d27a4099e46132768256b686ebf522844a180b6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:48:56 2013 +0200
misc/pci-testdev: QOM parent field cleanup
Replace direct uses of PCITestDevState::dev with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 40108d0a6d1e59aa5904298874753fe0cb420a64
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:58:00 2013 +1000
misc/pci-testdev: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Replaced another DO_UPCAST()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6a6b5580bd03fc7326716ebb36b1f42ebfc0a967
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:40:37 2013 +0200
acpi/piix4: QOM parent field cleanup
Replace direct uses of PIIX4PMState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74e445f6492b315c18e96daa6acb4d50405a0ad9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:57:14 2013 +1000
acpi/piix4: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d3aea5603215b872b6580662d27860eecd6ca24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:19:24 2013 +0200
ide/ich: QOM parent field cleanup
Replace direct uses of AHCIPCIState::card with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd58922cf4ea09c8dbd2d46dd61e50e6559bf447
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:55:45 2013 +1000
ide/ich: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed to TYPE_ICH9_AHCI and used typedef in pci_ich9_reset()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4e5dcc774a4003e313b6eec823067b3980b0bc91
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:07:49 2013 +0200
scsi/esp-pci: QOM parent field cleanup
Replace direct uses of PCIESPState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3a15effe00b5bd223d5932c8d67c9525914a1526
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:55:00 2013 +1000
scsi/esp-pci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52190c1e0a95440e906f3bb7e7c17823f3eac8c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:02:53 2013 +0200
scsi/megasas: QOM parent field cleanup
Replace direct uses of MegasasState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c79e16ae044d265674ef43dfdd694c8fd0f49e19
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:54:15 2013 +1000
scsi/megasas: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 725eec7043bd010856899461817ccd2599a09362
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:52:22 2013 +0200
scsi/lsi53c895a: QOM parent field cleanup
Replace direct uses of LSIState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 71186c867caab48d093fe2c8ae7d8f23d59b0aed
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:53:30 2013 +1000
scsi/lsi53c895a: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b7d3334d062e8c9e4f1b0ad3df35abb08cd8bf0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:38:41 2013 +0200
usb/hcd-xhci: QOM parent field cleanup
Replace direct uses of XHCIState::pci_dev with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 37034575d23a06447e4f44ab365afec6b198c53f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:52:45 2013 +1000
usb/hcd-xhci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Dropped usb_xhci_init() DeviceState argument and renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f8c79468594cc059eac7a26d37fba48107cb2e4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:52:00 2013 +1000
net/pcnet-pci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed parent field, renamed from PC_NET to PCNET]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88a411a8a09102b89ea52fe2511265edd3393cf2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:09:00 2013 +0200
net/rtl8139: QOM parent field cleanup
Replace direct uses of RTL8139State::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39257515888a3fbaa7061c4c2aeeadfe1b9c3c15
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:51:15 2013 +1000
net/rtl8139: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b08340d52b51ab57ba525043dbc83e67ecfcaa23
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 12:55:52 2013 +0200
net/e1000: QOM parent field cleanup
Replace direct uses of E1000State::dev field with QOM casts and rename
it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 567a3c9e7f98f698d1aeb73e32ca614086b63837
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:50:30 2013 +1000
net/e1000: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6783ecf144c80f526c844cade3bf5593fba9e446
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 12:03:44 2013 +0100
hw: Avoid use of QOM type name macros in VMStateDescriptions
The name field in a VMStateDescription is part of the migration state
versioning, so changing it will break migration. It's therefore a
bad idea to use a QOM typename macro to initialize it, because in
general we're free to rename QOM types as part of code refactoring
and cleanup. For the handful of devices that were doing this by
mistake, replace the QOM typenames with the corresponding literal
strings.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[AF: Use TYPE_PVSCSI for TypeInfo instead]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3464700f6aecb3e2aa9098839d90672d6b3fa974
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 12:40:32 2013 +0100
tests: Add test-bitops.c with some sextract tests
Add some simple test cases for the new sextract32
and sextract64 functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1372419632-5521-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2dc6bebde93677b262caff114849d0f5ebdaa82d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 12:40:31 2013 +0100
bitops: Provide sextract32() and sextract64()
A common operation in instruction decoding is to take a field
from an instruction that represents a signed integer in some
arbitrary number of bits, and sign extend it into a C signed
integer type for manipulation. Provide new functions sextract32()
and sextract64() which perform this operation; they are like
the existing extract32() and extract64() except that the field
is sign-extended into the returned result.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1372419632-5521-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd1d9926e91f421bc851f9dd19875f14799c6e4b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Jul 19 12:42:12 2013 -0600
memory: Fix zero-sized memory region print
if mr->size == 0, then
int128_get64(int128_sub(mr->size, int128_make64(1))) => assert(!a.hi)
Also, use int128_one().
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 20130719184124.15864.20803.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 53db78543e473bdf7650a406767d0901c6e26480
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Jul 21 15:39:26 2013 -0800
configure: Remove ldscripts
Since 964c6fa16f50a607f9da5068d6bf15ccc93872c0, these files are unused.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1374449966-12926-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 885a73f72b967900296d71c97cc7c560585a9086
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 10 18:30:38 2013 +0200
linux-user: Avoid conditional cpu_reset()
Some CPUs reset as part of cpu_init(), some others were reset
afterwards, some not at all. While some targets didn't implement a
cpu_[state_]reset() function, QOM cpu_reset() is always available.
There's nothing wrong with resetting twice on startup, so drop
the #ifdef.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 24cb36a61c663d98a53338620e88e4cd3403459a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:45:00 2013 +0100
configure: Make NPTL non-optional
Now all linux-user targets support building with NPTL, we can make it
mandatory. This is a good idea because:
* NPTL is no longer new and experimental; it is completely standard
* in practice, linux-user without NPTL is nearly useless for
binaries built against non-ancient glibc
* it allows us to delete the rather untested code for handling
the non-NPTL configuration
Note that this patch leaves the CONFIG_USE_NPTL ifdefs in the
bsd-user codebase alone. This makes no change for bsd-user, since
our configure test for NPTL had a "#include <linux/futex.h>"
which means bsd-user would never have been compiled with
CONFIG_USE_NPTL defined, and it still is not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 2667e71c3d9262d756bea1473e2ea28eb2c9c070
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:59 2013 +0100
linux-user: Enable NPTL for x86-64
Add x86-64 implementation of cpu_set_tls() (like the kernel, we
just have to call do_arch_prctl() to set FS); this allows us to
enable NPTL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bc22eb447c0552e2327f278fdc6bedccb14fc7a3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jul 16 18:44:58 2013 +0100
linux-user: Add i386 TLS setter
We can easily set the TLS on i386. Add code to do so.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[PMM: also remove "target_nptl=no" line from configure, for
consistency with other patches in this series]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 4ce6243dc6216e35b5b691078ffa856463bfa8db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:57 2013 +0100
linux-user: Clean up handling of clone() argument order
Linux manages to have three separate orderings of the arguments to
the clone() syscall on different architectures. In the kernel these
are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2.
Clean up our implementation of this to use similar #define names
rather than a TARGET_* ifdef ladder.
This includes behaviour changes fixing bugs on cris, x86-64, m68k,
openrisc and unicore32. cris had explicit but wrong handling; the
others were just incorrectly using QEMU's default, which happened
to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears
to be broken in the mainline kernel in that it tries to use arg3 for
both parent_tidptr and newtls simultaneously -- we don't attempt
to emulate this bug...)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d312bbe1051fa563b557de625ca57a466772abe5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:56 2013 +0100
linux-user: Add missing 'break' in i386 get_thread_area syscall
The i386 code for the get_thread_area syscall was missing a
'break' which meant it would have fallen through into the
implementation of the following syscall; add it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1ccd9374af22ec4ed5f864d4935a9cfad01f1204
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:55 2013 +0100
linux-user: Enable NPTL for m68k
For m68k, per-thread data is a purely kernel construct with no
CPU level support. Implement it via a field in the TaskState structure,
used by cpu_set_tls() and the set_thread_area/get_thread_area
syscalls. This allows us to enable compilation with NPTL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f5147c93d0e7f91df0215598017a4d9d6a48f0ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:54 2013 +0100
linux-user: Enable NPTL for SPARC targets
Provide the missing cpu_set_tls(), and resolve the FIXME in
cpu_clone_regs() by clearing the carry flag for the child.
This allows us to turn on building with NPTL for SPARC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 442a59c8ddc55f327ec0219d810fe4580177716a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:53 2013 +0100
linux-user: Enable NPTL for OpenRISC
The OpenRISC kernel ignores CLONE_SETTLS in its copy_thread()
implementation, so a cpu_set_tls() implementation is a no-op.
cpu_clone_regs() was setting the syscall return value in the
wrong register -- it is gpr[11], not gpr[2]. With these two
things fixed, we can compile with NPTL enabled.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dfeab06c98f7bc37f8ad8a6a2f8f677e5a57a55d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:52 2013 +0100
linux-user: Move includes of target-specific headers to end of qemu.h
The target-specific headers (target_cpu.h and target_signal.h)
might need to use the target-independent structure and function
definitions of qemu.h; so include them only at the bottom of
qemu.h, not the top.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 790d440605a997a5e146809e824e95ca22a14652
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:51 2013 +0100
configure: Enable threading for unicore32-linux-user
unicore32-linux-user provides cpu_set_tls(), so the failure
to enable target_nptl was presumably an oversight. Enable it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d769c64147d32a80e5e37d41b397f45943d45e0d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:50 2013 +0100
configure: Enable threading on all ppc and mips linux-user targets
Though threading (target_nptl) was enabled on the base PPC and MIPS
targets, it wasn't enabled for the variants mipsn32, mipsn32el,
mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight).
Enable threading consistently on all these targets.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fa78f3dbe4e0e1d9a34556b73e5118cb40153875
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:49 2013 +0100
configure: Don't say target_nptl="no" if there is no linux-user target
For architectures with no linux-user target, don't claim no NPTL
support. This has no behavioural change, but it means that we
won't accidentally add a new linux-user target without threading
support in future (because attempting to do so would be a compile
failure rather than a silent lack of support).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit aa004f5f9c5785273ef56b8c0b775f57ccb19168
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:48 2013 +0100
configure: Flip default of target_nptl
Most targets either (a) support threading or (b) don't have a
linux-user/bsd-user target, so make it default to 'yes', with those
targets that don't support threading having to specifically say so.
This is a mechanical no-behaviour-change commit; some of the
"no" entries it adds will be taken out in later patches.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b1e749c02172583ca85bb3a964a9b39221f9ac39
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Jul 22 09:04:32 2013 +0200
gtk: Fix accelerator filtering
This is in fact very simply: When the input in grabbed, everything
should be exclusively passed to the guest - except it has our magic
CTRL-ALT modifier set. Then let GTK filter out those accels that are in
use. When checking the modifier state, we just need to filter out NUM
and CAPS lock.
Note: Filtering based on hard-coded modifiers breaks overriding
accelerators. Needs to be fixed at a later point.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 549c272b3c7c2aac69155be2e158c970828b2844
Merge: c9fea5d... fd76663...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:14:24 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130722' into
staging
arm-devs queue
# gpg: Signature made Mon 22 Jul 2013 06:38:52 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (8) and Soren Brinkmann (2)
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130722:
hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header
hw/loader: Support ramdisk with u-boot header
vexpress: Add virtio-mmio transports
vexpress: Make VEDBoardInfo extend arm_boot_info
arm/boot: Allow boards to modify the FDT blob
virtio: Implement MMIO based virtio transport
virtio: Support transports which can specify the vring alignment
virtio: Add support for guest setting of queue size
arm/boot: Use qemu_devtree_setprop_sized_cells()
device_tree: Add qemu_devtree_setprop_sized_cells() utility functions
Message-id: 1374493427-3254-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c9fea5d701f8fd33f0843728ec264d95cee3ed37
Merge: a20bd9e... e1622f4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:14:18 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (2) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: fix incorrect assumptions in memory_access_size
memory: Return -1 again on reads from unsigned regions
memory: actually set the owner
exec.c: Pass correct pointer type to qemu_ram_ptr_length
Message-id: 1374264478-23913-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a20bd9eec3cf3f9dd7e27d45a96d7b1b9ab09ebd
Merge: 5447a9a... be022d6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:49 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Michael Tokarev (2) and others
# Via Michael Tokarev
* mjt/trivial-patches:
doc: monitor multiplexing rewording
block/m25p80: Update Micron entries
Fix command example in qemu.sasl
slirp: remove mbuf(m_hdr,m_dat) indirection
linux-user: declare sys_futex to have 6 arguments
Message-id: 1374225073-12959-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5447a9afc4150693d3909a8632891061147e170d
Merge: 293706d... a23fdf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:34 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Peter Lieven (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block/raw: add .bdrv_get_info
block: fix bdrv_read_unthrottled()
cpus: Let vm_stop[_force_state]() always flush block devices
block-migration: efficiently encode zero blocks
block/raw: add bdrv_co_write_zeroes
block: add bdrv_write_zeroes()
block: fix vvfat error path for enable_write_target
QEMUBH: make AioContext's bh re-entrant
dataplane: sync virtio.c and vring.c virtqueue state
gluster: Add discard support for GlusterFS block driver.
gluster: Use pkg-config to configure GlusterFS block driver
Message-id: 1374223132-29107-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 293706dd682f578b457d052988cf3c20b4eab82d
Merge: 90c66f5... b957a1b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:27 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
pc-bios: Update palcode-clipper
target-alpha: Move alarm to vm_clock
Message-id: 1374161033-11449-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90c66f587c8d020a642d3c9376f9102c16f2234e
Merge: 2494397... 3ba0063...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:15 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Markus Armbruster
# Via Stefan Hajnoczi
* stefanha/tracing:
trace-events: Fix up source file comments
trace-events: Drop unused events
milkymist-minimac2: Fix minimac2_read/_write tracepoints
slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints
cleanup-trace-events.pl: New
Message-id: 1374119369-26496-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd76663e3fe59dc7f7d5c439561b74f472727137
Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Date: Mon Jul 8 15:40:02 2013 -0700
hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header
The load_ramdisk function is used to load ramdisk featuring a U-Boot
header.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373323202-17083-3-git-send-email-soren.brinkmann@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 84aee0deae0de620277759e2c3cd3a9cf45390b0
Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Date: Mon Jul 8 15:40:01 2013 -0700
hw/loader: Support ramdisk with u-boot header
Introduce 'load_ramdisk()' which can load "normal" ramdisks and ramdisks
with a u-boot header.
To enable this and leverage synergies 'load_uimage()' is refactored to
accomodate this additional use case.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373323202-17083-2-git-send-email-soren.brinkmann@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c8a07b355d7de568b93a61eb09cfe953ef0db409
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:12 2013 +0100
vexpress: Add virtio-mmio transports
Add some virtio-mmio transports to the vexpress board model,
together with a modify_dtb hook which adds them to the device
tree so that the kernel will probe for them. We put them
in a reserved area of the address map.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-9-git-send-email-peter.maydell@xxxxxxxxxx
commit cef04a26e76c9beb6f51f1703ccf17440619e226
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:11 2013 +0100
vexpress: Make VEDBoardInfo extend arm_boot_info
Make the VEDBoardInfo struct extend arm_boot_info; this will
allow us to get at the VEDBoardInfo information inside callbacks
from arm/boot code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-8-git-send-email-peter.maydell@xxxxxxxxxx
commit 3b1cceb8b52320150fd93dc094ba11fd01c6adfa
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:10 2013 +0100
arm/boot: Allow boards to modify the FDT blob
Add a callback hook in arm_boot_info to allow board models to
modify the device tree blob if they need to. (The major expected
use case is to add virtio-mmio nodes for virtio-mmio transports
that exist in QEMU but not in the hardware.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 4b52530be987f33f8bffbdec9826298ad53ec180
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:09 2013 +0100
virtio: Implement MMIO based virtio transport
Add support for the generic MMIO based virtio transport.
This patch includes some fixes for bugs spotted by
Ying-Shiuan Pan <yspan@xxxxxxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1373977512-28932-6-git-send-email-peter.maydell@xxxxxxxxxx
[Fred changes: updated to new virtio-bus mechanisms]
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
[PMM changes:
* fixed trivial makefile conflict
* removed unused int_enable
* host_features doesn't need migrating
* reset guest accessible state in the reset function
* minor style fixes like extra blank lines
* RAZ/WI if there's no backend
* made transport size 0x200, in line with kvmtool
* set has_variable_vring_alignment
]
commit 6ce69d1c7741c0ad524e4cad6dca31e782108a65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:08 2013 +0100
virtio: Support transports which can specify the vring alignment
Support virtio transports which can specify the vring alignment
(ie where the guest communicates this to the host) by providing
a new virtio_queue_set_align() function. (The default alignment
remains as before.)
Transports which wish to make use of this must set the
has_variable_vring_alignment field in their VirtioBusClass
struct to true; they can then change the alignment via
virtio_queue_set_align().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-5-git-send-email-peter.maydell@xxxxxxxxxx
commit e63c0ba1bce0b3cc7037c6c2d327267a585534ec
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:07 2013 +0100
virtio: Add support for guest setting of queue size
The MMIO virtio transport spec allows the guest to tell the host how
large the queue size is. Add virtio_queue_set_num() function which
implements this in the QEMU common virtio support code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 70976c41c1def9d6e8b664c64cdf83b1ea0daa03
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:06 2013 +0100
arm/boot: Use qemu_devtree_setprop_sized_cells()
Replace the opencoded assembly of the reg property array for the
/memory node with a call to qemu_devtree_setprop_sized_cells().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1373977512-28932-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 97c38f8c279ae2f71cb0f6aed11aa94ef59b2955
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:05 2013 +0100
device_tree: Add qemu_devtree_setprop_sized_cells() utility functions
We already have a qemu_devtree_setprop_cells() which sets a dtb
property to an array of cells whose values are specified by varargs.
However for the fairly common case of setting a property to a list
of addresses or of address,size pairs the number of cells used by
each element in the list depends on the parent's #address-cells
and #size-cells properties. To make this easier we provide an analogous
qemu_devtree_setprop_sized_cells() macro which allows the number
of cells used by each element to be specified. This is implemented
using an underlying qemu_devtree_setprop_sized_cells_from_array()
function which takes the values and sizes as an array; this may
also be directly useful for cases where the cell contents are
constructed programmatically.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1373977512-28932-2-git-send-email-peter.maydell@xxxxxxxxxx
commit be022d61f4938bb051e8af8e6cb470ec1602c488
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jul 11 12:55:50 2013 +0400
doc: monitor multiplexing rewording
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f5aac8e07ff25846c7a5c1a5153c49c18715d9f0
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue Jun 4 11:59:14 2013 -0400
block/m25p80: Update Micron entries
- Split 32Mb and 256Mb parts into a11 and a13 variants.
- Add the 4K sector flag to the 128Mb parts. (These entries were taken
from
the Linux kernel list, which is missing the flag.)
- Fill out the table of sizes with entries for 64Mb parts.
Prodded by Peter Crosthwaite.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 805695daf64879959e3ea357fe9c391ddacea9c6
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Jul 9 10:07:53 2013 -0400
Fix command example in qemu.sasl
sasldblistusers2 doesn't have a '-a' option
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0e44486cdccb4c1f9e5fad390cfd7186850c7204
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jul 13 13:10:05 2013 +0400
slirp: remove mbuf(m_hdr,m_dat) indirection
commit 43be1343667ae03cfb0c9ea4d56575c61b5c8d92
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 15 15:17:40 2013 +0200
linux-user: declare sys_futex to have 6 arguments
sys_futex has 6 arguments, and all of these need to be copied. Fix
incorrect
declaration in the mips_syscall_args array.
This change fixes the cases where the 5th and 6th arguments have non-zero
value and have importance. An example is a Linux implementation of
pthread_cond_wait() function.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a23fdf355969d331f60593fa5b857d43aec25aac
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jul 15 12:49:34 2013 +0200
block/raw: add .bdrv_get_info
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e7395e84fc7534f6a6c6f3d5563e770501dbe2e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 18 10:37:32 2013 +0200
block: fix bdrv_read_unthrottled()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 594a45ce64dbef1829996403506a1154eb2fd1cc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 18 14:52:19 2013 +0200
cpus: Let vm_stop[_force_state]() always flush block devices
Even if the VM is already stopped, we cannot assume that all data has
already been successfully flushed to disk. The flush during the previous
vm_stop() could have failed.
Run bdrv_flush_all() unconditionally so that we get an error each time
if the block device isn't really flushed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 323004a39d4d8d33c744a5b108f80bfe6402fca3
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 18 09:48:50 2013 +0200
block-migration: efficiently encode zero blocks
this patch adds a efficient encoding for zero blocks by
adding a new flag indicating a block is completely zero.
additionally bdrv_write_zeros() is used at the destination
to efficiently write these zeroes. depending on the implementation
this avoids that the destination target gets fully provisioned.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8bf9344ad6883e6d85b69bab36d9d76e4257e9ed
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:23 2013 +0200
block/raw: add bdrv_co_write_zeroes
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4105eaaab9376ea959de711b81bba9e1494c971d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:22 2013 +0200
block: add bdrv_write_zeroes()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 78f27bd02ceba4a2f6ac5c725f4d4410eec205ef
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jul 17 17:57:37 2013 +0800
block: fix vvfat error path for enable_write_target
s->qcow and s->qcow_filename are allocated but not freed on error. Fix the
possible leaks, remove unnecessary check for bdrv_new(), propagate ret
code of
bdrv_create() and also the one of enable_write_target().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dcc772e2f2b7c2a68644133fea2b874f6751a57b
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Tue Jul 16 12:28:58 2013 +0800
QEMUBH: make AioContext's bh re-entrant
BH will be used outside big lock, so introduce lock to protect
between the writers, ie, bh's adders and deleter. The lock only
affects the writers and bh's callback does not take this extra lock.
Note that for the same AioContext, aio_bh_poll() can not run in
parallel yet.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9154b02c53bb6685797c973fcdbec51c4714777d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 1 13:29:17 2013 +0200
dataplane: sync virtio.c and vring.c virtqueue state
Load the virtio.c state into vring.c when we start dataplane mode and
vice versa when stopping dataplane mode. This patch makes it possible
to start and stop dataplane any time while the guest is running.
This will eventually allow us to go back to QEMU main loop for
bdrv_drain_all() and live migration. In the meantime, this patch makes
the dataplane lifecycle more robust but should make no visible
difference. It may be useful in the virtio-net dataplane effort.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0c14fb47ece5ef42d7a0a4b3e8e43e022b375720
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 21:47:42 2013 +0530
gluster: Add discard support for GlusterFS block driver.
Implement bdrv_aio_discard for gluster.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e01bee0881e0f0c8a79555f6729d7238841a5b04
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 21:47:41 2013 +0530
gluster: Use pkg-config to configure GlusterFS block driver
Use pkg-config to determine the version and library dependency
for GlusterFS block driver.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24943978cbe79634a9a8b02a20efb25b29b3ab49
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:23 2013 +0200
boot-order-test: Add tests for Sun4u
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-13-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26491a388ce69d80c6d7d2b15ddf93d4399f04bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:22 2013 +0200
libqos: Generalize I/O-mapped fw_cfg
Provide a constructor that takes the base address in addition to the
PC-specific one.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-12-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f88dc7dd4d5942714672aa293a3357f5c6469568
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:21 2013 +0200
boot-order-test: Add tests for Sun4m
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-11-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e99f87cc86ba57a57d2472342a51d21f1e8b4966
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:20 2013 +0200
boot-order-test: Add tests for PowerPC PREP
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-10-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 484986e24282e922e5acb1db2c2b324e55c39ea4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:19 2013 +0200
boot-order-test: Code motion for better readability
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aea6a16907ca377d450d344dddda8456f87d5c0b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:18 2013 +0200
boot-order-test: Better separate target-specific and generic parts
The initial version did just PC. I didn't bother to separate out
generic parts, because I don't like to abstract from a single case.
Now we have two cases, PC and PowerMac, and I'm about to add more.
Time to do it right.
To ease review, this commit changes the code in-place, and the next
commit reorders it for better readability.
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 995b0e136fca7786657c5b63fa094032114615e3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:17 2013 +0200
boot-order-test: Cover -boot once in ppc tests
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 530a7e48bccddd8f1558f48cd4e3f6d46c272c83
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 26 15:52:16 2013 +0200
boot-order-test: Add tests for PowerMacs
They set the boot device via fw_cfg, which is then translated to a boot
path of "hd" or "cd" in OpenBIOS.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-6-git-send-email-armbru@xxxxxxxxxx
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Converted to libqos/fw_cfg on Anthony's request.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7a10016509f740ef33b7875630d6c3549d57c6e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:15 2013 +0200
libqos: Add support for memory-mapped fw_cfg
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db2b5500c9780730b8ad09fca4a1d2de365dcbf0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jun 26 15:52:14 2013 +0200
libqos: include dependencies
Otherwise rebuilds can fail when libqos is modified.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edbd790d20cf19d039dfe431aaf0973a9e0afa8f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:13 2013 +0200
boot-order-test: New; covering just PC for now
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba646ff6a3149f416424122c628e798be4957997
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:12 2013 +0200
qtest: Don't reset on qtest chardev connect
libqtest's qtest_init() connecting to the qtest socket triggers reset.
This was coded in the hope we could use the same QEMU process for
multiple tests that way. Never used. Injects an extra reset even
when it's not used, and that can mess up tests such as the one of
-boot once I'm about to add. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1d9358e686125c125b52529fa68baf36aa2d0d09
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 20 08:55:29 2013 +0200
libqtest: New qtest_end() to go with qtest_start()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371711329-9144-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fdd26fca3ce66863e547560fbde1a444fc5d71b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 20 08:55:28 2013 +0200
libqtest: Plug fd and memory leaks in qtest_quit()
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371711329-9144-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 293d2a0014a0e849477413f55aaa05f2743b2e04
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jul 16 20:19:41 2013 +0200
monitor: maintain at most one G_IO_OUT watch
When monitor_flush() is invoked repeatedly outside the monitor_unblocked()
callback, for example from tlb_info() -> ... -> print_pte(), several
watches may be added for the same event.
This is no problem per se because the extra monitor_unblocked() callbacks
are harmless if mon->outbuf is empty, the watches will be removed
gradually. However a big number of watches can grow "gpollfds" without
limit in glib_pollfds_fill(), triggering a -1/EINVAL condition in
g_poll().
Keep at most one such watch, by following the pattern observable in eg.
commits c874ea97 and c3d6b96e. The change has no effect when
monitor_unblocked() calls monitor_flush() (when the watch can either be
removed or renewed 1-for-1), but non-callback contexts won't create an
additional watch when the monitor already has one.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=970047
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1373998781-29561-3-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ac8c26f633b01bb32cdf347f9dbd5a80c6712925
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jul 16 20:19:40 2013 +0200
char: io_channel_send: don't lose written bytes
The g_io_channel_write_chars() documentation states,
bytes_written: The number of bytes written. This can be nonzero even if
the return value is not G_IO_STATUS_NORMAL. [...]
io_channel_send() could lose such bytes before.
Furthermore, the (status == G_IO_STATUS_EOF) condition used to evaluate to
constant false whenever it was reached. When that condition actually held,
it always led to -1 / EINVAL. This patch (almost) distinguishes
G_IO_STATUS_EOF only when no bytes have been written, and then treats it
as an error.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1373998781-29561-2-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d185e638861bd9b05b2abb43774a368cadabd38
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jul 18 16:42:01 2013 +0100
configure: Provide more helpful message if libvte not present
If the system has GTK but not libvte, it's more helpful to
tell the user that libvte is missing than to simply say that
GTK is not present.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374162121-31582-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b957a1b03cfd56134519ebc01ba8fe1b166c0c84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 16 06:48:28 2013 -0700
pc-bios: Update palcode-clipper
Update image to c87a92639b28ac42bc8f6c67443543b405dc479b,
incorporating changes for vm_time.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19e0cbb82ffab7220cdbcc78ab2c1dac823ce4e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 16 06:45:57 2013 -0700
target-alpha: Move alarm to vm_clock
Basing the alarm off the rtc_clock was silly. It leads to horrible
spinning in the guest after being suspended and resumed, as it tries
to catch up with lost ticks.
This requires adding an accessor for reading the vm_clock too.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28199c48ed44895012ae0be3b6e8f080404a4d34
Merge: bbcf59b... 7b4b0e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:14:22 2013 -0500
Merge remote-tracking branch 'awilliam/tags/vfio-for-qemu-1.6' into
staging
vfio: enhanced VGA quirks + AER error containment
# gpg: Signature made Wed 17 Jul 2013 05:39:38 PM CDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson (1) and Vijay Mohan Pandarathil (1)
# Via Alex Williamson
* awilliam/tags/vfio-for-qemu-1.6:
vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices
vfio-pci: VGA quirk update
Message-id: 20130717224939.4763.87264.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bbcf59bc4ba813b1ff8f1312585f773a675b2e3e
Merge: 5ab4dba... f9b1d9b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:14:10 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qmp: update send-key document
qapi: qapi-commands: fix possible leaks on visitor dealloc
Message-id: 1374093679-29213-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5ab4dba4dac1932f8b14561772d3473d02ccd259
Merge: e9acb8c... 0777b5d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:13:50 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (4) and Ronnie Sahlberg (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: factor out sector conversions
iscsi: assert that sectors are aligned to LUN blocksize
iscsi: remove support for misaligned nb_sectors in aio_readv
iscsi: fix -ENOSPC in iscsi_create()
Fix iSCSI crash on SG_IO with an iovector
Message-id: 1374073524-8469-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9acb8cea9b11679cab8cb3c20c4348803bbb58a
Merge: 6453a3a... d26d9e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:12:47 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,net,pc enhancements
This includes some fixes and enhancements that accumulated in my tree:
pci fixes by dkoch, virtio-net enhancements by akong and mst,
and a fix for xen pc by mst.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 17 Jul 2013 04:44:45 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Don Koch (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pc: don't access fw cfg if NULL
virtio-net: add feature bit for any header s/g
net: add support of mac-programming over macvtap in QEMU side
pci: fix BRDIGE typo
pci-bridge: update mappings for migration/restore
Message-id: 1374054430-21966-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1622f4b15391bd44eb0f99a244fdf19a20fd981
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 17 13:17:41 2013 +0200
exec: fix incorrect assumptions in memory_access_size
access_size_min can be 1 because erroneous accesses must not crash
QEMU, they should trigger exceptions in the guest or just return
garbage (depending on the CPU). I am not sure I understand the
comment: placing a 4-byte field at the last byte of a region
makes no sense (unless impl.unaligned is true), and that is
why memory.c:access_with_adjusted_size does not bother with
minimums larger than the remaining length.
access_size_max can be mr->ops->valid.max_access_size because memory.c
can and will still break accesses bigger than
mr->ops->impl.max_access_size.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 16 14:45:16 2013 +0200
memory: Return -1 again on reads from unsigned regions
This restore the behavior prior to b018ddf633 which accidentally changed
the return code to 0. Specifically guests probing for register existence
were affected by this.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b4afea11aafe85975e74dd562bb94f7ce3de1ef1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 15 15:48:50 2013 +0200
memory: actually set the owner
Brown paper bag for me. Originally commit 803c0816 came before commit
2c9b15c. When the order was inverted, I left in the NULL initialization
of mr->owner.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb85f7ab045e8c05ee182b3573c9aba8e287e36b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 8 09:44:04 2013 +0100
exec.c: Pass correct pointer type to qemu_ram_ptr_length
Commit e3127ae0 introduced a problem where we're passing a
hwaddr* to qemu_ram_ptr_length() but it wants a ram_addr_t*;
this will cause problems on 32 bit hosts and in any case
provokes a clang warning on MacOSX:
CC arm-softmmu/exec.o
exec.c:2164:46: warning: incompatible pointer types passing 'hwaddr *'
(aka 'unsigned long long *') to parameter of type 'ram_addr_t *'
(aka 'unsigned long *')
[-Wincompatible-pointer-types]
return qemu_ram_ptr_length(raddr + base, plen);
^~~~
exec.c:1392:63: note: passing argument to parameter 'size' here
static void *qemu_ram_ptr_length(ram_addr_t addr, ram_addr_t *size)
^
Since this function is only used in one place, change its
prototype to pass a hwaddr* rather than a ram_addr_t*,
rather than contorting the calling code to get the type right.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ba00637d024b9d43b26106060a23a85411d0757
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:21 2013 +0200
trace-events: Fix up source file comments
They're all wrong since (at least) Paolo's big source tree
reorganization. Need to shuffle some event declarations around to
keep them under the correct source file comment.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3ae76d23d21a1f47390c6abe3497c33b708aec1f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:20 2013 +0200
trace-events: Drop unused events
Dropped event Unused since
mirror_cow 884fea4
paio_complete 47e6b25
paio_cancel 47e6b25
usb_ehci_data 0ce668b
megasas_qf_dequeue never used
megasas_handle_frame never used
megasas_io_continue never used
megasas_iovec_map_failed never used
megasas_dcmd_map_failed never used
milkymist_softusb_mouse_event 4c15ba9
xen_map_block 6506e4f
xen_unmap_block 6506e4f
qemu_spice_start 67be672
qemu_spice_stop 67be672
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ece9671fd22e3ea518aa30f941e8794116985e7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:19 2013 +0200
milkymist-minimac2: Fix minimac2_read/_write tracepoints
Broken in milkymist-minimac.c from the start (commit 0742454),
faithfully moved to milkymist-minimac2.c (commit 57aa265).
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f3a64b8c89ac9b5111f97e2653d249e4668764b3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:18 2013 +0200
slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints
Broken since they got added in commit 97bf485.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0c03c8cf6184f25ba91449c1ff77e5e006ce514
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:17 2013 +0200
cleanup-trace-events.pl: New
Simple script to drop unused events and fix up source file comments.
The next few commits put it to use.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f9b1d9b20f5d25b95f67a498e312f625d168fc51
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jul 16 19:52:14 2013 +0800
qmp: update send-key document
commit 9f328977 changes qmp_send_key() to accept key codes in hex,
but the document wasn't updated. The items of keys list is union
now, not enum.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0777b5dde42f4f453abc8bb2c4e145fb8749415d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:25 2013 +0200
iscsi: factor out sector conversions
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:27 2013 +0200
iscsi: assert that sectors are aligned to LUN blocksize
if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE
it is possible that sector_num or nb_sectors are not correctly
aligned.
to avoid corruption we fail requests which are misaligned.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:26 2013 +0200
iscsi: remove support for misaligned nb_sectors in aio_readv
this hask is not working (anymore). support for misaligned offsets should
be handled at the block layer.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3bda7bc166f40326ba646ee145630bb1b59da96
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:24 2013 +0200
iscsi: fix -ENOSPC in iscsi_create()
the -ENOPSC case did not work due to the missing goto.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0a53f010745635c39a83756a948df60a84e88fe5
Author: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Sun Jun 23 08:07:08 2013 -0700
Fix iSCSI crash on SG_IO with an iovector
Don't assume that SG_IO is always invoked with a simple buffer,
check the iovec_count and if it is >= 1 then we need to pass an array
of iovectors to libiscsi instead of just a plain buffer.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Jul 11 14:26:56 2013 -0400
qapi: qapi-commands: fix possible leaks on visitor dealloc
In qmp-marshal.c the dealloc visitor calls use the same errp
pointer of the input visitor calls. This means that if any of
the input visitor calls fails, then the dealloc visitor will
return early, before freeing the object's memory.
Here's an example, consider this code:
int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict,
QObject **ret)
{
[...]
char * device = NULL;
char * password = NULL;
mi = qmp_input_visitor_new_strict(QOBJECT(args));
v = qmp_input_get_visitor(mi);
visit_type_str(v, &device, "device", errp);
visit_type_str(v, &password, "password", errp);
qmp_input_visitor_cleanup(mi);
if (error_is_set(errp)) {
goto out;
}
qmp_block_passwd(device, password, errp);
out:
md = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md);
visit_type_str(v, &device, "device", errp);
visit_type_str(v, &password, "password", errp);
qapi_dealloc_visitor_cleanup(md);
[...]
return 0;
}
Consider errp != NULL when the out label is reached, we're going
to leak device and password.
This patch fixes this by always passing errp=NULL for dealloc
visitors, meaning that we always try to free them regardless of
any previous failure. The above example would then be:
out:
md = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md);
visit_type_str(v, &device, "device", NULL);
visit_type_str(v, &password, "password", NULL);
qapi_dealloc_visitor_cleanup(md);
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7b4b0e9eda51902b53bc1a2318df53cdb8b72eed
Author: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx>
Date: Mon Jul 15 15:49:49 2013 -0600
vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices
Add support for error containment when a VFIO device assigned to a KVM
guest encounters an error. This is for PCIe devices/drivers that support
AER
functionality. When the host OS is notified of an error in a device either
through the firmware first approach or through an interrupt handled by
the AER
root port driver, the error handler registered by the vfio-pci driver gets
invoked. The qemu process is signaled through an eventfd registered per
VFIO device by the qemu process. In the eventfd handler, qemu decides on
what action to take. In this implementation, guest is brought down to
contain the error.
The kernel patches for the above functionality has been already accepted.
This is a refresh of the QEMU patch which was reviewed earlier.
http://marc.info/?l=linux-kernel&m=136281557608087&w=2
This patch has the same contents and has been built after refreshing
to latest upstream and after the linux headers have been updated in qemu.
- Create eventfd per vfio device assigned to a guest and register an
event handler
- This fd is passed to the vfio_pci driver through the SET_IRQ ioctl
- When the device encounters an error, the eventfd is signalled
and the qemu eventfd handler gets invoked.
- In the handler decide what action to take. Current action taken
is to stop the guest.
Signed-off-by: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 39360f0b91d38790b5756d621ca9a7dd93ca8816
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Jul 15 15:48:11 2013 -0600
vfio-pci: VGA quirk update
Turns out all the suspicions for AMD devices were correct, everywhere
we read a BAR address that the address matches the config space offset,
there's full access to PCI config space. Attempt to generalize some
helpers to allow quirks to easily be added for mirrors and windows.
Also fill in complete config space for AMD.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit f290e4988dd8eb012de0517a1ff93df130e87da1
Merge: a281778... c6d8ed2...
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 15 13:21:10 2013 -0700
Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next
commit a28177820a868eafda8fab007561cc19f41941f4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 18 19:20:47 2013 +0200
tcg: Remove temp_buf
All targets have been converted to allocating space for temporaries
on the stack. No need to allocate space within the CPU_COMMON block.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6453a3a69488196f26d12654c6b148446abdf3d6
Merge: 2562bec... 7ca1dfa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:49:15 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Chegu Vinod
# Via Juan Quintela
* quintela/migration.next:
Force auto-convegence of live migration
Add 'auto-converge' migration capability
Introduce async_run_on_cpu()
Message-id: 1373664508-5404-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2562becfc126ed7678c662ee23b7c1fe135d8966
Merge: ab4e158... bf72d89...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:41 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Dominik Dingel
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Enable x-data-plane for virtio-ccw-blk
Message-id: 1373903207-27085-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab4e1589f072c7a5d1238c7f0d289c163c7736b2
Merge: 1750d01... 82a3a11...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:32 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130715-1'
into staging
target-arm queue
# gpg: Signature made Mon 15 Jul 2013 11:15:13 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Mans Rullgard (3) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130715-1:
target-arm: Avoid g_hash_table_get_keys()
target-arm: avoid undefined behaviour when writing TTBCR
target-arm/helper.c: Allow const opaques in arm CP
target-arm/helper.c: Implement MIDR aliases
target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup
target-arm: explicitly decode SEVL instruction
target-arm: implement LDA/STL instructions
target-arm: add feature flag for ARMv8
Message-id: 1373905022-27735-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1750d019cea1e2383d3283eaad38cd0f93d07b11
Merge: a34001f... b25a83f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:12 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130715' into
staging
arm-devs queue
# gpg: Signature made Mon 15 Jul 2013 10:53:44 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (4) and others
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130715:
ARM/highbank: add support for Calxeda ECX-2000 / Midway
ARM/highbank: prepare for adding similar machines
hw/arm/vexpress: Add alias for flash at address 0 on A15 board
hw/dma/omap_dma: Fix bugs with DMA requests above 32
sd/pl181.c: Avoid undefined shift behaviour in RWORD macro
hw/cpu/a15mpcore: Correct default value for num-irq
char/cadence_uart: Fix reset for unattached instances
Message-id: 1373904095-27592-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a34001fab5da2d0df605a8b83880c917c8aa0606
Merge: 5699a02... e605e96...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:00:57 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
hw/alpha: Use SRM epoch
hw/alpha: Drop latch_tmp hack
exec: Support 64-bit operations in address_space_rw
hw/alpha: Don't machine check on missing pci i/o
hw/alpha: Don't use get_system_io
Message-id: 1373840171-25556-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5699a02e01a4d046652bc6e77abd67e887ae209c
Merge: c3cb8e7... a62eaa2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:00:32 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (6) and Stefan Hajnoczi (2)
# Via Kevin Wolf
* kwolf/for-anthony:
ahci: Fix FLUSH command
migration: Fail migration on bdrv_flush_all() error
cpus: Add return value for vm_stop()
block: Add return value for bdrv_flush_all()
qemu-iotests: Update 051 reference output
block: Don't parse protocol from file.filename
block: add drive_backup HMP command
blockdev: add sync mode to drive-backup QMP command
Message-id: 1373887000-4488-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d26d9e14c15837eba2b7447e8d15230bab8e0940
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 10 18:28:04 2013 +0300
pc: don't access fw cfg if NULL
commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
"pc: pass PCI hole ranges to Guests"
broke Xen as it has no fw_cfg.
Check for this configuration and boil out.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 488f069bd1f3aeb6ee748acb02b7581831bcb3f8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Jul 11 16:06:46 2013 +0300
virtio-net: add feature bit for any header s/g
Old qemu versions required that 1st s/g entry is the header.
Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup"
removed this limitation but a feature bit is needed so guests know it's
safe to lay out header differently.
This patch applies on top and adds such a feature bit to QEMU.
It is set by default for virtio-net.
virtio net header inline with the data is beneficial
for latency and small packet bandwidth - guest driver
code utilizing this feature has been acked but missed 3.11
by a narrow margin, it's pending for 3.12.
This feature bit is cleared by default when compatibility with old
machine types is requested.
Other performance-sensitive devices (blk and scsi)
don't yet support arbitrary s/g layouts, so
we only set this bit for virtio-net for now.
There are plans to allow arbitrary layouts there, but
no code has been posted yet.
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b1be42803b31a913bab65bab563a8760ad2e7f7f
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Jun 14 15:45:52 2013 +0800
net: add support of mac-programming over macvtap in QEMU side
Currently macvtap based macvlan device is working in promiscuous
mode, we want to implement mac-programming over macvtap through
Libvirt for better performance.
Design:
QEMU notifies Libvirt when rx-filter config is changed in guest,
then Libvirt query the rx-filter information by a monitor command,
and sync the change to macvtap device. Related rx-filter config
of the nic contains main mac, rx-mode items and vlan table.
This patch adds a QMP event to notify management of rx-filter change,
and adds a monitor command for management to query rx-filter
information.
Test:
If we repeatedly add/remove vlan, and change macaddr of vlan
interfaces in guest by a loop script.
Result:
The events will flood the QMP client(management), management takes
too much resource to process the events.
Event_throttle API (set rate to 1 ms) can avoid the events to flood
QMP client, but it could cause an unexpected delay (~1ms), guests
guests normally expect rx-filter updates immediately.
So we use a flag for each nic to avoid events flooding, the event
is emitted once until the query command is executed. The flag
implementation could not introduce unexpected delay.
There maybe exist an uncontrollable delay if we let Libvirt do the
real change, guests normally expect rx-filter updates immediately.
But it's another separate issue, we can investigate it when the
work in Libvirt side is done.
Michael S. Tsirkin: tweaked to enable events on start
Michael S. Tsirkin: fixed not to crash when no id
Michael S. Tsirkin: fold in patch:
"additional fixes for mac-programming feature"
Amos Kong: always notify QMP client if mactable is changed
Amos Kong: return NULL list if no net client supports rx-filter query
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 82a3a11897308b606120f7235001e87809708f85
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 1 12:40:19 2013 +0100
target-arm: Avoid g_hash_table_get_keys()
g_hash_table_get_keys() was only introduced in glib 2.14, and we're
still targeting a minimum version of 2.12. Rewrite the offending
code (introduced in commit 721fae1) to use g_hash_table_foreach()
to build the list of keys.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1372678819-8633-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 2ebcebe262e88111ff583f97bc5fe0aae64b8940
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 16:38:47 2013 +0100
target-arm: avoid undefined behaviour when writing TTBCR
LPAE CPUs have more potentially valid bits in the TTBCR, and so the
simple masking out of invalid bits is no longer sufficient to obtain
the base address width field of the register, which is what we use to
precalculate c2_mask and c2_base_mask. Explicitly extract the
relevant register field rather than simply shifting by the register
value.
This bug would have had no ill effects in practice, since if the
EAE bit (TTBCR bit 31) is set then we don't use the precalculated
masks, and if EAE is zero then bits 30..3 are all UNK/SBZP, so
well-behaved guests won't set them. However the shift is undefined
behaviour, so we should avoid it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372347527-4428-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 204a9c43afb92e2ff44fc9d1d377bc98ee97e3d7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:22:59 2013 +1000
target-arm/helper.c: Allow const opaques in arm CP
Allow for defining const opaque data in ARM CP register definitions by
setting .opaque = foo. If non null opaque is passed into
define_one_arm_cp_reg_with_opaque then that opaque will take
precedence, otherwise if null opaque is passed, the original opaque
data will be used.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cf0a3ac3438d97464240db9f5f4ef1585cbc1d77.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97ce8d61559b99492b4d389eba51a198e55b8455
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:22:21 2013 +1000
target-arm/helper.c: Implement MIDR aliases
Unimplemented registers in the cp15, CRn=0, opc1=0, CRm=0 space default
to aliasing the MIDR register. Set all registers in the space to access
MIDR by default.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
6127846712b7ad2727354a4f5e1d809451f1e859.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a703eda18a5c3e9b45f2b9a337a3e1e16c836cf9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:21:42 2013 +1000
target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup
The if block detecting OMAP/StrongARM modifies the id_cp_reginfo
.access fields in place. So there is no need to replicate the call
to define_arm_cp_reg(). Dropped, and let the OMAP case fall through
to the normal behaviour after the in-place modification.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
72aae9b8ebbc9a76d2b06faf8666ef8a4b34b92a.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 12b10571141a20e1c23d3b597e55d5d1a3113265
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: explicitly decode SEVL instruction
The ARMv8 SEVL instruction is in the architectural hint space already
emulated as nop. This makes the decoding of SEVL explicit for clarity.
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Message-id: 1370606786-5650-3-git-send-email-mans@xxxxxxxxx
[PMM: added 'SEVL' to the TODO comment]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2359bf80c1c4e8ed1e7ddb03661fec6bace82a87
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: implement LDA/STL instructions
This adds support for the ARMv8 load acquire/store release instructions.
Since qemu does nothing special for memory barriers, these can be
emulated like their non-acquire/release counterparts.
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bf72d89f0a8fb27a6bfde1a689690fd577227762
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Thu Jul 11 13:22:19 2013 +0200
virtio-ccw: Enable x-data-plane for virtio-ccw-blk
Add property x-data-plane to virtio-ccw-blk devices.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b25a83f0538fceede15cba6cfd6ea0f1ffc9d777
Author: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Date: Fri Jul 5 14:21:37 2013 +0200
ARM/highbank: add support for Calxeda ECX-2000 / Midway
The Calxeda ECX-2000 chip (aka. Midway) is model-wise quite similar
to the Highbank. The most prominent difference is the Cortex-A15 CPU
core in it, together with the associated core peripherals.
Add a new ARM machine type called "midway".
Move the L2 cache controller device into the Highbank specific part,
since Midway does not have (and need) it.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Message-id: 1373026897-12085-3-git-send-email-andre.przywara@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 574f66bcbe10cd8fbf8bbf6d87451a944ae421bd
Author: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Date: Fri Jul 5 14:21:36 2013 +0200
ARM/highbank: prepare for adding similar machines
To allow the modelling of machines similar to Calxeda Highbank,
introduce a parameter to the init function and call it from a
wrapper. This allows to tweak the definition for individual machines
later on.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Message-id: 1373026897-12085-2-git-send-email-andre.przywara@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8941d6ce25b43824cf96d30cb94742e02e80b2f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 9 13:49:40 2013 +0100
hw/arm/vexpress: Add alias for flash at address 0 on A15 board
The A15 Versatile Express board can remap a variety of things at address
0. We don't currently emulate the Serial Configuration Controller which
is how the guest can control this remapping, but we can provide the
initial default mapping of the first flash device into this space.
In particular this allows QEMU to boot flash images such as UEFI which
expect to include an exception vector table.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Grant Likely <grant.likely@xxxxxxxxxx>
Message-id: 1373374180-19884-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 7648673636bbd7dcb9abf3cc87a8ba7a65b85436
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 13:51:59 2013 +0100
hw/dma/omap_dma: Fix bugs with DMA requests above 32
The drqbmp field of struct soc_dma_s is a uint64_t; however several
places in the code attempt to set bits in it using "(1 << drq)",
which will fail if drq is large enough that the 1 bit gets shifted
off the top of a 32 bit integer. Change these to "(1ULL << drq)" so
that the promotion to 64 bit happens before the shift rather than
afterwards.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372423919-5669-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 8827b0fb66cab9f7978c4e66dad4cf3c0989a72e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 15:03:51 2013 +0100
sd/pl181.c: Avoid undefined shift behaviour in RWORD macro
Add a cast to avoid potentially shifting into the sign bit of
a signed value, which is undefined behaviour in C.
(Detected with clang's -fsanitize=undefined.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372341831-4264-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 528622421eb1be95eaadfe91e8e11729d1e46431
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 5 14:54:41 2013 +0100
hw/cpu/a15mpcore: Correct default value for num-irq
The a15mpcore device claims that its default value for num-irq
is the number of interrupts used by the A15MP in the vexpress-a15
board. However that chip has 128 external interrupts, not 64.
Since there is only one A15 based model in QEMU currently, we
can fix this by simply changing the default value.
This error was causing recent (3.10) Linux kernels to print
warnings/backtraces when the number of interrupts reported
by the GIC was smaller than an interrupt number they wanted
to use.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373032481-15280-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 81e69fb093099ec5dccd61c92cec308f83091511
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: add feature flag for ARMv8
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9121d02cb33c96b444a3973579f5edc119597e81
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jul 15 12:28:07 2013 +0100
char/cadence_uart: Fix reset for unattached instances
commit 1db8b5efe0c2b5000e50691eea61264a615f43de introduced an issue
where QEMU would segfault if you have an unattached Cadence UART.
Fix by guarding the flush-on-reset logic on there being a qemu_chr
attachment.
Reported-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Message-id:
9009578ee10a50d994b2e10aa2840d73765f5968.1370577272.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6d8ed24b446b1f1e07af87cde54317f54a1d42e
Author: Jani Kokkonen <Jani.Kokkonen@xxxxxxxxxx>
Date: Wed Jul 10 17:02:00 2013 +0200
tcg/aarch64: Implement tlb lookup fast path
Supports CONFIG_QEMU_LDST_OPTIMIZATION
Signed-off-by: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 15 11:25:55 2013 +0200
ahci: Fix FLUSH command
AHCI couldn't cope with asynchronous commands that aren't doing DMA, it
simply wouldn't complete them. Due to the bug fixed in commit f68ec837,
FLUSH commands would seem to have completed immediately even if they
were still running on the host. After the commit, they would simply hang
and never unset the BSY bit, rendering AHCI unusable on any OS sending
flushes.
This patch adds another callback for the completion of asynchronous
commands. This is what AHCI really wants to use for its command
completion logic rather than an DMA completion callback.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0e1146a7a011a69d8cbc958b4f7ebad186730fc3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:54:55 2013 +0200
migration: Fail migration on bdrv_flush_all() error
If bdrv_flush_all() returns an error, there is an inconsistency in the
view of an image file between the source and the destination host.
Completing the migration would lead to corruption. Better abort
migration in this case.
To reproduce this case, try the following (ensures that there is
something to flush, and then fails that flush):
$ qemu-img create -f qcow2 test.qcow2 1G
$ cat blkdebug.cfg
[inject-error]
event = "flush_to_os"
errno = "5"
$ qemu-system-x86_64 -hda blkdebug:blkdebug.cfg:test.qcow2 -monitor stdio
(qemu) qemu-io ide0-hd0 "write 0 4k"
(qemu) migrate ...
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5698346391b306c2c84358c68ee897c095d714cc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:49:54 2013 +0200
cpus: Add return value for vm_stop()
If flushing the block devices fails, return an error. The VM is stopped
anyway.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0f0fdfeec6c67ad374114ecc4b3e3ccde5e94d2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:48:01 2013 +0200
block: Add return value for bdrv_flush_all()
bdrv_flush() can fail, and bdrv_flush_all() should return an error as
well if this happens for a block device. It returns the first error
return now, but still at least tries to flush the remaining devices even
in error cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7a370406bdd13b1d46230d1cbca308d984d0dcae
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 10 17:30:26 2013 +0200
qemu-iotests: Update 051 reference output
This has been broken by commit bd5c51ee.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98289620e0460fa595581020ab20127da4a2fc44
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 10 15:47:39 2013 +0200
block: Don't parse protocol from file.filename
One of the major reasons for doing something new for -blockdev and
blockdev-add was that the old block layer code parses filenames instead
of just taking them literally. So we should really leave it untouched
when it's passing using the new interfaces (like -drive
file.filename=...).
This allows opening relative file names that contain a colon.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit de90930a0c45760e7523138fac57ff07312bf51d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 26 14:11:58 2013 +0200
block: add drive_backup HMP command
Make "drive_backup" available on the HMP monitor:
drive_backup [-n] [-f] device target [format]
The -n flag requests QEMU to reuse the image found in new-image-file,
instead of recreating it from scratch.
The -f flag requests QEMU to copy the whole disk, so that the result
does not need a backing file. Note that this flag *must* currently be
passed since the other sync modes ('none' and 'top') have not been
implemented yet. Requiring it ensures that "drive_backup" behaves like
"drive_mirror".
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b53169eae06d6cf6f512a8b1fdd5424a0a6aab85
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 26 14:11:57 2013 +0200
blockdev: add sync mode to drive-backup QMP command
The drive-backup command is similar to the drive-mirror command, except
no guest data written after the command executes gets copied. Add a
sync mode argument which determines whether the entire disk is copied,
just allocated clusters, or only clusters being written to by the guest.
Currently only sync mode 'full' is supported - it copies the entire disk.
For read-only point-in-time snapshots we may only need sync mode 'none'
since the target can be a qcow2 file using the guest's disk as its
backing file (no need to copy the entire disk). Finally, sync mode
'top' is useful if we wish to preserve the backing chain.
Note that this patch just adds the sync mode argument to drive-backup.
It does not implement sync modes 'top' or 'none'. This patch is
necessary so we can add a drive-backup HMP command that behaves like the
existing drive-mirror HMP command and takes a sync mode.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e605e969953d793036dbd450da6b59bb434fb3d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 13 17:23:37 2013 -0700
hw/alpha: Use SRM epoch
The 1980 epoch is used by the ARC PALcode for NT. But we're emulating
a system using the SRM PALcode. Using the proper epoch results in less
confusion in the guest userland.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 678421650dc166cd6cb35bb2bc0baf1b481b40ca
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 14:57:39 2013 -0700
hw/alpha: Drop latch_tmp hack
The memory and i/o core now support passing 64-bit accesses along
from the guest, so we no longer need to emulate them.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23326164ae6fe8d94b7eff123e03f97ca6978d33
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 14:55:59 2013 -0700
exec: Support 64-bit operations in address_space_rw
Honor the implementation maximum access size, and at least check
the minimum access size.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3661049fec64ffd7ab008e57e396881c6a4b53a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 15:46:37 2013 -0700
hw/alpha: Don't machine check on missing pci i/o
Not really correct, but we don't implement all of the random devices
that the kernel looks for. This is good enough to keep us booting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 056e6bae1c91f47165d962564f82f5176bae47f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 13:55:30 2013 -0700
hw/alpha: Don't use get_system_io
Advancements in the ioport subsystem mean that we need no longer
thunk memory-mapped i/o through the system-io address space.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c3cb8e77804313e1be99b5f28a34a346736707a5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 12 14:37:47 2013 -0500
ioport: remove LITTLE_ENDIAN mark for portio
Setting it to LE forces a byte swap when host != guest endian but
this makes no sense at all.
Herve made the suggestion upon observing that word writes/reads
were broken into byte writes/reads in such a way as to assume
devices are interpret registers as LE.
However, even if this were a problem, marking the region as LE is
not useful because what's essentially happening here is that LE is
open coded. So by marking it LE in MemoryRegionOps, we're doing a
superflous swap.
Now, the portio code is suspicious to begin with. The dispatch
layer really has no purpose in splitting I/O requests in the first
place...
Cc: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Cc: Alex Graf <agraf@xxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7ca1dfad952d8a8655b32e78623edcc38a51b14a
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:47:39 2013 -0600
Force auto-convegence of live migration
If a user chooses to turn on the auto-converge migration capability
these changes detect the lack of convergence and throttle down the
guest. i.e. force the VCPUs out of the guest for some duration
and let the migration thread catchup and help converge.
Verified the convergence using the following :
- Java Warehouse workload running on a 20VCPU/256G guest(~80% busy)
- OLTP like workload running on a 80VCPU/512G guest (~80% busy)
Sample results with Java warehouse workload : (migrate speed set to 20Gb
and
migrate downtime set to 4seconds).
(qemu) info migrate
capabilities: xbzrle: off auto-converge: off <----
Migration status: active
total time: 1487503 milliseconds
expected downtime: 519 milliseconds
transferred ram: 383749347 kbytes
remaining ram: 2753372 kbytes
total ram: 268444224 kbytes
duplicate: 65461532 pages
skipped: 64901568 pages
normal: 95750218 pages
normal bytes: 383000872 kbytes
dirty pages rate: 67551 pages
---
(qemu) info migrate
capabilities: xbzrle: off auto-converge: on <----
Migration status: completed
total time: 241161 milliseconds
downtime: 6373 milliseconds
transferred ram: 28235307 kbytes
remaining ram: 0 kbytes
total ram: 268444224 kbytes
duplicate: 64946416 pages
skipped: 64903523 pages
normal: 7044971 pages
normal bytes: 28179884 kbytes
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bde1e2ec2176c363c1783bf8887b6b1beb08dfee
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:49:42 2013 -0600
Add 'auto-converge' migration capability
The auto-converge migration capability allows the user to specify if they
choose live migration seqeunce to automatically detect and force
convergence.
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3c02270db980007424d797506301826310ce2db4
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:49:41 2013 -0600
Introduce async_run_on_cpu()
Introduce an asynchronous version of run_on_cpu() i.e. the caller
doesn't have to block till the call back routine finishes execution
on the target vcpu.
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 25ca6a1f5a3ee0a1ae670590877ed14f05e28fba
Merge: c170a23... f35ea98...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 12 07:58:31 2013 -0500
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Alexander Graf (16) and others
# Via Alexander Graf
* agraf/ppc-for-upstream: (22 commits)
PPC: dbdma: Support more multi-issue DMA requests
PPC: Add timer handler for newworld mac-io
PPC: dbdma: Support unaligned DMA access
PPC: dbdma: Wait for DMA until we have data
PPC: dbdma: Move processing to io
PPC: dbdma: macio: Add DMA callback
PPC: dbdma: Move static bh variable to device struct
PPC: dbdma: Introduce kick function
PPC: dbdma: Move defines into header file
PPC: dbdma: Allow new commands in RUN state
PPC: dbdma: Fix debug print
PPC: Mac: Add debug prints in macio and dbdma code
PPC: dbdma: Replace tabs with spaces
PPC: Macio: Replace tabs with spaces
PPC: g3beige: Move secondary IDE bus to mac-io
PPC: Mac: Fix guest exported tbfreq values
target-ppc: Add POWER8 v1.0 CPU model
pseries: move interrupt controllers to hw/intc/
spapr: Respect -bios command line option for SLOF
spapr: Use named enum for function remove_hpte
...
Message-id: 1373562085-29728-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 15:29:13 2013 +0200
PPC: dbdma: Support more multi-issue DMA requests
A DMA request can happen for data that hasn't been completely been
provided by the IDE core yet. For example
- DBDMA request for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv
- breakage
Instead, we should truncate our bdrv request to the maximum number
of sectors we're allowed to read at that given time. Once that transfer
is through, we will fall into our recently introduced waiting logic.
- DBDMA requests for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read MIN(0x1000, 1 * 512) bytes
- DBDMA finishes reading, indicates to IDE core that transfer is
complete
- IDE request for 7 sectors
- DBDMA finishes the DMA
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a0f9fdfd98cc0571f9921a7eadd7316532e3e289
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 05:15:14 2013 +0200
PPC: Add timer handler for newworld mac-io
Mac OS X accesses fancy timer registers inside of the mac-io on bootup.
These really should be ticking at the mac-io bus frequency, but I don't
see anyone upset when we just make them as fast as we want to.
With this patch on top of my previous patch queue and latest OpenBIOS
I am able to boot Mac OS X 10.4 with -M mac99.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80fc95d8bdaf3392106b131a97ca701fd374489a
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jun 28 13:30:01 2013 +0200
PPC: dbdma: Support unaligned DMA access
The DBDMA engine really just reads bytes from a producing device (IDE
in our case) and shoves these bytes into memory. It doesn't care whether
any alignment takes place or not.
Our code today however assumes that block accesses always happen on
sector (512 byte) boundaries. This is a fair assumption for most cases.
However, Mac OS X really likes to do unaligned, incomplete accesses
that it finishes with the next DMA request.
So we need to read / write the unaligned bits independent of the actual
asynchronous request, because that one can only handle 512-byte-aligned
data. We also need to cache these unaligned sectors until the next DMA
request, at which point the data might be successfully flushed from the
pipe.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cae323572eddc1a45e2f6ef98c006d98fed23b1e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:54:35 2013 +0200
PPC: dbdma: Wait for DMA until we have data
We should only start processing DMA requests when we have data to process.
Hold off working through the DMA shuffling until the IDE core told us that
it's ready.
This is required because the guest can program the DMA engine or the IDE
transfer first. Both are legal.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 03ee3b1e58266c7e5b155d58f443d94b23d2bd05
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:47:20 2013 +0200
PPC: dbdma: Move processing to io
Soon we will introduce intermediate processing pauses which will
allow the bottom half to restart a DMA request that couldn't be
fulfilled yet.
For that to work, move the processing variable into the io struct
which is what DMA providers work with.
While touching it, also change it into a bool
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4aa3510f6f36c5ea35219acf641788222d977437
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:36:14 2013 +0200
PPC: dbdma: macio: Add DMA callback
We need to know when the IDE core starts a DMA transfer. Add a notifier
function so we have the chance to start transmitting data.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d2f0ce2189feef94516d81fa5834fa4d65435053
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:22:41 2013 +0200
PPC: dbdma: Move static bh variable to device struct
The DBDMA controller has a bottom half to asynchronously process DMA
request queues.
This bh was stored as a gross static variable. Move it into the device
struct instead.
While at it, move all users of it to the new generic kick function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1e562deb2de5c2ced639b18dee59a9ab08236b6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:18:54 2013 +0200
PPC: dbdma: Introduce kick function
The DBDMA engine really is running all the time, waiting for input.
However
we don't want to waste cycles constantly polling.
So introduce a kick function that data providers can call to notify the
DBDMA controller of new input.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f2f963fd0775263f9c1cdd3cd92b171c8dae6c77
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:06:35 2013 +0200
PPC: dbdma: Move defines into header file
We usually keep struct and constant definitions in header files. Move
them there to stay consistent and to make access to fields easier.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7eaba824b6bc14ee724f8593891f2165d2faa4ab
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:53:51 2013 +0200
PPC: dbdma: Allow new commands in RUN state
The DBDMA controller can not change its command stream while it's
actively streaming data, true. But the fact that it's in RUN state
doesn't actually indicate anything. It could just as well be in
WAIT while in RUN. And then it's legal to change commands.
This fixes a real world issue I've encountered with Mac OS X.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 58c0c311838dd2c6622a156b4d261aa127c510dd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:53:05 2013 +0200
PPC: dbdma: Fix debug print
There was a debug print that didn't compile for me because the format
and the arguments weren't in sync. Fix it up.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 33ce36bb33cc00ac3070d49e17b4afed62b412a8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:23:45 2013 +0200
PPC: Mac: Add debug prints in macio and dbdma code
The macio code is basically undebuggable as it stands today, with no
debug prints anywhere whatsoever. DBDMA was better, but I needed a
few more to create reasonable logs that tell me where breakage is.
Add a DPRINTF macro in the macio source file and add a bunch of debug
prints that are all disabled by default of course.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9e232428784641b8e48a237a4cb2ffe84450d15c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:45:22 2013 +0200
PPC: dbdma: Replace tabs with spaces
s/^I/ /g on the file with a few manual tweaks to align things.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8aef291fb876670b264297ab333f5072cddbf625
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:43:17 2013 +0200
PPC: Macio: Replace tabs with spaces
s/^I/ /g on the file.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jun 24 21:40:50 2013 +0200
PPC: g3beige: Move secondary IDE bus to mac-io
On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not
on some random PCI device. Move it there to become more compatible.
While at it, also clean up the IDE channel connection logic.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 536d8cda4adef3d202a800688ed5f63dae1f0f88
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jun 29 17:34:58 2013 +0200
PPC: Mac: Fix guest exported tbfreq values
We can tell the guest the frequency of its time base through fwcfg.
However, we tell it a different value from the speed tb actually runs
at. Let's fix it and make the tbfreq initialization and the fwcfg exposure
use the same values.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8d43ea1c97d0d611f9cf868fe78b17f2a1031298
Author: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Date: Thu Jul 4 12:12:32 2013 +0530
target-ppc: Add POWER8 v1.0 CPU model
This patch adds CPU PVR definition for POWER8,
and enables QEMU to launch guests on POWER8 hardware.
Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Paul Mackerras <paulus@xxxxxxxxx>
Reviewed-by: Andreas Farber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 42e5b4c9884c2c69825d6b6c6ddfbf25290856db
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Jul 6 23:53:58 2013 +1000
pseries: move interrupt controllers to hw/intc/
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e7ea787a20e30d44232cafb5a6e9a9fea364c66
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 21:26:50 2013 +0200
spapr: Respect -bios command line option for SLOF
Allow the user to override the firmware file name rather than always
using "slof.bin".
Reported-by: Dinar Valeev <k0da@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a3801402aa01e2ecb617f89b2e11f212d948b5af
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 24 19:48:47 2013 +0200
spapr: Use named enum for function remove_hpte
The function returned a target_ulong which was made from unnamed enum
values. The target_ulong was then assigned to an int variable which
was used in a switch statement.
Using a named enum in both cases makes reviews easier.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9a39970df783cf8317e7dbf00a8af184ce868b1b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jun 29 15:47:26 2013 +0200
spapr: Fix compiler warnings for some versions of gcc
i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports these
warnings:
hw/ppc/spapr_hcall.c:188:1: warning:
control reaches end of non-void function [-Wreturn-type]
hw/ppc/spapr_pci.c:454:1: warning:
control reaches end of non-void function [-Wreturn-type]
Both warnings are fixed by using g_assert_not_reached instead of assert.
A second line with assert(0) in spapr_pci.c which did not raise a compiler
warning was modified, too, because g_assert_not_reached documents the
purpose of that statement and is not removed in release builds.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7162bdea75e9f63afdd2cacfe26ee4b472a59362
Author: Julio Guerra <guerr@xxxxxxxx>
Date: Mon Jun 24 23:15:54 2013 +0200
e600 core for MPC86xx processors
MPC86xx processors are based on the e600 core, which is not the case
in qemu where it is based on the 7400 processor.
This patch creates the e600 core and instantiates the MPC86xx
processors based on it. Therefore, adding the high BATs, the SPRG
4..7 registers, which are e600-specific [1], and a HW MMU model (as 7400).
This allows to define the MPC8610 processor too.
Tested with a kernel using the HW TLB misses.
[1] http://cache.freescale.com/files/32bit/doc/ref_manual/E600CORERM.pdf
Signed-off-by: Julio Guerra <guerr@xxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c170a23ca0097a95b44fc7cc604018cd3c3b7d44
Merge: 51455c5... 5e2ac51...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 14:34:32 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Kevin Wolf (4) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
add timestamp to error_report()
qapi-schema: Use existing type for drive-backup arguments
qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
qapi.py: Allow top-level type reference for command definitions
qapi.py: Avoid code duplication
qemu-char: Fix ringbuf option size
Message-id: 1373478767-20965-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e2ac5191772dea782ff78e95edd395985273019
Author: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Date: Wed Jul 3 23:02:46 2013 -0400
add timestamp to error_report()
[Issue]
When we offer a customer support service and a problem happens
in a customer's system, we try to understand the problem by
comparing what the customer reports with message logs of the
customer's system.
In this case, we often need to know when the problem happens.
But, currently, there is no timestamp in qemu's error messages.
Therefore, we may not be able to understand the problem based on
error messages.
[Solution]
Add a timestamp to qemu's error message logged by
error_report() with g_time_val_to_iso8601().
Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f53cae50f81449596e55159cfe61efbef9246b2e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 9 10:05:35 2013 +0200
qapi-schema: Use existing type for drive-backup arguments
This removes duplicated definitions and documentation by reusing the
existing data type.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 852ad1a900a4ae23514e1a53c86632543592c31b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:52 2013 +0200
qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
We don't have to duplicate the definition any more now that we may refer
to a type instead.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b35284ea207a0ae1c0b162344cdef2a83304befc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:51 2013 +0200
qapi.py: Allow top-level type reference for command definitions
If 'data' for a command definition isn't a dict, but a string, it is
taken as a (struct) type name and the fields of this struct are directly
used as parameters.
This is useful for transactionable commands that can use the same type
definition for both the transaction action and the arguments of the
standalone command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit bd9927fee4e63b451b4ef67a4c49729070d8b05d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:50 2013 +0200
qapi.py: Avoid code duplication
The code that interprets the read JSON expression and appends types to
the respective global variables was duplicated. We can avoid that by
splitting off the part that reads from the file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0f953051178f2e3df36efa5158a71f33d35fa812
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 27 16:22:07 2013 +0200
qemu-char: Fix ringbuf option size
Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER"
assertion. Broken in commit 1da48c65.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 51455c59ddc370612f6e070d8eb0e594aaa7ef24
Merge: 9f9a03b... 91b1df8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:54:16 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix for OpenRISCCPU subclasses
* Fix for gdbstub CPU selection
* Move linux-user CPU functions into new header
* CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al.
* Fix some targets to consistently inline TCG code generation
* Centrally log CPU reset
# gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (41) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (43 commits)
cpu: Move reset logging to CPUState
target-ppc: Change LOG_MMU_STATE() argument to CPUState
target-i386: Change LOG_PCALL_STATE() argument to CPUState
log: Change log_cpu_state[_mask]() argument to CPUState
target-i386: Change do_smm_enter() argument to X86CPU
target-i386: Change do_interrupt_all() argument to X86CPU
target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
target-unicore32: Change gen_intermediate_code_internal() signature
target-sparc: Change gen_intermediate_code_internal() argument to
SPARCCPU
target-sh4: Change gen_intermediate_code_internal() argument to
SuperHCPU
target-s390x: Change gen_intermediate_code_internal() argument to
S390CPU
target-ppc: Change gen_intermediate_code_internal() argument to
PowerPCCPU
target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
target-microblaze: Change gen_intermediate_code_internal() argument
types
target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
target-i386: Change gen_intermediate_code_internal() argument to X86CPU
target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
target-alpha: Change gen_intermediate_code_internal() argument to
AlphaCPU
...
commit 9f9a03b9818194da39c6759d9b0cbee5d7ace4e1
Merge: 6272d17... 8384274...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:54:09 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Andreas Schwab (2) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user: Do not ignore mmap failure from host
linux-user: improve target_to_host_sock_type conversion
user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
linux-user: Fix sys_utimensat (would not compile on old glibc)
linux-user: fix signal number range check
linux-user: add SIOCADDRT/SIOCDELRT support
linux-user: handle /proc/$$ like /proc/self
Message-id: cover.1373051589.git.riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6272d17c420b8cdd6af1784edd34f0b3e9f26b76
Merge: 9d6a3d5... 0caa91f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:53:55 2013 -0500
Merge remote-tracking branch 'rth/tcg-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-next:
tcg-arm: Implement tcg_register_jit
tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
tcg: Move the CIE and FDE header definitions to common code
tcg: Fix high_pc fields in .debug_info
tcg-arm: Use AT_PLATFORM to detect the host ISA
tcg-arm: Simplify logic in detecting the ARM ISA in use
tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
tcg-arm: Make use of conditional availability of opcodes for divide
tcg: Simplify logic using TCG_OPF_NOT_PRESENT
tcg: Allow non-constant control macros
tcg-ppc64: Don't implement rem
tcg-ppc: Don't implement rem
tcg-arm: Don't implement rem
tcg: Split rem requirement from div requirement
tcg: Add myself to general TCG maintainership
Message-id: 1373379515-28596-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d6a3d58e4d1431ab3809ff621cfd1f9ec75eef5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 19:18:59 2013 +1000
qom: Fix class cast of NULL classes
Its clear from the implementation that class casting is supposed to work
with a NULL class argument. Guard all dereferences of the class argument
against NULL accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4268b096272657b129a014f6f019625c4c8df2c1
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Jul 9 13:36:05 2013 -0400
pci: fix BRDIGE typo
Fix typo in macro name: PCI_CLASS_BRDIGE_PCI_INF_SUB.
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e78e9ae4a933504d383703870d491615b0261801
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Jul 9 11:40:02 2013 -0400
pci-bridge: update mappings for migration/restore
Fix for LP#1187529: Devices on PCI bridge stop working when
live-migrated. Update bridge mappings for all PCI bridge
devices in get_pci_config_device().
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 91b1df8cf9e1ecaa8679c9ea8713d1e25c28e6c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 07:49:48 2013 +0200
cpu: Move reset logging to CPUState
x86 was using additional CPU_DUMP_* flags, so make that configurable in
CPUClass::reset_dump_flags.
This adds reset logging for alpha, unicore32 and xtensa.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 77710e7aec1e5ae0195cf6ebae6864e3ccb5693a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 00:52:23 2013 +0200
target-ppc: Change LOG_MMU_STATE() argument to CPUState
Choose CPUState rather than PowerPCCPU since doing a CPU() cast on the
macro argument would hide type mismatches.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8995b7a083e0fda9fac1db3888b3dafe14bd033c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 01:07:10 2013 +0200
target-i386: Change LOG_PCALL_STATE() argument to CPUState
Since log_cpu_state_mask() argument was changed to CPUState,
CPUArchState is no longer needed.
Choose CPUState rather than X86CPU to not hide type mismatches with CPU().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0762859ae2aae2e221c59e2541f964f1350d68b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 07:28:50 2013 +0200
log: Change log_cpu_state[_mask]() argument to CPUState
Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn
cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no
longer needed.
Add documentation and make the functions available through qemu/log.h
outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h
was not yet possible due to convoluted include paths, so that some
devices grow an implicit and unneeded dependency on qom/cpu.h for now.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 518e9d7d486273f4ee8d38946e73a7483aca4a92
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 02:45:17 2013 +0200
target-i386: Change do_smm_enter() argument to X86CPU
Prepares for log_cpu_state_mask() changing argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca4c810aab853788e907a791f8edea68ac30b0e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 02:00:09 2013 +0200
target-i386: Change do_interrupt_all() argument to X86CPU
Prepares for log_cpu_state() changing argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90b85b7706e2f80a1f0aa148e180ed70e4093846
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:33:01 2013 +0200
target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62a80559368de7b2dedc91039d8d11650e31ba4c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:29:57 2013 +0200
target-unicore32: Change gen_intermediate_code_internal() signature
Use UniCore32CPU and bool.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 68a471556d911a0adcf639e5fd5af2a2be4c4cb1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:27:28 2013 +0200
target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38e308103d40d859e2da74166fd4a1a80d78106d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:24:41 2013 +0200
target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d9916c23d3024ce2ae7f6300a7b4e62780e4632b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:22:09 2013 +0200
target-s390x: Change gen_intermediate_code_internal() argument to S390CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213fe1f5135abe052b634e08fddf6e9945f0eeed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:19:32 2013 +0200
target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6429db34c11f8cbb2af446a9c1c80395794e6113
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:17:17 2013 +0200
target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a274212f03adaf8b5971cc39d460335392a97f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:14:44 2013 +0200
target-microblaze: Change gen_intermediate_code_internal() argument types
Use MicroBlazeCPU and bool.
Prepares for changing log_cpu_state() argument to CPUState and for
moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c296b15b7c2425a2973ad0e63810029913511b51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:11:36 2013 +0200
target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cd0db97ee050ccea7082361a1193a3bef5648454
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:09:30 2013 +0200
target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 467215c20f4befed253696dd6910839bacf75837
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:09:01 2013 +0200
target-i386: Change gen_intermediate_code_internal() argument to X86CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fd2592dbcc0130e9999a739867a1b539c5ee853
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:04:49 2013 +0200
target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5639c3f224bbe3095ce6584bc8a5ace68b6d8197
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 21:57:04 2013 +0200
target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 86a35f7c4608b1961a1a459659a97033cc14d274
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:01:20 2013 +0200
target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU
Also use bool argument while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae06d4988d6799f0bd16f27c2bcf80fa1cd2cfd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:05:21 2013 +0200
target-xtensa: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13cccc692818a570d1fb1326c84d3edae68987aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:04:28 2013 +0200
target-moxie: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd327f48f7e5892318b6dca2c9c6030618f65728
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:03:00 2013 +0200
target-microblaze: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28014bcab244e968cb03f20384943494bd069ee0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 19:35:02 2013 +0200
target-lm32: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f47ec50db92b4bc77de06661a9e7a3eb538b660
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 19:30:14 2013 +0200
target-cris: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 369ff018fee40ffb8f6721e5d7f6b56bea74176c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 26 17:51:27 2013 +0200
target-i386: Don't overuse CPUArchState
Use CPUX86State instead in dump support code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4fd6dd06e66a93fce31b05909ad8d9f0f9dba06e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:17:00 2013 +0200
target-s390x: Change handle_{hypercall,diag}() argument to S390CPU
This allows to get rid of the last remaining ENV_GET_CPU() in
target-s390x/ by using CPU() cast directly on the argument.
Cc: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19079e460520053114127f812ddc488b974c2117
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:04:45 2013 +0200
target-s390x: Don't overuse ENV_GET_CPU()
Commit 3474b679486caa8f6448bae974e131370f360c13 (Utilize selective
runtime reg sync for hot code paths) introduced two uses of
ENV_GET_CPU() inside target-s390x/ KVM code. In one case we can use a
direct CPU() cast instead.
Cc: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 09c6a63a6144bbfe2fe434e84d16dd4db6028b6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:00:04 2013 +0200
target-ppc: Don't overuse ENV_GET_CPU()
Commit b632a148b677b773ff155f9de840b37a653567b9 (target-ppc: QOM method
dispatch for MMU fault handling) introduced a use of ENV_GET_CPU()
inside target-ppc/ code. Use ppc_env_get_cpu() instead.
Purely cosmetic, non-functional change to aid in locating and removing
ENV_GET_CPU() usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit de6db419e5cfe604464a7612b5a5f9214d0af837
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 17:10:28 2013 +0200
timer/arm_mptimer: Build arm_mptimer only once
Since current_cpu is CPUState it no longer depends on CPUARMState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b927571ccdb79deda74ba84ef493e6cb37eacbe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 17:04:21 2013 +0200
intc/openpic: Build openpic only once
Since current_cpu is CPUState it no longer depends on CPUPPCState.
Move ppce500_set_mpic_proxy() to a new hw/ppc/ppc_e500.h because
hw/ppc/ppc.h is too heavily using CPUPPCState and PowerPCCPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dfc080791dfb9dd8907a15e6d45b6cc4969b986f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 16:42:03 2013 +0200
intc/arm_gic: Build arm_gic only once
Since current_cpu is CPUState it no longer needs CPUArchState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dca1173c20e7e7366a9c36f88ae4234e5387ed28
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 19:51:23 2013 +0200
bsd-user: Change thread_env to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a2247f8ec919c51c5749c2e3659841f1a733cce3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 19:47:04 2013 +0200
linux-user: Change thread_env to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 182735efaf956ccab50b6d74a4fed163e0f35660
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 22:29:20 2013 +0200
cpu: Make first_cpu and next_cpu CPUState
Move next_cpu from CPU_COMMON to CPUState.
Move first_cpu variable to qom/cpu.h.
gdbstub needs to use CPUState::env_ptr for now.
cpu_copy() no longer needs to save and restore cpu_next.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[AF: Rebased, simplified cpu_copy()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b056fcc5becd183fa2bdec9d259bf26b5f71207
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 23:53:10 2013 +0200
linux-user: Clean up do_syscall() Coding Style for TARGET_NR_exit
In particular fix 6-/10-char indentation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d5791f4a67048591c1b038e47c85ccb2c023214
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 14:40:48 2013 +0200
kvm: Change kvm_remove_all_breakpoints() argument to CPUState
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4917cf44326a1bda2fd7f27303aff7a25ad86518
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 05:17:50 2013 +0200
cpu: Replace cpu_single_env with CPUState current_cpu
Move it to qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 80b7cd735417b0883a026d79a513629a2817cdb4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 19 17:37:31 2013 +0200
kvm: Free current_cpu identifier
Since CPU loops are done as last step in kvm_{insert,remove}_breakpoint()
and kvm_remove_all_breakpoints(), we do not need to distinguish between
invoking CPU and iterated CPUs and can thereby free the identifier for
use as a global variable.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 10 16:34:06 2013 +0200
cpu: Drop unnecessary dynamic casts in *_env_get_cpu()
A transition from CPUFooState to FooCPU can be considered safe,
just like FooCPU::env access in the opposite direction.
The only benefit of the FOO_CPU() casts would be protection against
bogus CPUFooState pointers, but then surrounding code would likely
break, too.
This should slightly improve interrupt etc. performance when going from
CPUFooState to FooCPU.
For any additional CPU() casts see
3556c233d931ad5ffa46a35cb25cfc057732ebb8
(qom: allow turning cast debugging off).
Reported-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6291ad77d7c57dfc52a6a938d1a77ec3ec3ad16c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 14:22:32 2013 +0100
linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user
The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU
related -- they are specific to the TLS ABI for a a particular OS.
Move them into the linux-user/ tree where they belong.
target-lm32 had entirely unused implementations, since it has no
linux-user target; just drop them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa48dd9319dcee78ec17f4d516fb7bfc62b1a4d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 9 20:50:52 2013 +0200
Revert "gdbstub: Simplify find_cpu()"
This reverts commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3, which
replaced cpu_index() with cpu_index field, leading to deviation from
thread ID for NTPL and off-by-one otherwise.
Reported-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1b71b0c03df575c72ea413b2f2c27a7a477c05a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:23 2013 +0200
vl: Tighten parsing of -machine option phandle_start
Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, which
actually bothers to check for errors, rather than its user, which
doesn't.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1372943363-24081-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ff3de685a875ece3ee21256736c0a9dbf39dc4c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:22 2013 +0200
Simplify -machine option queries with qemu_get_machine_opts()
The previous two commits fixed bugs in -machine option queries. I
can't find fault with the remaining queries, but let's use
qemu_get_machine_opts() everywhere, for consistency, simplicity and
robustness.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7bccd9402691e712305bc3b5cc6cf2fa1cc27631
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:21 2013 +0200
microblaze: Fix latent bug with default DTB lookup
microblaze_load_kernel() fails to call
qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename) when no -machine
options are given. This can't normally happen, because -machine
option kernel is mandatory for this target. Fix it anyway, by using
qemu_get_machine_opts().
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36ad0e948e15d8d86c8dec1c17a8588d87b0107d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:20 2013 +0200
Fix -machine options accel, kernel_irqchip, kvm_shadow_mem
Multiple -machine options with the same ID are merged. All but the
one without an ID are to be silently ignored.
In most places, we query these options with a null ID. This is
correct.
In some places, we instead query whatever options come first in the
list. This is wrong. When the -machine processed first happens to
have an ID, options are taken from that ID, and the ones specified
without ID are silently ignored.
Example:
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
id=foo -machine accel=kvm,usb=on
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
id=foo,accel=kvm,usb=on -machine accel=xen
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
accel=xen -machine id=foo,accel=kvm,usb=on
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine accel=kvm,usb=on
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: enabled
(qemu) info usb
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine id=foo -machine accel=kvm,usb=on
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: disabled
(qemu) info usb
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine id=foo,accel=kvm,usb=on -machine accel=xen
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: enabled
(qemu) info usb
USB support not enabled
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine accel=xen -machine id=foo,accel=kvm,usb=on
xc: error: Could not obtain handle on privileged command interface (2
= No such file or directory): Internal error
xen be core: can't open xen interface
failed to initialize Xen: Operation not permitted
Option usb is queried correctly, and the one without an ID wins,
regardless of option order.
Option accel is queried incorrectly, and which one wins depends on
option order and ID.
Affected options are accel (and its sugared forms -enable-kvm and
-no-kvm), kernel_irqchip, kvm_shadow_mem.
Additionally, option kernel_irqchip is normally on by default, except
it's off when no -machine options are given. Bug can't bite, because
kernel_irqchip is used only when KVM is enabled, KVM is off by
default, and enabling always creates -machine options. Downstreams
that enable KVM by default do get bitten, though.
Use qemu_get_machine_opts() to fix these bugs.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7f9d6e540ec4f3bf4dc3501c4a1405998c2be4e7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:19 2013 +0200
vl: New qemu_get_machine_opts()
To be used in the next few commits to fix or clean up queries of
"machine" options (-machine and its sugared forms).
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d4cd408686f5ae60b2b3b94b79f48ddedc2f39d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:18 2013 +0200
qemu-option: Fix qemu_opts_set_defaults() for corner cases
Commit 4f6dd9a changed the initialization of opts in opts_parse() to
this:
if (defaults) {
if (!id && !QTAILQ_EMPTY(&list->head)) {
opts = qemu_opts_find(list, NULL);
} else {
opts = qemu_opts_create(list, id, 0);
}
} else {
opts = qemu_opts_create(list, id, 1);
}
Same as before for !defaults.
If defaults is true, and params has no ID, and options exist, we use
the first assignment. It sets opts to null if all options have an ID.
opts_parse() then returns null. qemu_opts_set_defaults() asserts the
value is non-null. It's the only caller that passes true for
defaults.
To reproduce, try "-M xenpv -machine id=foo" (yes, "id=foo" is silly,
but it shouldn't crash).
I believe the function attempts to do the following:
If options don't yet exist, create new options
Else, if defaults, modify the existing options
Else, if list->merge_lists, modify the existing options
Else, fail
A straightforward call of qemu_opts_create() does exactly that.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96bc97ebf350ec480b69082819cedb8850f46a0f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:17 2013 +0200
qemu-option: Fix qemu_opts_find() for null id arguments
Crashes when the first list member has an ID. Admittedly nonsensical
reproducer:
$ qemu-system-x86_64 -nodefaults -machine id=foo -machine ""
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372943363-24081-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 154bb106dc195b4fbb76df0452ab6e3e24e80d72
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 19:07:16 2013 +0200
exec: Remove unused global variable phys_ram_fd
It seems to be unused since several years (commit
be995c27640a82c7056b6f53d02ec823570114e5 in 2006).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1373044036-14443-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 92304bf3998cedcf3b1026a795edba7e1fd17c74
Author: M. Mohan Kumar <mohan@xxxxxxxxxx>
Date: Thu Jul 4 14:51:18 2013 +0530
hw/9pfs: Fix memory leak in error path
Fix few more memory leaks in virtio-9p-device.c detected using valgrind.
Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1372929678-14341-1-git-send-email-mohan@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b58c86e1e4cdf59373aad2ec25f99f772766374c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 12:02:40 2013 +0200
fsdev: Fix potential memory leak
This leak was reported by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1371376960-18192-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edb5092c245d34e05ca410d4bf32cf0c2786c8e8
Author: MRatnikov <m.o.ratnikov@xxxxxxxxx>
Date: Mon Jul 8 01:03:02 2013 +0400
Extend support of SMBUS(module pm_smbus.c) HST_STS register.
Previous realization doesn't consider flags in the status register.
Add DS and INTR bits of HST_STS register set after transaction execution.
Update bits resetting in HST_STS register. Update error processing:
if DEV_ERR bit set transaction isn't execution.
Signed-off-by: MRatnikov <m.o.ratnikov@xxxxxxxxx>
Message-id: 1373230982-9190-1-git-send-email-m.o.ratnikov@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02c4bdf1d2ca8c02a9bae16398f260b5c08d08bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 3 20:29:45 2013 +0400
trap signals for "-serial mon:stdio"
With mon:stdio you can exit the VM by switching to the monitor and
sending the "quit" command. It is then useful to pass Ctrl-C to the
VM instead of exiting.
This in turn lets us stop tying the default signal handling behavior
to -nographic, removing gratuitous differences between "-display none"
and "-nographic".
This patch changes behavior for "-display none -serial mon:stdio", as
expected, but not for "-display none -serial stdio".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372868986-25988-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 964c6fa16f50a607f9da5068d6bf15ccc93872c0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 21 19:10:16 2013 -0700
configure: Simplify alternate .text segment
For bsd-user and linux-user emulation modes QEMU needs to be linked at an
alternate .text segment address, so that it's out of the way of the guest
executable. Instead of including modified linker scripts for each arch,
just set the address with -Ttext-segment if supported, or by using sed to
edit the default linker script.
Cc: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Message-id: 1371867016-7660-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 071b3364e7995036816aa4ebf80ecfa04b1a31de
Author: Dongxue Zhang <elta.era@xxxxxxxxx>
Date: Tue Jul 2 17:11:55 2013 +0800
target-openrisc: Fix typename in openrisc_cpu_class_by_name()
Commit 478032a93d908e59085c1ac56f10979942e7dc4f (target-openrisc:
Rename CPU subtypes) suffixed CPU sub-types with "-or32-cpu" but forgot
to update openrisc_cpu_class_by_name(), so that it was still looking for
the types without suffix.
Make target-openrisc running OK by adding the suffix to the model name.
This means it is no longer possible to use -cpu or1200-or32-cpu or
-cpu any-or32-cpu though.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Tested-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0caa91fe1f0a60269d7af032118639303e6eddd6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:55:33 2013 -0700
tcg-arm: Implement tcg_register_jit
Allows unwinding past the code_gen_buffer.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b5cc476da7e71629d8d4ab77f691c70346368788
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:56:29 2013 -0700
tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
We can check the condition at compile time, rather than run time.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 497a22eb87da704c0a59ebebfde441849cd5189b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:39:57 2013 -0700
tcg: Move the CIE and FDE header definitions to common code
These will necessarily be the same layout for all hosts. This limits
the amount of boilerplate required to implement jit debug for a host.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 45aba097d24544ed2d3244b3268a071750e4499b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri May 24 14:16:14 2013 -0700
tcg: Fix high_pc fields in .debug_info
I don't think the debugger actually looks at this for anything,
using the correct .debug_frame contents, but might as well get
it all correct.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1e709f38331ef5bab76cd454c61d4af982cadf0b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jun 6 10:46:35 2013 -0700
tcg-arm: Use AT_PLATFORM to detect the host ISA
With this we can generate armv7 insns even when the OS compiles for a
lower common denominator. The macros are arranged so that when we do
compile for a given ISA, all of the runtime checks for that ISA are
optimized away.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cb91021a4786efdd6e4ca1ebfd8729481466bbb8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jun 6 10:21:37 2013 -0700
tcg-arm: Simplify logic in detecting the ARM ISA in use
GCC 4.8 defines a handy __ARM_ARCH symbol that we can use, which
will make us nicely forward compatible with ARMv8 AArch32.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fb82273851a855e72248fcabe93bc43ab3a8efe4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 4 11:20:26 2013 -0700
tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
As it really controls the availability of a thumb interworking
instruction on armv5t.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 72e1ccfc0cf32005e23d308edfe2d06c7472154e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 12:18:38 2013 +0100
tcg-arm: Make use of conditional availability of opcodes for divide
We can now detect and use divide instructions at runtime, rather than
having to restrict their availability to compile-time.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c1a61f6c85f63d379b4a03d399986174371f5c2e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 11:57:40 2013 +0100
tcg: Simplify logic using TCG_OPF_NOT_PRESENT
Expand the definition of "not present" to include "should not be present".
This means we can simplify the logic surrounding the generic tcg opcodes
for which the host backend ought not be providing definitions.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4ef76952bd702d29ee4c021f068d85b063fdb928
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 11:35:08 2013 +0100
tcg: Allow non-constant control macros
This allows TCG_TARGET_HAS_* to be a variable rather than a constant,
which allows easier support for differing ISA levels for the host.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5b9f72ab59ec9d57546cfc499ccc863327cb8a46
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:24:55 2013 -0700
tcg-ppc64: Don't implement rem
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 865a4671f97e3b52c3ba4167d4f2630e79927712
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:24:15 2013 -0700
tcg-ppc: Don't implement rem
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e1108b3709d7bc04cae141f36d35cc11430a79b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:13:30 2013 -0700
tcg-arm: Don't implement rem
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ca675f46e695bd49a1c21a5e82c6b8c77ee12edf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 22:41:47 2013 -0700
tcg: Split rem requirement from div requirement
There are several hosts with only a "div" insn. Remainder is computed
manually from the quotient and inputs. We can do this generically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc7772bdbe4cb0ff1bac538bda86260b871d8b1a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 3 11:09:03 2013 -0700
tcg: Add myself to general TCG maintainership
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc11549ec213f85f6a024c7df68d349464cd1688
Merge: 945dad6... 7588e2b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 8 08:00:23 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,misc enhancements
This includes some pci enhancements:
Better support for systems with multiple PCI root buses
FW cfg interface for more robust pci programming in BIOS
Minor fixes/cleanups for fw cfg and cross-version migration -
because of dependencies with other patches
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 07 Jul 2013 03:11:18 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By David Gibson (10) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pci: Fold host_buses list into PCIHostState functionality
pci: Remove domain from PCIHostBus
pci: Simpler implementation of primary PCI bus
pci: Add root bus parameter to pci_nic_init()
pci: Add root bus argument to pci_get_bus_devfn()
pci: Replace pci_find_domain() with more general pci_root_bus_path()
pci: Use helper to find device's root bus in pci_find_domain()
pci: Abolish pci_find_root_bus()
pci: Move pci_read_devaddr to pci-hotplug-old.c
pci: Cleanup configuration for pci-hotplug.c
pvpanic: fix fwcfg for big endian hosts
pvpanic: initialization cleanup
MAINTAINERS: s/Marcelo/Paolo/
e1000: cleanup process_tx_desc
pc_piix: cleanup init compat handling
pc: pass PCI hole ranges to Guests
pci: store PCI hole ranges in guestinfo structure
range: add Range structure
Message-id: 1373228271-31223-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7588e2b0559ae72d3c2952c7807fc05c03099970
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:54 2013 +1000
pci: Fold host_buses list into PCIHostState functionality
The host_buses list is an odd structure - a list of pointers to PCI root
buses existing in parallel to the normal qdev tree structure. This patch
removes it, instead putting the link pointers into the PCIHostState
structure, which have a 1:1 relationship to PCIHostBus structures anyway.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:53 2013 +1000
pci: Remove domain from PCIHostBus
There are now no users of the domain field of PCIHostBus, so remove it
from the structure, and as a parameter from the pci_host_bus_register()
function which sets it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bc473057db773dd24be381ccbde4c686595d2e7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:52 2013 +1000
pci: Simpler implementation of primary PCI bus
Currently pci_find_primary_bus() searches the list of root buses for one
with domain 0. But since host buses are always registered with domain 0,
this just amounts to finding the only PCI host bus. The only remaining
users of pci_find_primary_bus() are in pci-hotplug-old.c, which implements
the old style pci_add/pci_del commands.
Therefore, this patch redefines pci_find_primary_bus() to find the only
PCI root bus, returning an error if there are multiple roots. The callers
in pci-hotplug-old.c are updated correspondingly, to produce sensible
error messages.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 29b358f93a48a415853d11fc9b02f711b5ec8f76
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:51 2013 +1000
pci: Add root bus parameter to pci_nic_init()
At present, pci_nic_init() and pci_nic_init_nofail() assume that they will
only create a NIC under the primary PCI root. As we add support for
multiple PCI roots, that may no longer be the case. This patch adds a
root
bus parameter to pci_nic_init() (and updates callers accordingly) to allow
the machine init code using it to specify the right PCI root for NICs
created by old-style -net nic parameters. NICs created new-style, with
-device can of course be put anywhere.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:50 2013 +1000
pci: Add root bus argument to pci_get_bus_devfn()
pci_get_bus_devfn() interprets a full PCI address string to give a PCIBus
*
and device/function number within that bus. Currently it assumes it is
working on an address under the primary PCI root bus. This patch extends
it to allow the caller to specify a root bus. This might seem a little
odd
since the supplied address can (theoretically) include a PCI domain
number.
However, attempting to use a non-zero domain number there is currently an
error, so that shouldn't really cause problems.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:49 2013 +1000
pci: Replace pci_find_domain() with more general pci_root_bus_path()
pci_find_domain() is used in a number of places where we want an id for a
whole PCI domain (i.e. the subtree under a PCI root bus). The trouble is
that many platforms may support multiple independent host bridges with no
hardware supplied notion of domain number.
This patch, therefore, replaces calls to pci_find_domain() with calls to
a new pci_root_bus_path() returning a string. The new call is implemented
in terms of a new callback in the host bridge class, so it can be defined
in some way that's well defined for the platform. When no callback is
available we fall back on the qbus name.
Most current uses of pci_find_domain() are for error or informational
messages, so the change in identifiers should be harmless. The exception
is pci_get_dev_path(), whose results form part of migration streams. To
maintain compatibility with old migration streams, the PIIX PCI host is
altered to always supply "0000" for this path, which matches the old
domain
number (since the code didn't actually support domains other than 0).
For the pseries (spapr) PCI bridge we use a different platform-unique
identifier (pseries machines can routinely have dozens of PCI host
bridges). Theoretically that breaks migration streams, but given that we
don't yet have migration support for pseries, it doesn't matter.
Any other machines that have working migration support including PCI
devices will need to be updated to maintain migration stream
compatibility.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c473d18da1b73301c580115e527207b73dcd597f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:48 2013 +1000
pci: Use helper to find device's root bus in pci_find_domain()
Currently pci_find_domain() performs two functions - it locates the PCI
root bus above the given bus, then looks up that root bus's domain number.
This patch adds a helper function to perform the first task, finding the
root bus for a given PCI device. This is then used in pci_find_domain().
This changes pci_find_domain()'s signature slightly, taking a PCIDevice
instead of a PCIBus - since all callers passed something of the form
dev->bus, this simplifies things slightly.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:47 2013 +1000
pci: Abolish pci_find_root_bus()
pci_find_root_bus() takes a domain parameter. Currently PCI root buses
with domain other than 0 can't be created, so this is more or less a long
winded way of retrieving the main PCI root bus. Numbered domains don't
actually properly cover the (non x86) possibilities for multiple PCI root
buses, so this patch for now enforces the domain == 0 restriction in other
places to replace pci_find_root_bus() with an explicit
pci_find_primary_bus().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 945dad6d9d795f03fd839c6e36cc883b3839f5e5
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 2 20:55:17 2013 +0800
MAINTAINERS: Add myself into MAINTAINERS file
Add myself into MAINTAINERS file, I'll looking at target-openrisc
and hw/openrisc.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Message-id: 1372769717-852-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e481d5754a3ff4170e995f6ea0d2f73c55ab072
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jun 24 11:49:32 2013 +0100
MAINTAINERS: fix bad F: patterns
This patch fixes a number of incorrect F: patterns which didn't
match any files in the source tree. This was caused by a mix
of minor typos (- for _ and the like) and a few entries which
hadn't been correctly updated following the rearrangement of hw/.
Offending entries were located with the following shell rune:
for pattern in $(sed -ne 's/^F: //p' MAINTAINERS); do
if ! stat --printf='' $pattern 2>/dev/null; then
echo bad pattern: $pattern
fi
done
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1372070972-30776-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b4abb4677dd59a3bd83e65d2ca84414e7639a1a
Merge: c3ab4c9... 58fda17...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jul 7 11:28:01 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (2) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/block:
block: fix bdrv_flush() ordering in bdrv_close()
curl: refuse to open URL from HTTP server without range support
vmdk: Implement .bdrv_has_zero_init
Message-id: 1373023972-3587-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3ab4c9cf24ec9efb9c6d82b6027c0587d3081fa
Merge: ab8bf29... c7086b4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jul 7 11:19:27 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (50) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (66 commits)
exec: change some APIs to take AddressSpaceDispatch
exec: remove cur_map
exec: put memory map in AddressSpaceDispatch
exec: separate current radix tree from the one being built
exec: move listener from AddressSpaceDispatch to AddressSpace
memory: move MemoryListener declaration earlier
exec: separate current memory map from the one being built
exec: change well-known physical sections to macros
qom: Use atomics for object refcounting
memory: add reference counting to FlatView
memory: use a new FlatView pointer on every topology update
memory: access FlatView from a local variable
add a header file for atomic operations
hw/[u-x]*: pass owner to memory_region_init* functions
hw/t*: pass owner to memory_region_init* functions
hw/s*: pass owner to memory_region_init* functions
hw/p*: pass owner to memory_region_init* functions
hw/n*: pass owner to memory_region_init* functions
hw/m*: pass owner to memory_region_init* functions
hw/i*: pass owner to memory_region_init* functions
...
Message-id: 1372950842-32422-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8384274eda1d7cb01f326143fa6118562c1eb5be
Author: Jürg Billeter <j@xxxxxxxxx>
Date: Sat Jun 29 11:41:32 2013 +0200
linux-user: Do not ignore mmap failure from host
File mapping may fail with EACCES.
Signed-off-by: Jürg Billeter <j@xxxxxxxxx>
Message-id: 1372498892-23676-1-git-send-email-j@xxxxxxxxx
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f651e6ae55b047a8ac4b6b5891fe69ba4c66c57c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 1 02:44:14 2013 +0200
linux-user: improve target_to_host_sock_type conversion
Previous implementation has failed to take into account different value of
SOCK_NONBLOCK on target and host, and existence of SOCK_CLOEXEC.
The same conversion has to be applied both for do_socket and
do_socketpair,
so the code has been isolated in a static inline function.
enum sock_type in linux-user/socket.h has been extended to include
TARGET_SOCK_CLOEXEC and TARGET_SOCK_NONBLOCK, similar to definition in
libc.
The patch also includes necessary code style changes (tab to spaces) in
the
header file since most of the file has been touched by this change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Message-id: 1372639454-7560-1-git-send-email-petar.jovanovic@xxxxxxxxx
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 023b0ae33be6ce2e60d75d2b54a3d2cea6b6020e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 4 14:31:45 2013 +0100
user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
In the ARM implementation of cpu_signal_handler(), set is_write
correctly using the FSR value which the kernel passes us in the
error_code field of uc_mcontext. Since the WnR bit of the FSR was
only introduced in ARMv6, this means that v5 cores will continue
to behave as before this patch, but they are not really supported
as hosts for linux-user mode anyway since they do not have the
modern behaviour for unaligned accesses.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1370352705-27590-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 1acae9f22380a03b468a29a3cc035b280610b5e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: Fix sys_utimensat (would not compile on old glibc)
Commit c0d472b12e accidentally dropped the definition of
__NR_SYS_utimensat even though its use is guarded by
CONFIG_UTIMENSAT, not CONFIG_ATFILE. Some older glibc don't
have utimensat() (even if they have the other *at() functions).
Fix this by correctly cleaning up the sys_utimensat()
implementation and #defines, so that we always provide the
syscall if needed whether we're doing it via glibc or not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1371743841-26110-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d
Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: fix signal number range check
When translating between host and target signal numbers keep negative
numbers unchanged, avoiding access beyond array bounds.
Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 878v2b8sek.fsf@xxxxxxxxx
commit 7ff7b666186a86f0121e6e7db6784222cefe22a2
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: add SIOCADDRT/SIOCDELRT support
This allows to pass the device name.
You can test this with the "route" command.
WITHOUT this patch:
$ sudo route add -net default gw 10.0.3.1 eth0
SIOCADDRT: Bad address
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Ifa
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth
WITH this patch:
$ sudo route add -net default gw 10.0.3.1 eth0
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Ifa
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0
eth
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 463d8e7393681b300946d6bf9f9d5b7035d718c6
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: handle /proc/$$ like /proc/self
Some applications use /proc/$$/... (where $$ is the own pid) instead of
/proc/self/... to refer to their own proc files. Extend the interception
for open and readlink to handle this case. Also, do the same interception
in readlinkat.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58fda173e1156d24e5ff62361774715152188a07
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jul 2 15:36:25 2013 +0200
block: fix bdrv_flush() ordering in bdrv_close()
Since 80ccf93b we flush the block device during close. The
bdrv_drain_all() call should come before bdrv_flush() to ensure guest
write requests have completed. Otherwise we may miss pending writes
when flushing.
Call bdrv_drain_all() again for safety as the final step after
bdrv_flush(). This should not be necessary but we can be paranoid here
in case bdrv_flush() left I/O pending.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3494d650273e619606c6cb2c38aa9b8b7bed98e2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Jul 2 15:19:21 2013 +0800
curl: refuse to open URL from HTTP server without range support
CURL driver requests partial data from server on guest IO req. For HTTP
and HTTPS, it uses "Range: ***" in requests, and this will not work if
server not accepting range. This patch does this check when open.
* Removed curl_size_cb, which is not used: On one hand it's registered to
libcurl as CURLOPT_WRITEFUNCTION, instead of CURLOPT_HEADERFUNCTION,
which will get called with *data*, not *header*. On the other hand the
s->len is assigned unconditionally later.
In this gone function, the sscanf for "Content-Length: %zd", on
(void *)ptr, which is not guaranteed to be zero-terminated, is
potentially a security bug. So this patch fixes it as a side-effect.
The
bug is reported as: https://bugs.launchpad.net/qemu/+bug/1188943
(Note the bug is marked "private" so you might not be able to see it)
* Introduced curl_header_cb, which is used to parse header and mark the
server as accepting range if "Accept-Ranges: bytes" line is seen from
response header. If protocol is HTTP or HTTPS, but server response has
no not this support, refuse to open this URL.
Note that python builtin module SimpleHTTPServer is an example of not
supporting range, if you need to test this driver, get a better server
or use internet URLs.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da7a50f938516d0f2302965eeb82940c32028ed8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Jul 1 11:33:17 2013 +0800
vmdk: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init queries underlying storage for
flat extent. If it has a flat extent and its underlying storage doesn't
have zero init, return 0. Otherwise return 1.
Aligns the operator assignments.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c7086b4a237520d2bbe5146d8b1ace1894c2b2bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 15:27:39 2013 +0200
exec: change some APIs to take AddressSpaceDispatch
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6092666ebdc68b2634db050689292c71a5c368c0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:30:26 2013 +0200
exec: remove cur_map
cur_map is not used anymore; instead, each AddressSpaceDispatch
has its own nodes/sections pair. The priorities of the
MemoryListeners, and in the future RCU, guarantee that the
nodes/sections are not freed while they are still in use.
(In fact, next_map itself is not needed except to free the data on the
next update).
To avoid incorrect use, replace cur_map with a temporary copy that
is only valid while the topology is being updated. If you use it,
the name prev_map makes it clear that you're doing something weird.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0475d94fffe4e5fda59e0334b6dd53df00c5deb6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:28:21 2013 +0200
exec: put memory map in AddressSpaceDispatch
After this patch, AddressSpaceDispatch holds a constistent tuple of
(phys_map, nodes, sections). This will be important when updates
of the topology will run concurrently with reads.
cur_map is not used anymore except for freeing it at the end of the
topology update.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0075270317fbd37160bc40e481a1e9cb5cbdc2f6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:13:54 2013 +0200
exec: separate current radix tree from the one being built
This same treatment previously done to phys_node_map and phys_sections
is now applied to the dispatch field of AddressSpace. Topology updates
use as->next_dispatch while accesses use as->dispatch.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 89ae337acbe4dba5b2481007aec1277252d2b86c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 10:39:07 2013 +0200
exec: move listener from AddressSpaceDispatch to AddressSpace
This will help having two copies of AddressSpaceDispatch during the
recreation of the radix tree (one being built, and one that is complete
and will be protected by RCU). We do not want to have to unregister and
re-register the listener.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c2fc83e83d4fbc6f63b2b0f0be898374e6ddc78f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 15:20:47 2013 +0200
memory: move MemoryListener declaration earlier
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9affd6fc0e7904fb36d58d1992bbd7cae3649197
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:09:47 2013 +0200
exec: separate current memory map from the one being built
Currently, phys_node_map and phys_sections are shared by all
of the AddressSpaceDispatch. When updating mem topology, all
AddressSpaceDispatch will rebuild dispatch tables sequentially
on them. In order to prepare for RCU access, leave the old
memory map alive while the next one is being accessed.
When rebuilding, the new dispatch tables will build and lookup
next_map; after all dispatch tables are rebuilt, we can switch
to next_* and free the previous table.
Based on a patch from Liu Ping Fan.
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b41aac4f0d17000babd815e088699d58e59917b8
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed May 29 11:09:17 2013 +0200
exec: change well-known physical sections to macros
Sections like phys_section_unassigned always have fixed address
in phys_sections. Declared as macro, so we can use them
when having more than one phys_sections array.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f08c03f3c404e85a2b81890191ccb48dc1ecc157
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 11:36:39 2013 +0200
qom: Use atomics for object refcounting
Object reference counts will soon be changed outside the BQL. So we need
to use atomics in object_ref/unref.
Based on a patch by Liu Ping Fan.
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 856d72454f03aea26fd61c728762ef9cd1d71512
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 11:57:21 2013 +0200
memory: add reference counting to FlatView
With this change, a FlatView can be used even after a concurrent
update has replaced it. Because we do not yet have RCU, we use a
mutex to protect the small critical sections that read/write the
as->current_map pointer. Accesses to the FlatView can be done
outside the mutex.
If a MemoryRegion will be used after the FlatView is unref-ed (or after
a MemoryListener callback is returned), a reference has to be added to
that MemoryRegion. memory_region_find already does it for the region
that it returns. The same will be done for address_space_translate
as soon as the dispatch tree is also converted to RCU-style.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a9a0c06dd750cca982f21089099207874b960656
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:29:07 2013 +0200
memory: use a new FlatView pointer on every topology update
This is the first step towards converting as->current_map to
RCU-style updates, where the FlatView updates run concurrently
with uses of an old FlatView.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 99e86347fe960b95514531f84282438ae4e6ca64
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:26:13 2013 +0200
memory: access FlatView from a local variable
We will soon require accesses to as->current_map to be placed under
a lock (with reference counting so as to keep the critical section
small). To simplify this change, always fetch as->current_map into
a local variable and access it through that variable.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5444e768ee1abe6e021bece19a9a932351f88c88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 13:29:47 2013 +0200
add a header file for atomic operations
We're already using them in several places, but __sync builtins are just
too ugly to type, and do not provide seqcst load/store operations.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 22fc860b0a0b689eacf4a01f5aa2ccbf36043a12
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/[u-x]*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 853dca12055ea74994629d06798165d811c5e1e2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/t*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2977673992b7d363d0f402ee7c4217795fe13809
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/s*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40c5dce99bac2d1d5f240c8c8ec53dc23ea46a89
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/p*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eedfac6f38b2ba8be827088cd3facd19d21af1e1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/n*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c16154210ce6277bee553e72f7c7b2b2fecefbf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/m*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1437c94b2689c2010362f84d14f14feaa1d8dba3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/i*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b716368778aebdb523546d72a28706420a8c32ae
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/gpio: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3eadad551d3d5901b75f8c53dbd57b9bec2f2b01
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/d*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 300b1fc68c47478f36705f23a93dce77ac3e429a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/c*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2d256e6f652b519c59d0bea926ebb1cb866d4241
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/block: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 64bde0f3e7170cc8a9b60da835b9b3cefd03a7a5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/a*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit db10ca9057b11222408f708d5d99a3888eca4feb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:19:53 2013 -0400
piolist: add owner argument to initialization functions and pass devices
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3cd2cf4375993494bcf6195c1637a3d009aa6fae
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:33:01 2013 +0200
pam: pass device to init_pam and use it to set owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84af6d9f97bb144bbebe688364431804a190074a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:32:25 2013 +0200
spapr_iommu: pass device to spapr_tce_new_table and use it to set owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5cb022a1bfaa0c15a13d3266bc6d683cc1f44d7f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:31:46 2013 +0200
vfio: pass device to vfio_mmap_bar and use it to set owner
Cc: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dcb117bfda5af6f6ceb7231778d36d8bce4aee93
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 15:04:35 2013 +0200
ne2000: pass device to ne2000_setup_io, use it as owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 42e038fe918f4eecdd84ef9ee406bba1deb15cec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: set owner in vga_update_memory_access
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c84b28eeea1ab3f90e619b6af63e7db770c579ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init_io
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 831183277318395ecd02f2fe2423f5fe983ed96a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init_vbe
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9eb58a473b615d9d6d26ee8e568eeb2e67d8e274
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to cirrus_init_common
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 270327feb2535f74379030e028b96b57fd60ca39
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_common_init
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 712f0cc777dc8abc1f43b8e2a5e65ab3ae563cbd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3cf63ff25c6f1bdac7cb153f87ff830e932ac2f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 15:02:38 2013 +0200
escc: rename struct to ESCCState
We are using the same struct name for two devices. 8250 is widespread
enough that this causes some confusion, rename the other instance.
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3e71559a81ca7b6221465dd19282429101f983d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 28 17:33:29 2013 +0200
memory: ref/unref memory across address_space_map/unmap
The iothread mutex might be released between map and unmap, so the
mapped region might disappear.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3127ae0cdcde6b10a8643836f5bec197f2eff1a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 28 17:29:27 2013 +0200
exec: reorganize address_space_map
First of all, rename "todo" to "done".
Second, clearly separate the case of done == 0 with the case of done != 0.
This will help handling reference counting in the next patch.
Third, this test:
if (memory_region_get_ram_addr(mr) + xlat != raddr + todo) {
does not guarantee that the memory region is the same across two
iterations
of the while loop. For example, you could have two blocks:
A) size 640 K, mapped at physical address 0, ram_addr_t 0
B) size 64 K, mapped at physical address 0xa0000, ram_addr_t 0xa0000
then mapping 1 M starting at physical address zero will erroneously treat
B as the continuation of block A. qemu_ram_ptr_length ensures that no
invalid memory is accessed, but it is still a pointless complication of
the algorithm. The patch makes the logic clearer with an explicit test
that the memory region is the same.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1b5ec2346703c060d26ada7d95fe9aaf476b1947
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 14:36:15 2013 +0200
memory: return MemoryRegion from qemu_ram_addr_from_host
It will be needed in the next patch.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7443b43758ba5eeca8f81ca15fe9fced8983be26
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 12:44:02 2013 +0200
exec: move qemu_ram_addr_from_host_nofail to cputlb.c
After the next patch it would not be used elsewhere anyway. Also,
the _nofail and the standard versions of this function return different
things, which is confusing. Removing the function from the public headers
limits the confusion.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 23887b79df2be53dc49166e1b677469abfb92147
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 14:28:39 2013 +0200
exec: check MRU in qemu_ram_addr_from_host
This function is not used outside the iothread mutex, so it
can use ram_list.mru_block.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dfde4e6e1a868f60033ece0590b1f75e6c57fa16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:46:11 2013 +0200
memory: add ref/unref calls
Add ref/unref calls at the following places:
- places where memory regions are stashed by a listener and
used outside the BQL (including in Xen or KVM).
- memory_region_find callsites
- creation of aliases and containers (only the aliased/contained
region gets a reference to avoid loops)
- around calls to del_subregion/add_subregion, where the region
could disappear after the first call
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ce10901ca8da9142dcdcde198fda1a4c290934c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jul 2 13:40:48 2013 +0200
memory: introduce memory_region_present
This new API will avoid having too many memory_region_ref/unref
in paths that currently use memory_region_find.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 46637be269aaaceb9867ffdf176e906401138fff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 09:06:00 2013 +0200
memory: add ref/unref
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 803c0816a7d3ab35460991ba5b7d1fccc070332b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 06:59:09 2013 +0200
memory: add getter for owner
Whenever memory regions are accessed outside the BQL, they need to be
preserved against hot-unplug. MemoryRegions actually do not have their
own reference count; they piggyback on a QOM object, their "owner".
The owner is set at creation time, and there is a function to retrieve
the owner.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b7e95164d1a9969aa591b8a72e05b94d08c49738
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:07:03 2013 +0200
exec: simplify destruction of the phys map
Do not bother visiting the radix tree when an address space is destroyed.
After the previous patch, this has become a pointless exercise. When
called from address_space_destroy_dispatch, all you're doing is zeroing
out a structure that will be freed as soon as you come back. When called
from mem_begin, when phys_page_set_level will call phys_map_node_alloc the
radix tree's array will be zeroed too.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 058bc4b57f9d6b39d9a6748b4049e1be3fde3dac
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 09:30:48 2013 +0200
memory: destroy phys_sections one by one
phys_sections_clear is invoked after the dispatch tree has been
destroyed. This leaves a window where phys_sections_nb > 0 but the
subpages are not valid anymore, which is a recipe for use-after-free
bugs.
Move the destruction of subpages in phys_sections_clear. We will
still destroy the subpages when an address space is cleaned up,
because address_space_destroy will clear as->root and commit the
change before it calls address_space_destroy_dispatch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2c9b15cab12c21e32dffb67c5e18f3dc407ca224
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 05:41:28 2013 -0400
memory: add owner argument to initialization functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5767e4e19835cd39de9945bba17438e368e253bb
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:07 2013 +0200
ioport: Move portio types to ioport.h
This decouples memory.h from ioport.h, concentrating all portio related
types in a single header.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d67f679d99778d9e07ec470ebf803249c2bea625
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:06 2013 +0200
vmport: Disentangle read handler type from portio
In case the latter may vanish one day, make sure the vmport read handler
type will remain unaffected. This is also conceptually cleaner.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0659097de2b47470b4d706c2634240f54700c807
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:05 2013 +0200
ioport: Remove unused old dispatching services
Remove unused ioport_register and isa_unassign_ioport along with
everything that only those services used.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b40acf99bef69fa8ab0f9092ff162fde945eec12
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Jun 24 10:45:09 2013 +0200
ioport: Switch dispatching to memory core layer
The current ioport dispatcher is a complex beast, mostly due to the
need to deal with old portio interface users. But we can overcome it
without converting all portio users by embedding the required base
address of a MemoryRegionPortio access into that data structure. That
removes the need to have the additional MemoryRegionIORange structure
in the loop on every access.
To handle old portio memory ops, we simply install dispatching handlers
for portio memory regions when registering them with the memory core.
This removes the need for the old_portio field.
We can drop the additional aliasing of ioport regions and also the
special address space listener. cpu_in and cpu_out now simply call
address_space_read/write. And we can concentrate portio handling in a
single source file.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 962b03fcf509db25c847aa67c4eff574c240dcfe
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:03 2013 +0200
xen: Mark fixed platform I/O as unaligned
Before switching to the memory core dispatcher, we need to make sure
that this pv-device will continue to receive unaligned portio accesses.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 04e8cd506a2a7b57084d7d7b823540c2baf9a1da
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:02 2013 +0200
vmware-vga: Accept unaligned I/O accesses
Before switching to the memory core dispatcher, we need to make sure
that this pv-device will continue to receive unaligned portio accesses.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6f3296292f027c9a87a12dddd736a7c344d0206
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:01 2013 +0200
isa: implement isa_is_ioport_assigned via memory_region_find
Open-code isa_is_ioport_assigned via a memory region lookup. As all IO
ports are now directly or indirectly registered via the memory API, this
becomes possible and will finally allow us to drop the ioport tables.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ab9b41876c0ead43648b55576a8f17aa2c8b027
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:00 2013 +0200
Privatize register_ioport_read/write
No more users outside of ioport.c.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bcc37e24bda4666e1ddd75e9c523641f8b8a1b7e
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:59 2013 +0200
vt82c686: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd533eb510bace3efabe3378caae4002eb941508
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:58 2013 +0200
prep: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f94b64acb6ec2871676990ea5ba956a91b20cc75
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:57 2013 +0200
i82374: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0c6c4e28b3e6a2d0d87b7ca87ffb19e03d44267b
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:56 2013 +0200
wdt_ib700: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3914e3ad883cff0247da8471e9cb3051e88ab38
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:55 2013 +0200
applesmc: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a8aec29569e8baa4d86ea2aac16f8c4d78ab2a2a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:54 2013 +0200
adlib: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
CC: malc <av1474@xxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f487b677c2dc15786dbe7c61326cc49e7c64daea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 14:17:19 2013 +0200
dma: keep a device alive while it has SGLists
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cac3c384bb986f06a308e551641284586924813c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 14:09:39 2013 +0200
scsi: keep device alive while it has requests
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6ac363b50c569815786a795d806e068b3f6a07eb
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:46 2013 +1000
pci: Move pci_read_devaddr to pci-hotplug-old.c
pci_read_devaddr() is only used by the legacy functions for the old PCI
hotplug interface in pci-hotplug-old.c. So we move the function there,
and make it static.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 79ca616f291124d166ca173e512c4ace1c2fe8b2
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:45 2013 +1000
pci: Cleanup configuration for pci-hotplug.c
pci-hotplug.c and the CONFIG_PCI_HOTPLUG variable which controls its
compilation are misnamed. They're not about PCI hotplug in general, but
rather about the pci_add/pci_del interface which are now deprecated in
favour of the more general device_add/device_del interface. This patch
therefore renames them to pci-hotplug-old.c and CONFIG_PCI_HOTPLUG_OLD.
CONFIG_PCI_HOTPLUG=y was listed twice in {i386,x86_64}-softmmu.make for no
particular reason, so we clean that up too. In addition it was included
in
ppc64-softmmu.mak for which the old hotplug interface was never used and
is
unsuitable, so we remove that too.
Most of pci-hotplug.c was additionaly protected by #ifdef TARGET_I386.
The
small piece which wasn't is only called from the pci_add and pci_del hooks
in hmp-commands.hx, which themselves were protected by #ifdef TARGET_I386.
This patch therefore also removes the #ifdef from pci-hotplug-old.c,
and changes the ifdefs in hmp-commands.hx to use CONFIG_PCI_HOTPLUG_OLD.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fea7d5966a54a5e5400cd38897a95ea576b5af4d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jun 16 23:48:42 2013 +0300
pvpanic: fix fwcfg for big endian hosts
Convert port number to little endian when
exposing it in fw cfg.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jun 16 18:31:30 2013 +0300
pvpanic: initialization cleanup
Avoid use of static variables: PC systems
initialize pvpanic device through pvpanic_init,
so we can simply create the fw_cfg file at that point.
This also makes it possible to skip device
creation completely if fw_cfg is not there, e.g. for xen -
so the ports it reserves are not discoverable by guests.
Also, make pvpanic_init void since callers ignore return
status anyway.
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c6d559d9cf8687d8378e888e7570c07ce53b94e2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 16:06:37 2013 +0300
MAINTAINERS: s/Marcelo/Paolo/
Marcelo doesn't maintain kvm anymore,
Paolo is taking over the job.
Update MAINTAINERS to stop flooding Marcelo with mail.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a0ae17a63e08a57a644eacc1f0fd89d535ed36bf
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Tue Jun 4 10:49:48 2013 +0200
e1000: cleanup process_tx_desc
Coverity complains about two overruns in process_tx_desc(). The
complaints are false positives, but we might as well eliminate
them. The problem is that "hdr" is defined as an unsigned int,
but then used to offset an array of size 65536, and another of
size 256 bytes. hdr will actually never be greater than 255
though, as it's assigned only once and to the value of
tp->hdr_len, which is an uint8_t. This patch simply gets rid of
hdr, replacing it with tp->hdr_len, which makes it consistent
with all other tp member use in the function.
v2:
- also cleanup coding style issues in the touched lines
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fcbe0a707a227ea25f06382e61ff9b2761c77661
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 18 17:11:42 2013 +0300
pc_piix: cleanup init compat handling
Make sure 1.4 calls 1.5, 1.3 calls 1.4 etc.
This way it's enough to add enough new compat hook
in a single place in piix.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 20:00:23 2013 +0300
pc: pass PCI hole ranges to Guests
Guest currently has to jump through lots of hoops to guess the PCI hole
ranges. It's fragile, and makes us change BIOS each time we add a new
chipset. Let's report the window in a ROM file, to make BIOS do exactly
what QEMU intends.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3459a625215449b67b9c67d9151ff72892d0a42a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:57:26 2013 +0300
pci: store PCI hole ranges in guestinfo structure
Will be used to pass hole ranges to guests.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 620ac82eb0fc4218fb6a4937bcef3fdab3126703
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 17:13:15 2013 +0300
range: add Range structure
Sometimes we need to pass ranges around, add a
handy structure for this purpose.
Note: memory.c defines its own concept of AddrRange structure for
working with 128 addresses. It's necessary there for doing range math.
This is not needed for most users: struct Range is
much simpler, and is only used for passing the range around.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf
Merge: 1acd5a3... 00f4d64...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 3 08:36:59 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Michael S. Tsirkin (2) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
kvmclock: clock should count only if vm is running
pci-assign: remove the duplicate function name in debug message
kvm: skip system call when msi route is unchanged
kvm: zero-initialize KVM_SET_GSI_ROUTING input
kvm: add detail error message when fail to add ioeventfd
Message-id: 1372841072-22265-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1f6dc0d2a03f0e114cc5ff08b0a133e24fd55ad
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Jun 11 10:14:09 2013 +0200
tcg/aarch64: implement ldst 12bit scaled uimm offset
implement the 12bit scaled unsigned immediate offset
variant of LDR/STR. This improves code size by avoiding
the movi + ldst_r for naturally aligned offsets in range.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00f4d64ee76e873be881a82d893a591487aa7950
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Jun 18 20:38:25 2013 -0300
kvmclock: clock should count only if vm is running
kvmclock should not count while vm is paused, because:
1) if the vm is paused for long periods, timekeeping
math can overflow while converting the (large) clocksource
delta to nanoseconds.
2) Users rely on CLOCK_MONOTONIC to count run time, that is,
time which OS has been in a runnable state (see CLOCK_BOOTTIME).
Change kvmclock driver so as to save clock value when vm transitions
from runnable to stopped state, and to restore clock value from stopped
to runnable transition.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bd50cbaa0f34e47c5b82eba1cd1e88143018fa19
Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Date: Wed Jun 19 11:18:39 2013 +0800
pci-assign: remove the duplicate function name in debug message
While DEBUG() already includes the function name.
Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40509f7f52672fe41c2cce895e187352fc09f53a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 14:52:35 2013 +0300
kvm: skip system call when msi route is unchanged
Some guests do a large number of mask/unmask
calls which currently trigger expensive route update
system calls.
Detect that route in unchanged and skip the system call.
Reported-by: "Zhanghaoyu (A)" <haoyu.zhang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 0fbc20740342713f282b118b4a446c4c43df3f4a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 14:52:32 2013 +0300
kvm: zero-initialize KVM_SET_GSI_ROUTING input
kvm_add_routing_entry makes an attempt to
zero-initialize any new routing entry.
However, it fails to initialize padding
within the u field of the structure
kvm_irq_routing_entry.
Other functions like kvm_irqchip_update_msi_route
also fail to initialize the padding field in
kvm_irq_routing_entry.
It's better to just make sure all input is initialized.
Once it is, we can also drop complex field by field assignment and just
do the simple *a = *b to update a route entry.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit fa4ba923bd539647ace9d70d226a848bd6a89dac
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed May 22 12:57:35 2013 +0800
kvm: add detail error message when fail to add ioeventfd
I try to hotplug 28 * 8 multiple-function devices to guest with
old host kernel, ioeventfds in host kernel will be exhausted, then
qemu fails to allocate ioeventfds for blk/nic devices.
It's better to add detail error here.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 6046c620866f6f5c53eaece9f4ad8d44a12e1185
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 20 16:19:32 2013 +0200
int128: optimize and add test cases
For add, the carry only requires checking one of the arguments.
For sub and neg, we can similarly optimize computation of the
carry.
For ge, we can just do lexicographic order.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1acd5a373905ddb28957842256a038956941f332
Merge: f7d1f9d... 2345f1c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:03:04 2013 -0500
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Alexander Graf (12) and others
# Via Alexander Graf
* agraf/ppc-for-upstream: (32 commits)
PPC: Ignore writes to L2CR
mac-io: Add escc-legacy memory alias region
PPC: Newworld: Add second uninorth control register set
PPC: Newworld: Add uninorth token register
PPC: Add clock-frequency export for Mac machines
PPC: Introduce an alias cache for faster lookups
PPC: Fix GDB read on code area for PPC6xx
PPC: Add dump_mmu() for 6xx
target-ppc: Introduce unrealizefn for PowerPCCPU
booke_ppc: limit booke timer to max when timeout overflow
Graphics: Switch to 800x600x32 as default mode
pseries: Update MAINTAINERS information
target-ppc kvm: save cr register
pseries: Fix compiler warning (conversion of pointer to integral value)
spapr-rtas: add CPU argument to RTAS calls
target-ppc: Change default machine for 64-bit
ppc: do not register IABR SPR twice for 603e
target-ppc: Drop redundant flags assignments from CPU families
mpc8544_guts: Turn qdev initfn into instance_init
mpc8544_guts: QOM'ify
...
Message-id: 1372556709-23868-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7d1f9d4e74d66cc7c72de46575a61bd6b433360
Merge: d75416e... cc3ac9c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:02:30 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: fix build breakage on windows
Message-id: 1372669523-4039-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d75416ef29e477ebeadf9da41677be6f8166e8be
Merge: ffeec22... fbe2e26...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:02:25 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Kevin Wolf
# Via Luiz Capitulino
* luiz/queue/qmp:
hmp: Make "info block" output more readable
Message-id: 1372452199-23237-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc3ac9c4a6fd0574b767c599e4a582be8f23260d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Jun 28 09:28:06 2013 +0200
virtio-ccw: fix build breakage on windows
event_notifier_get_fd() is not available on windows hosts. Fix this by
moving the calls to event_notifier_get_fd() to the kvm code.
Reported-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 2345f1c0146672ce6eb0025bd2cfa4afabdef5fd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jun 27 00:31:42 2013 +0200
PPC: Ignore writes to L2CR
The L2CR register contains a number of bits that either impose
configuration
which we can't deal with or mean "something is in progress until the bit
is
0 again".
Since we don't model the former and we do want to accomodate guests using
the
latter semantics, let's just ignore writes to L2CR. That way guests
always read
back 0 and are usually happy with that.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d54a5024f846ce7d53db25012fb4c7481e971ff
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Jun 26 13:58:31 2013 +0200
mac-io: Add escc-legacy memory alias region
Mac OS X's debugging serial driver accesses the ESCC through a different
register layout, called "escc-legacy". This layout differs from the normal
escc register layout purely by the location of the respective registers.
This patch adds a memory alias region that takes normal escc registers and
maps them into the escc-legacy register space.
With this patch applied, a Mac OS X guest successfully emits debug output
on the serial port when run with debug parameters set, for example by
running:
$ qemu-system-ppc -prom-env -'boot-args=-v debug=0x8 io=0xff
serial=0x3' \
-cdrom 10.4.iso -boot d
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 593c18116090237db96af6e50b902d790265ebc5
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jun 25 03:46:33 2013 +0200
PPC: Newworld: Add second uninorth control register set
Mac OS X requires a second uninorth register set to be mapped a few
bytes above the first one. Let's just expose it to make it happy.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4e46dcdbd31314c66fc19f73d9358852f77e8e2e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jun 25 03:39:21 2013 +0200
PPC: Newworld: Add uninorth token register
Mac OS X expects the uninorth control register set to contain one
register that always reads back what it writes in. Expose that.
This is just a temporary hack. Eventually, we want to expose the
uninorth (/uni-n in device tree) as a separate QOM device.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1014f25ef54bbbdaf571873a1254f85d6dcf132
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 23 00:22:50 2013 +0200
PPC: Add clock-frequency export for Mac machines
Support in fwcfg has been around for exposure of the clock-frequency
CPU property. OpenBIOS reads it, we just never exposed it.
Since Mac OS X is very picky about its clock frequency values, let's
just take a known good value and always expose that.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9761ad757182be663fa31af99abad959ac63b17f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jun 22 03:53:35 2013 +0200
PPC: Introduce an alias cache for faster lookups
When running QEMU with "-cpu ?" we walk through every alias for every
target CPU we know about. This takes several seconds on my very fast
host system.
Let's introduce a class object cache in the alias table. Using that we
don't have to go through the tedious work of finding our target class.
Instead, we can just go directly from the alias name to the target class
pointer.
This patch brings -cpu "?" to reasonable times again.
Before:
real 0m4.716s
After:
real 0m0.025s
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b177d8b77c7301da9b51b829b0edcff367e92023
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Jun 18 16:53:01 2013 +0200
PPC: Fix GDB read on code area for PPC6xx
On PPC 6xx, data and code have separated TLBs. Until now QEMU was only
looking at data TLBs, which is not good when GDB wants to read code.
This patch adds a second call to get_physical_address() with an
ACCESS_CODE type of access when the first call with ACCESS_INT fails.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 886b75779104f38c30cc2594fcf2b214615a242d
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Jun 21 15:26:57 2013 +0200
PPC: Add dump_mmu() for 6xx
"(qemu) info tlb" is a very useful tool for debugging, so I implemented
the missing 6xx version.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
[agraf: fix printfs on hwaddr to PRI]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b048960f15dbedeceb4e1d7e469080cf68d4cf67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:11:49 2013 +0200
target-ppc: Introduce unrealizefn for PowerPCCPU
Use it to clean up the opcode table, resolving a former TODO from Jocelyn.
Also switch from malloc() to g_malloc().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab8131afee34d6aa427bd56ac18c4d3b6df80728
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Jun 12 18:00:50 2013 +0530
booke_ppc: limit booke timer to max when timeout overflow
Limit watchdog and fit timer to maximum timeout value which
qemu timer can support (INT64_MAX). This maximum timeout will be
hundreds of years, so limiting to max timeout is pretty safe.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1ff0e89c8287de79c804ec7a50d43f39a9f65dc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jun 20 14:06:27 2013 +0200
Graphics: Switch to 800x600x32 as default mode
We have stayed at 800x600x15 as default graphics mode for the last 9
years.
If there ever was a reason to be there, surely nobody remembers it.
However, recently non-Linux PPC guests started to show bad effects on 15
bit
color mode. They do work just fine with 32 bits however.
So let's switch to 32 bit color as the default graphic mode.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f9de2da728d885c5c246d6ba94edea067ad00434
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat Jun 15 11:51:52 2013 +1000
pseries: Update MAINTAINERS information
I'm no longer at IBM, and therefore no long actively working on the
pseries
(aka sPAPR) qemu machine type. This patch removes my information in the
MAINTAINERS file.
While we're at it, I've added some extra file patterns for pseries
specific
files that weren't included in the existing pattern.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: Remove new maintainer addition]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4bddaf552c3a05e1fdd2c82d6b28ebc8f99269c9
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Jun 15 11:51:51 2013 +1000
target-ppc kvm: save cr register
This adds a missing code to save CR (condition register) via
kvm_arch_put_registers(). kvm_arch_get_registers() already has it.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ec4936e1a49ef2d7129a1813ed7a3ca826698bfb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jun 19 23:08:29 2013 +0200
pseries: Fix compiler warning (conversion of pointer to integral value)
This kind of type cast must use uintptr_t or target_ulong to be portable
for hosts with sizeof(void *) != sizeof(long).
Here the value is assigned to a variable of type target_ulong.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
[agraf: fix compilation on 32bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 210b580b106fa798149e28aa13c66b325a43204e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jun 19 15:40:30 2013 -0500
spapr-rtas: add CPU argument to RTAS calls
RTAS is a hypervisor provided binary blob that a guest loads and
calls into to execute certain functions. It's similar to the
vsyscall page in Linux or the short lived VMCI paravirt interface
from VMware.
The QEMU implementation of the RTAS blob is simply a passthrough
that proxies all RTAS calls to the hypervisor via an hypercall.
While we pass a CPU argument for hypercall handling in QEMU, we
don't pass it for RTAS calls. Since some RTAs calls require
making hypercalls (normally RTAS is implemented as guest code) we
have nasty hacks to allow that.
Add a CPU argument to RTAS call handling so we can more easily
invoke hypercalls just as guest code would.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 159f8286b760deace1008f5f68a46cadba337780
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat Jun 15 11:51:50 2013 +1000
target-ppc: Change default machine for 64-bit
Currently, for qemu-system-ppc64, the default machine type is 'mac99'.
The mac99 machine is not being actively maintained, and represents a
bizarre hybrid of components that never actually existed as a real system.
This patch changes the default machine to 'pseries', which is actively
maintained and works well with most modern ppc64 Linux distributions as a
guest.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: adjust commit message]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9fea2ae25080ad790d7d904d01a1300a45a634eb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat May 11 21:03:50 2013 +0200
ppc: do not register IABR SPR twice for 603e
IABR SPR is already registered in gen_spr_603(), called from
init_proc_603E().
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e3438df5a9e75355b36200f3bd8b94d1a32cc24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 18:35:46 2013 +0100
target-ppc: Drop redundant flags assignments from CPU families
Previous code has #define POWERPC_INSNS2_<family> PPC_NONE in some
places for macrofied assignment to insns_flags2 field.
PPC_NONE is defined as zero though and QOM classes are zero-initialized,
so drop any pcc->insns_flags2 = PPC_NONE; assignments.
PPC_NONE itself is still in use in translate.c.
Suggested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7587ea5bcbdeb08a204b4c1d5afe039d47d613fa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:35 2013 +0200
mpc8544_guts: Turn qdev initfn into instance_init
SysBus can deal with NULL SysBusDeviceClass::init since 4ce5dae.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 43f691e9e248edca7b70680fd87b5be786cc4e01
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:34 2013 +0200
mpc8544_guts: QOM'ify
Introduce type constant, cast macro and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f1a83f459dab7fbec9c5866a4d6a1ae16549edd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:33 2013 +0200
mpc8544_guts: Fix MemoryRegion name
6544 -> 8544
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dd49c038c373329dc9e98e591677978ff2277d9f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 21:30:40 2013 +0200
intc/openpic_kvm: Fix QOM and build issues
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cbe72019b1432b368dde7c6cd3e270fc221de085
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 03:58:08 2013 +0200
intc/openpic: Convert to QOM realize
Split qdev initfn into instance_init and realize functions.
Change one occurrence of "klass" while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1766344fd1d3cb7421f734f89a9356fdec98398
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 03:58:07 2013 +0200
intc/openpic: QOM'ify
Introduce type constant and cast macro.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d85937e683f6ff4d68293cb24c780fb1f6820d2c
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Jun 12 15:32:51 2013 -0500
kvm/openpic: in-kernel mpic support
Enables support for the in-kernel MPIC that thas been merged into the
KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex
Graf (along with some other improvements).
Note from Alex regarding kvm_irqchip_create():
On x86, one would call kvm_irqchip_create() to initialize an
in-kernel interrupt controller. That function then goes ahead and
initializes global capability variables as well as the default irq
routing table.
On ppc, we can't call kvm_irqchip_create() because we can have
different types of interrupt controllers. So we want to do all the
things that function would do for us in the in-kernel device init
handler.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: squash in kvm_irqchip_commit_routes patch, fix non-kvm build,
fix ppcemb]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4be1db86060d803f2335c08a483218eb6a8bd9eb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jun 28 13:47:15 2013 +0200
PPC: Add non-kvm stub file
There are cases where a kvm provided function is called from generic
hw code that doesn't know whether kvm is available or not. Provide
a stub file which can provide simple replacement functions for those
cases.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb925cf9230f77c096dae4b159a9449bc306256c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 17 01:11:55 2013 +0200
KVM: PIC: Only commit irq routing when necessary
The current logic updates KVM's view of our interrupt map every time we
change it. While this is nice and bullet proof, it slows things down
badly for me. QEMU spends about 3 seconds on every start telling KVM what
news it has on its routing maps.
Instead, let's just synchronize the whole irq routing map as a whole when
we're done constructing it. For things that change during runtime, we can
still update the routing table on demand.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 82fc73b65c19fed0ee28aeb655d27de5ac9e78d5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Apr 15 13:19:33 2013 +0000
PPC: e500: factor out mpic init code
KVM in-kernel MPIC support is going to expand this even more,
so let's keep it contained.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8935a442cd3cf94f21fcc4386c1c07a7a5dd6887
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Apr 15 13:19:32 2013 +0000
openpic: factor out some common defines into openpic.h
...for use by the KVM in-kernel irqchip stub.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d07cc1f12d8e15c167857852c39190d770763824
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 16 15:05:22 2013 +0200
KVM: MSI: Swap payload to native endianness
The usual MSI injection mechanism writes msi.data into memory using an
le32 wrapper. So on big endian guests, this swaps msg.data into the
expected byte order.
For irqfd however, we don't swap the payload right now, rendering
in-kernel MPIC emulation broken on PowerPC.
Swap msg.data to the correct endianness whenever we touch it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b7745930b1f14057b41a257524c559e62c5faa7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 16 15:58:13 2013 +0200
KVM: Export kvm_init_irq_routing
On PPC, we can have different types of interrupt controllers, so we really
only know that we are going to use one when we created it.
Export kvm_init_irq_routing() to common code, so that we don't have to
call
kvm_irqchip_create().
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 215e79c01c4e6f766eb9add56c56453e9ea1d948
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 24 22:24:12 2013 +0200
KVM: Don't assume that mpstate exists with in-kernel PIC always
On PPC, we don't support MP state. So far it's not necessary and I'm
not convinced yet that we really need to support it ever.
However, the current idle logic in QEMU assumes that an in-kernel PIC
also means we support MP state. This assumption is not true anymore.
Let's split up the two cases into two different variables. That way
PPC can expose an in-kernel PIC, while not implementing MP state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
CC: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit ffeec223b55ea696567ed544016824199cd7c7bc
Merge: 2ea3e2c... a8ad415...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 15:48:35 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Gerd Hoffmann (13) and Michael Tokarev (1)
# Via Michael Tokarev
* mjt/trivial-patches:
doc: we use seabios, not bochs bios
qemu-socket: don't leak opts on error
qemu-char: report udp backend errors
qemu-char: add -chardev mux support
qemu-char: minor mux chardev fixes
qemu-char: use ChardevBackendKind in CharDriver
qemu-char: don't leak opts on error
qemu-char: fix documentation for telnet+wait socket flags
qemu-char: print notification to stderr
qemu-char: use more specific error_setg_* variants
qemu-char: check optional fields using has_*
qemu-socket: catch monitor_get_fd failures
qemu-socket: drop pointless allocation
qemu-socket: zero-initialize SocketAddress
Message-id: 1372443465-22384-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fbe2e26c15af35e4d157874dc80f6a19eebaa83b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 16:10:55 2013 +0200
hmp: Make "info block" output more readable
HMP is meant for humans and you should notice it.
This changes the output format to use a bit more space to display the
information more readable and leaves out irrelevant information (e.g.
mention only that an image is encrypted, but not when it's not; display
I/O limits only if throttling is in effect; ...)
Before:
(qemu) info block
ide0-hd0: removable=0 io-status=ok file=/tmp/overlay.qcow2
backing_file=/tmp/backing.img backing_file_depth=1 ro=0 drv=qcow2
encrypted=1 bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0
ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok
file=/home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso ro=1
drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0
floppy0: removable=1 locked=0 tray-open=0 [not inserted]
sd0: removable=1 locked=0 tray-open=0 [not inserted]
After:
(qemu) info block
ide0-hd0: /tmp/overlay.qcow2 (qcow2, encrypted)
Backing file: /tmp/backing.img (chain depth: 1)
I/O limits: bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0
iops_wr=0
ide1-cd0: /home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso
(raw, read-only)
Removable device: not locked, tray closed
floppy0: [not inserted]
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2ea3e2c1e85097c45a882dbc1fbba4a7fdb3ff1c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 27 15:25:12 2013 +0200
qemu-char: Fix ID reuse after chardev-remove for qapi-based init
Commit 2c5f488 introduced qapi-based character device initialization
as a new code path in qemu_chr_new_from_opts(). Unfortunately, it
failed to store parameter opts in the new chardev. Therefore,
qemu_chr_delete() doesn't delete it. Even though the device is gone,
its options linger, and any attempt to create another one with the
same ID fails.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372339512-28149-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 43f420f8419866619bd107d5ee84c727b46967b8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jun 25 10:49:31 2013 +0200
console: Hook QemuConsoles into qom tree
Put them named "console[$index]" below "/backend", so you can
list & inspect them via QMP.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372150171-8707-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f087553653152fdae16ed7066d238677734e4902
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jun 25 10:48:54 2013 +0200
gtk: add support for surface conversion
Also use CAIRO_FORMAT_RGB24 unconditionally. DisplaySurfaces will never
ever see 8bpp surfaces. And using CAIRO_FORMAT_RGB16_565 for the 16bpp
case doesn't seem to be a good idea too.
<quote src="/usr/include/cairo/cairo.h">
* @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has
* never been properly implemented in cairo and should not be used
* by applications. (since 1.2)
</quote>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372150134-8590-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 12b7f57e2cfcd665cf5a21b4ae3c23b9361c5c05
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Jun 24 15:06:52 2013 +0400
vl: convert -smp to qemu_opts_parse()
This also introduces a new suboption, "cpus=",
which is the default. So after this patch,
-smp n,sockets=y
is the same as
-smp cpus=n,sockets=y
(with "cpu" being some generic thing, referring to
either cores, or threads, or sockets, as before).
We still don't validate relations between different
numbers, for example it is still possible to say
-smp 1,sockets=10
and it will be accepted to mean sockets=1.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1372072012-30305-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a27c6a067acd03cbd810585552df4818a4397f7
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:46 2013 +0200
multiboot: Updated ROM binary
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-4-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26a8ec07616df8eeb7ae5e76a4eade6809c426e3
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:45 2013 +0200
multiboot: Calculate upper_mem in the ROM
The upper_mem field of the Multiboot information struct doesn't really
contain the RAM size - 1 MB like we used to calculate it, but only the
memory from 1 MB up to the first (upper) memory hole.
In order to correctly retrieve this information, the multiboot ROM now
looks at the mmap it creates anyway and tries to find the size of
contiguous usable memory from 1 MB.
Drop the multiboot.c definition of lower_mem and upper_mem because both
are queried at runtime now.
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-3-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 390fb6b47144adbad453cdf95c130854728c56f8
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:44 2013 +0200
multiboot: Don't forget last mmap entry
When the BIOS returns ebx = 0, the current entry is still valid and
needs to be included in the Multiboot memory map.
Fixing this meant that using bx as the entry index doesn't work any
more because it's 0 on the last entry (and it was SeaBIOS-specific
anyway), so the whole loop had to change a bit and should be more
generic as a result (ebx can be an arbitrary continuation number now,
and the entry size returned by the BIOS is used instead of hard-coding
20 bytes).
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-2-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bedfe94c96c5ba35fcb2a52b438fefcc682669e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jun 27 21:00:06 2013 +0200
arch_init: Fix format string by using RAM_ADDR_FMT
length is a ram_addr_t, so RAM_ADDR_FMT must be used instead of %ld.
This fixes a recently introduced regression for w64 builds.
Using RAM_ADDR_FMT also changes decimal output to sedecimal.
This is good here because length and block->length should both
use the same base in the error message.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1372359606-2759-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a8ad4159ed7d8a442a9c049a6fd0d47aa330c2aa
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jun 28 10:08:16 2013 +0400
doc: we use seabios, not bochs bios
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7a5b6af13a45ae7109900dee03a436819302126c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:56 2013 +0200
qemu-socket: don't leak opts on error
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 58a3714c529b1b97ee078ea25b58f731aabcbfff
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:55 2013 +0200
qemu-char: report udp backend errors
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit bb6fb7c0857aeda7982ac14460328edf3c29cfc8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:54 2013 +0200
qemu-char: add -chardev mux support
Allow to explicitly create mux chardevs on the command line,
like you can using QMP.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc2c4eca89ec5ee7b7a4c2563c991a14a7c5ee84
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:53 2013 +0200
qemu-char: minor mux chardev fixes
mux failure path has a memory leak. creating a mux chardev can't
fail though, so just assert() that instead of fixing an error path
which never ever runs anyway ...
Also fix bid being leaked while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 99aec0123ce5ba307dc357c5bf1e0f22d2be0931
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:52 2013 +0200
qemu-char: use ChardevBackendKind in CharDriver
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e668287d4413395be1a0f9ef292bb6d0c1006e29
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:51 2013 +0200
qemu-char: don't leak opts on error
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ef993ba7bc631b57f9ea70a7f6fc8c0fcbdfa19d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:50 2013 +0200
qemu-char: fix documentation for telnet+wait socket flags
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fdca2124adc293f84f2b7aaf0df43faa6b6bf420
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:49 2013 +0200
qemu-char: print notification to stderr
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 20c397607cb54905f452921259b4baa9c8a1d008
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:48 2013 +0200
qemu-char: use more specific error_setg_* variants
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e859eda58501cd20a2e6988fb4acc1756bc4d278
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:47 2013 +0200
qemu-char: check optional fields using has_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d1ec72a44e0a167f9e8254d6d1098d27f104571f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:46 2013 +0200
qemu-socket: catch monitor_get_fd failures
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c1204afc7c048cf58b0a8f1c11886f36ca73ef28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:45 2013 +0200
qemu-socket: drop pointless allocation
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit afde3f8b9923892d21a735993f533e5d8b60e0b0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:44 2013 +0200
qemu-socket: zero-initialize SocketAddress
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8a9c98aedc1a3fb4dfbebeccc926e273df54f2ba
Merge: 3612563... c658b94...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 11:48:09 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu: (24 commits)
cpu: Turn cpu_unassigned_access() into a CPUState hook
hwaddr: Make hwaddr type usable beyond softmmu
cpu: Change qemu_init_vcpu() argument to CPUState
cpus: Change qemu_dummy_start_vcpu() argument to CPUState
cpus: Change qemu_kvm_start_vcpu() argument to CPUState
cpus: Change cpu_handle_guest_debug() argument to CPUState
gdbstub: Set gdb_set_stop_cpu() argument to CPUState
kvm: Change kvm_cpu_exec() argument to CPUState
kvm: Change kvm_handle_internal_error() argument to CPUState
cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks
cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState
kvm: Change kvm_set_signal_mask() argument to CPUState
cpus: Change qemu_kvm_wait_io_event() argument to CPUState
cpus: Change cpu_thread_is_idle() argument to CPUState
cpu: Change cpu_exit() argument to CPUState
kvm: Change cpu_synchronize_state() argument to CPUState
kvm: Change kvm_cpu_synchronize_state() argument to CPUState
gdbstub: Simplify find_cpu()
cpu: Guard cpu_{save,load}() definitions
target-openrisc: Register VMStateDescription for OpenRISCCPU
...
commit 36125631e79d53ffb9365740f43f386e2171d116
Merge: ec3f8c9... 721da65...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 10:37:33 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (11) and others
# Via Kevin Wolf
* kwolf/for-anthony:
cmd646: fix build when DEBUG_IDE is enabled.
block: change default of .has_zero_init to 0
vpc: Implement .bdrv_has_zero_init
vmdk: remove wrong calculation of relative path
gluster: Return bdrv_has_zero_init = 0
block/ssh: Set bdrv_has_zero_init according to the file type.
block: Make BlockJobTypes const
qemu-iotests: add 055 drive-backup test case
qemu-iotests: extract wait_until_completed() into iotests.py
blockdev: add Abort transaction
blockdev: add DriveBackup transaction
blockdev: allow BdrvActionOps->commit() to be NULL
blockdev: rename BlkTransactionStates to singular
block: add drive-backup QMP command
blockdev: use bdrv_getlength() in qmp_drive_mirror()
blockdev: drop redundant proto_drv check
block: add basic backup support to block driver
block: add bdrv_add_before_write_notifier()
notify: add NotiferWithReturn so notifier list can abort
raw-posix: Fix /dev/cdrom magic on OS X
Message-id: 1372429509-29642-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 721da65c6eba9c053d73744ecaa882b0f7cd634a
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Fri Jun 28 14:43:16 2013 +0100
cmd646: fix build when DEBUG_IDE is enabled.
Make sure we use the correct TARGET/PRI macros in the debug statements.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3ac216270a62418519c08e88c17005a8f1539cf2
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jun 28 12:47:42 2013 +0200
block: change default of .has_zero_init to 0
.has_zero_init defaults to 1 for all formats and protocols.
this is a dangerous default since this means that all
new added drivers need to manually overwrite it to 0 if
they do not ensure that a device is zero initialized
after bdrv_create().
if a driver needs to explicitly set this value to
1 its easier to verify the correctness in the review process.
during review of the existing drivers it turned out
that ssh and gluster had a wrong default of 1.
both protocols support host_devices as backend
which are not by default zero initialized. this
wrong assumption will lead to possible corruption
if qemu-img convert is used to write to such a backend.
vpc and vmdk also defaulted to 1 altough they support
fixed respectively flat extends. this has to be addresses
in separate patches. both formats as well as the mentioned
ssh and gluster are turned to the default of 0 with this
patch for safety.
a similar problem with the wrong default existed for
iscsi most likely because the driver developer did
oversee the default value of 1.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 06:49:53 2013 +0200
cpu: Turn cpu_unassigned_access() into a CPUState hook
Use it for all targets, but be careful not to pass invalid CPUState.
cpu_single_env can be NULL, e.g. on Xen.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce927ed9e40e25008453eb8f130661514b633341
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:02:38 2013 +0200
hwaddr: Make hwaddr type usable beyond softmmu
While not normally needed for *-user, it can safely be used there since
always based on uint64_t, to avoid ifdeffery.
To avoid accidental uses, move the guards from exec/hwaddr.h to its
inclusion sites. No need for them in include/hw/.
Prepares for hwaddr use in qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c643bed99fcde661b034623722004562b7953669
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 03:23:24 2013 +0200
cpu: Change qemu_init_vcpu() argument to CPUState
This allows to move the call into CPUState's realizefn.
Therefore move the stub into libqemustub.a.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 10a9021dfd9d8ebdaf53100a8e216054ef4fa662
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:24:35 2013 +0200
cpus: Change qemu_dummy_start_vcpu() argument to CPUState
Pass it to qemu_dummy_cpu_thread_fn().
Use CPUState::env_ptr for cpu_single_env.
Prepares for changing qemu_init_vcpu() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 48a106bd144c60862e8b6116dc226885d1937d76
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:20:39 2013 +0200
cpus: Change qemu_kvm_start_vcpu() argument to CPUState
Pass it on to qemu_kvm_cpu_thread_fn().
Prepares for changing qemu_init_vcpu() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 913250464f5ea5799d71ab033b51d1bf8ed84343
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:07:49 2013 +0200
cpus: Change cpu_handle_guest_debug() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 64f6b3469d5983141707dfc5ec2e8f5f60af1ba0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:06:09 2013 +0200
gdbstub: Set gdb_set_stop_cpu() argument to CPUState
Use CPUState::env_ptr for now.
Prepares for changing cpu_handle_guest_debug() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1458c363139a54f50ea336edc612d8c5e9142220
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:46:55 2013 +0200
kvm: Change kvm_cpu_exec() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5326ab5567c12bac0802b08b265f401fe84a4ad6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 01:55:29 2013 +0200
kvm: Change kvm_handle_internal_error() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing kvm_cpu_exec() argument to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 01:33:50 2013 +0200
cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks
Make cpustats monitor command available unconditionally.
Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec()
arguments to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13618e058cf2d76bccc41251fa0095aae88a8249
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:41:00 2013 +0200
cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 491d6e80ea5854d75ab7c19e32a0ba01d08f6df5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:38:10 2013 +0200
kvm: Change kvm_set_signal_mask() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd529e8f465c0d6b2d5f01c58cee4746425d2734
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:24:55 2013 +0200
cpus: Change qemu_kvm_wait_io_event() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a98ae1d8f5ee09694c148b1787e02205ee908b53
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:21:08 2013 +0200
cpus: Change cpu_thread_is_idle() argument to CPUState
It no longer needs CPUArchState.
Prepares for changing all_cpu_threads_idle() CPU loop to CPUState and
needed for changing qemu_kvm_wait_io_event() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60a3e17a469e444a7bc4d9a14c2ecf3bdb5ec094
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 18:26:54 2013 +0200
cpu: Change cpu_exit() argument to CPUState
It no longer depends on CPUArchState, so move it to qom/cpu.c.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb446ecab714b2444a270be209e0533bcd2ee534
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 14:24:52 2013 +0200
kvm: Change cpu_synchronize_state() argument to CPUState
Change Monitor::mon_cpu to CPUState as well.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd1750d7981cf9e38985c9dfa474dcdbbe236270
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 13:45:44 2013 +0200
kvm: Change kvm_cpu_synchronize_state() argument to CPUState
It no longer relies on CPUArchState since 20d695a.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 17:49:10 2013 +0200
gdbstub: Simplify find_cpu()
Use qemu_get_cpu() and CPUState::env_ptr.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d0f2baebe57ccdb09a21da80b2994b772854ad6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 15:51:06 2013 +0100
cpu: Guard cpu_{save,load}() definitions
A few targets already managed to implement cpu_save() and cpu_load()
without defining CPU_SAVE_VERSION that causes them to be registered.
Guard the prototypes with CPU_SAVE_VERSION to avoid this happening again
until all targets are converted to VMState (or QIDL).
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit da69721460e652072b6a3dd52b7693da21ffe237
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:59:05 2013 +0100
target-openrisc: Register VMStateDescription for OpenRISCCPU
Since commit e67db06e9f6d7e514ee2a9b9b769ecd42977f6fb (target-or32: Add
target stubs and QOM cpu) a VMStateDescription existed, but
CPU_SAVE_VERSION was not set, so it was never registered.
Drop cpu_{save,load}() and register VMStateDescription via DeviceState.
Use a version_id of 1 and specify minimum versions as well.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe31e7374299c0c6172ce618b29bf2fecbd881c7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 00:27:16 2013 +0100
target-alpha: Register VMStateDescription for AlphaCPU
Commit b758aca1f6cdb175634812b79f5560c36c902d00 (target-alpha: Enable
the alpha-softmmu target.) introduced cpu_{save,load}() functions but
didn't define CPU_SAVE_VERSION, so they were never registered.
Drop cpu_{save,load}() and register the VMStateDescription via
DeviceClass.
This operates on the AlphaCPU object instead of CPUAlphaState.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 17 04:09:11 2013 +0200
cpu: Introduce VMSTATE_CPU() macro for CPUState
To be used to embed common CPU state into CPU subclasses.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19e3835cffbcae37ade8c3abcc4525895f7b528a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 02:23:36 2013 +0200
cpu: Introduce device_class_set_vmsd() helper
It's the equivalent to cpu_class_set_vmsd(), to assign
DeviceClass::vmsd. It wasn't needed before since only static,
unmigratable VMStateDescriptions were assigned so far.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 76d5f0294a744fa6786683760aa33e2b7fae6d8f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 02:22:13 2013 +0200
cpu: Fix cpu_class_set_vmsd() documentation
It's CPUClass::vmsd, not CPUState::vmsd.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7483e7f15139603380c45ebcd8cc2a57dda5583c
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri Jun 28 11:23:16 2013 +0000
xen_disk: support "direct-io-safe" backend option
Support backend option "direct-io-safe". This is documented as
follows in the Xen backend specification:
* direct-io-safe
* Values: 0/1 (boolean)
* Default Value: 0
*
* The underlying storage is not affected by the direct IO memory
* lifetime bug. See:
*
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
*
* Therefore this option gives the backend permission to use
* O_DIRECT, notwithstanding that bug.
*
* That is, if this option is enabled, use of O_DIRECT is safe,
* in circumstances where we would normally have avoided it as a
* workaround for that bug. This option is not relevant for all
* backends, and even not necessarily supported for those for
* which it is relevant. A backend which knows that it is not
* affected by the bug can ignore this option.
*
* This option doesn't require a backend to use O_DIRECT, so it
* should not be used to try to control the caching behaviour.
Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the
default flags passed to the qemu block layer.
The original proposal for a "cache" backend option has been dropped
because it was believed too wide, especially considering that at the
moment the backend doesn't have a way to tell the toolstack that it is
capable of supporting it.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
commit 72c6cc94daa727f41ecfc2b2ff94aa6f0e459b7f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jun 28 10:21:00 2013 +0200
vpc: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init on VHD must behave like raw
and query the underlying storage (fixed) or like other sparse formats
that can always return 1 (dynamic, differencing).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ed610a1c983dd2ed1eed8841036af55751d115f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jun 26 17:24:32 2013 +0800
vmdk: remove wrong calculation of relative path
When creating image with backing file, the driver tries to calculate the
relative path from created image file to backing file, but the path
computation is incorrect. e.g.:
$ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1
Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240
backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off
$ qemu-img info vmdk-data-snapshot1
image: vmdk-data-snapshot1
file format: vmdk
virtual size: 10G (10737418240 bytes)
disk size: 12K
-> backing file: disk.vmdk
The common part in file names, "vmdk-data-", is incorrectly forgotten by
relative_path(). As the VMDK specification has no restriction on
parentNameHint to be relative path, we simply remove this by using the
backing_file option.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ab6feec2c7500faafd9a4571fb40d03dd360a64
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 26 09:41:57 2013 +0200
gluster: Return bdrv_has_zero_init = 0
GlusterFS volumes can be backed by block devices, in which case
bdrv_create() doesn't make sure that the image is zeroed out. It is
currently not possibly to detect whether a given image is backed by a
file or a block device, and incorrectly assuming that it is zeroed
corrupts images during qemu-img convert, so let's err on the side of
caution and always return 0.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0b3f21e6a99c025c829d342ee417f317fe2e03b2
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Jun 25 18:15:18 2013 +0100
block/ssh: Set bdrv_has_zero_init according to the file type.
If the remote is a regular file, set it to true (ie. reads of
uninitialized areas in a newly created file will return zeroes).
If we can't prove that, return false (a safe default).
Tested by adding a debugging print statement [not part of this commit]
and creating a remote file and a remote block device:
$ ./qemu-img create ssh://localhost/tmp/new 100M
Formatting 'ssh://localhost/tmp/new', fmt=raw size=104857600
filename ssh://localhost/tmp/new: has_zero_init = 1
$ sudo lvcreate -L 1G -n tmp /dev/fedora
Logical volume "tmp" created
$ ./qemu-img create ssh://localhost/dev/fedora/tmp 1G
Formatting 'ssh://localhost/dev/fedora/tmp', fmt=raw size=1073741824
filename ssh://localhost/dev/fedora/tmp: has_zero_init = 0
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f59fee8d509b446df24843c1145a99b740492725
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 25 15:13:43 2013 +0200
block: Make BlockJobTypes const
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e5ca8fdd407431e281c6f303dc9f45f63a28048f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:20 2013 +0200
qemu-iotests: add 055 drive-backup test case
Testing drive-backup is similar to image streaming and drive mirroring.
This test case is based on 041.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0dbe8a1b042b5eb22c6587dcc9884ebe8cedcbb6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:19 2013 +0200
qemu-iotests: extract wait_until_completed() into iotests.py
The 'drive-mirror' tests often issue 'block-job-complete' and wait for
the QMP completion event. Other types of block jobs also want to wait
for completion but they may not need to issue 'block-job-complete'.
Extract wait_until_completed() from 041 and put it into iotests.py.
Return the QMP event object so the caller can make additional
assertions, if necessary.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 78b18b78aa89c28aecbd007ae1967c978d39bfd6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:18 2013 +0200
blockdev: add Abort transaction
The Abort action can be used to test QMP 'transaction' failure. Add it
as the last action to exercise the .abort() and .cleanup() code paths
for all previous actions.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3037f36446eb3556c14757ac468463c3902f331b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:17 2013 +0200
blockdev: add DriveBackup transaction
This patch adds a transactional version of the drive-backup QMP command.
It allows atomic snapshots of multiple drives along with automatic
cleanup if there is a failure to start one of the backup jobs.
Note that QMP events are emitted for block job completion/cancellation
and the block job will be listed by query-block-jobs.
@device: the name of the device whose writes should be mirrored.
@target: the target of the new image. If the file exists, or if it
is a device, the existing file/device will be used as the new
destination. If it does not exist, a new file will be created.
@format: #optional the format of the new destination, default is to
probe if @mode is 'existing', else the format of the source
@mode: #optional whether and how QEMU should create a new image, default
is
'absolute-paths'.
@speed: #optional the maximum speed, in bytes per second
@on-source-error: #optional the action to take on an error on the source,
default 'report'. 'stop' and 'enospc' can only be used
if the block device supports io-status (see BlockInfo).
@on-target-error: #optional the action to take on an error on the target,
default 'report' (no limitations, since this applies to
a different block device than @device).
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9ea81e82519f44071b3dd617de98f0d6d6cca0a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:16 2013 +0200
blockdev: allow BdrvActionOps->commit() to be NULL
Some QMP 'transaction' types don't need to do anything on .commit().
Make .commit() optional just like .abort().
The "drive-backup" action will take advantage of this, it only needs to
cancel the block job on .abort(). Other block job actions will probably
follow the same pattern, so allow .commit() to be NULL.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba5d6ab68f7bc55520cddd5e00bd48b041c7aecd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:15 2013 +0200
blockdev: rename BlkTransactionStates to singular
The QMP 'transaction' command keeps a list of in-flight transactions.
The transaction state structure is called BlkTransactionStates even
though it only deals with a single transaction. The only plural thing
is the linked list of transaction states.
I find it confusing to call the single structure "States". This patch
renames it to "State", just like BlockDriverState is singular.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 99a9addf567e31244d934376060dd1d34f0f012c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:14 2013 +0200
block: add drive-backup QMP command
@drive-backup
Start a point-in-time copy of a block device to a new destination. The
status of ongoing drive-backup operations can be checked with
query-block-jobs where the BlockJobInfo.type field has the value 'backup'.
The operation can be stopped before it has completed using the
block-job-cancel command.
@device: the name of the device which should be copied.
@target: the target of the new image. If the file exists, or if it
is a device, the existing file/device will be used as the new
destination. If it does not exist, a new file will be created.
@format: #optional the format of the new destination, default is to
probe if @mode is 'existing', else the format of the source
@mode: #optional whether and how QEMU should create a new image, default
is
'absolute-paths'.
@speed: #optional the maximum speed, in bytes per second
@on-source-error: #optional the action to take on an error on the source,
default 'report'. 'stop' and 'enospc' can only be used
if the block device supports io-status (see BlockInfo).
@on-target-error: #optional the action to take on an error on the target,
default 'report' (no limitations, since this applies to
a different block device than @device).
Note that @on-source-error and @on-target-error only affect background
I/O.
If an error occurs during a guest write request, the device's
rerror/werror
actions will be used.
Returns: nothing on success
If @device is not a valid block device, DeviceNotFound
Since 1.6
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ac3c5d831aa0ff796659300e186be1a35862dbd3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:13 2013 +0200
blockdev: use bdrv_getlength() in qmp_drive_mirror()
Use bdrv_getlength() for its byte units and error return instead of
bdrv_get_geometry().
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cb78466ef60ccf707a6f38a1294c435b65a828e0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:12 2013 +0200
blockdev: drop redundant proto_drv check
It is not necessary to check that we can find a protocol block driver
since we create or open the image file. This produces the error that we
need anyway.
Besides, the QERR_INVALID_BLOCK_FORMAT is inappropriate since the
protocol is incorrect rather than the format.
Also drop an empty line between bdrv_open() and checking its return
value. This may be due to copy-pasting from earlier code that performed
other operations before handling errors.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98d2c6f2cd80afaa2dc10091f5e35a97c181e4f5
Author: Dietmar Maurer <dietmar@xxxxxxxxxxx>
Date: Mon Jun 24 17:13:11 2013 +0200
block: add basic backup support to block driver
backup_start() creates a block job that copies a point-in-time snapshot
of a block device to a target block device.
We call backup_do_cow() for each write during backup. That function
reads the original data from the block device before it gets
overwritten. The data is then written to the target device.
Currently backup cluster size is hardcoded to 65536 bytes.
[I made a number of changes to Dietmar's original patch and folded them
in to make code review easy. Here is the full list:
* Drop BackupDumpFunc interface in favor of a target block device
* Detect zero clusters with buffer_is_zero() and use
bdrv_co_write_zeroes()
* Use 0 delay instead of 1us, like other block jobs
* Unify creation/start functions into backup_start()
* Simplify cleanup, free bitmap in backup_run() instead of cb
* function
* Use HBitmap to avoid duplicating bitmap code
* Use bdrv_getlength() instead of accessing ->total_sectors
* directly
* Delete the backup.h header file, it is no longer necessary
* Move ./backup.c to block/backup.c
* Remove #ifdefed out code
* Coding style and whitespace cleanups
* Use bdrv_add_before_write_notifier() instead of blockjob-specific hooks
* Keep our own in-flight CowRequest list instead of using block.c
tracked requests. This means a little code duplication but is much
simpler than trying to share the tracked requests list and use the
backup block size.
* Add on_source_error and on_target_error error handling.
* Use trace events instead of DPRINTF()
-- stefanha]
Signed-off-by: Dietmar Maurer <dietmar@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d616b224745b2c522f965cf8de7da17b553b959a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:10 2013 +0200
block: add bdrv_add_before_write_notifier()
The bdrv_add_before_write_notifier() function installs a callback that
is invoked before a write request is processed. This will be used to
implement copy-on-write point-in-time snapshots where we need to copy
out old data before overwriting it.
Note that BdrvTrackedRequest is moved to block_int.h since it is passed
to .notify() functions.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5dae8e5fb803f53fadc116cefe353953b938cbe1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:09 2013 +0200
notify: add NotiferWithReturn so notifier list can abort
notifier_list_notify() has no return value. This is fine when we just
want to invoke side-effects.
Sometimes it's useful for notifiers to produce a return value. This
allows notifiers to "veto" an operation and will be used by the block
layer before-write notifier.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a5c5ea3f60c000bf18c99435439533728a5f34a2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 11 10:44:58 2013 +0200
raw-posix: Fix /dev/cdrom magic on OS X
The raw-posix driver has code to provide a /dev/cdrom on OS X even
though it doesn't really exist. However, since commit c66a6157 the real
filename is dismissed after finding it, so opening /dev/cdrom fails.
Put the filename back into the options QDict to make this work again.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ec3f8c9913c1eeab78a02711be7c2a803dfb4d62
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 20:53:38 2013 +0100
linux-user: Fix compilation failure
Fix compilation failures for linux-user targets following recent
migration related commits bd2fa51fcd and 43487c67.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372362818-4740-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c394ace828a559be13ec0bde15b476970f186dad
Merge: 3e50873... 60d9222...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 27 08:48:38 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Michael R. Hines (9) and others
# Via Juan Quintela
* quintela/migration.next:
rdma: introduce capability x-rdma-pin-all
rdma: new QEMUFileOps hooks
rdma: introduce qemu_ram_foreach_block()
rdma: export qemu_fflush()
rdma: introduce qemu_file_mode_is_not_valid()
rdma: export throughput w/ MigrationStats QMP
rdma: export yield_until_fd_readable()
rdma: introduce qemu_update_position()
rdma: add documentation
migration: do not overwrite zero pages
Revert "migration: do not sent zero pages in bulk stage"
arch_init/ram_load: add error message for block length mismatch
Message-id: 1372329455-5995-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 60d9222c8f50c3e5dd3df9ee84ddd1d1c4b35389
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:36 2013 -0400
rdma: introduce capability x-rdma-pin-all
This capability allows you to disable dynamic chunk registration
for better throughput on high-performance links.
For example, using an 8GB RAM virtual machine with all 8GB of memory in
active use and the VM itself is completely idle using a 40 gbps
infiniband link:
1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5
Gbps
2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps
These numbers would of course scale up to whatever size virtual machine
you have to migrate using RDMA.
Enabling this feature does *not* have any measurable affect on
migration *downtime*. This is because, without this feature, all of the
memory will have already been registered already in advance during
the bulk round and does not need to be re-registered during the successive
iteration rounds.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 43487c678d6e4e7182bfa70d2bc75422578782aa
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:35 2013 -0400
rdma: new QEMUFileOps hooks
These are the prototypes and implementation of new hooks that
RDMA takes advantage of to perform dynamic page registration.
An optional hook is also introduced for a custom function
to be able to override the default save_page function.
Also included are the prototypes and accessor methods used by
arch_init.c which invoke funtions inside savevm.c to call out
to the hooks that may or may not have been overridden
inside of QEMUFileOps.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bd2fa51fcdba3408f308df1b08fae04053ecdee5
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:34 2013 -0400
rdma: introduce qemu_ram_foreach_block()
This is used during RDMA initialization in order to
transmit a description of all the RAM blocks to the
peer for later dynamic chunk registration purposes.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit be903b2ae7ca750bde2549432c5536087436cf49
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:32 2013 -0400
rdma: export qemu_fflush()
RDMA uses this to flush the control channel before sending its
own message to handle page registrations.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bc1256f7f187cc7d491bfe3861249a60873adbbc
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:31 2013 -0400
rdma: introduce qemu_file_mode_is_not_valid()
QEMUFileRDMA also has read and write modes. This function is now
shared to reduce code duplication.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7e114f8cf24a01893226e3a4d22a288125515cfd
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:30 2013 -0400
rdma: export throughput w/ MigrationStats QMP
This exposes throughput (in megabits/sec) through QMP.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9f05d0c3a4f9e8fcb13ed09cc350af45a627809a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:29 2013 -0400
rdma: export yield_until_fd_readable()
The RDMA event channel can be made non-blocking just like a TCP
socket. Exporting this function allows us to yield so that the
QEMU monitor remains available.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2b0ce0797d6bfb13ebefe010da86abced0b7a9b3
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:28 2013 -0400
rdma: introduce qemu_update_position()
RDMA writes happen asynchronously, and thus the performance accounting
also needs to be able to occur asynchronously. This allows anybody
to call into savevm.c to update both f->pos as well as into arch_init.c
to update the acct_info structure with up-to-date values when
the RDMA transfer actually completes.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f4abc9d621823b14a6cd508c66c1ecb21f96349e
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:27 2013 -0400
rdma: add documentation
docs/rdma.txt contains full documentation,
wiki links, github url and contact information.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 211ea74022f51164a7729030b28eec90b6c99a08
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jun 10 12:14:20 2013 +0200
migration: do not overwrite zero pages
on incoming migration do not memset pages to zero if they already read as
zero.
this will allocate a new zero page and consume memory unnecessarily. even
if we madvise a MADV_DONTNEED later this will only deallocate the memory
asynchronously.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9ef051e5536b6368a1076046ec6c4ec4ac12b5c6
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jun 10 12:14:19 2013 +0200
Revert "migration: do not sent zero pages in bulk stage"
Not sending zero pages breaks migration if a page is zero
at the source but not at the destination. This can e.g. happen
if different BIOS versions are used at source and destination.
It has also been reported that migration on pseries is completely
broken with this patch.
This effectively reverts commit f1c72795af573b24a7da5eb52375c9aba8a37972.
Conflicts:
arch_init.c
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 87d2f8254347879f80b3a834834a6b934dea5ecc
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Sun May 12 14:16:28 2013 +0300
arch_init/ram_load: add error message for block length mismatch
Makes it easier to debug situations where the source and target have
different ram blocks in a device and migration fails due to that, for
instance a BAR size change on a PCI device.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3e5087329489e0beceecf3426f1216619821937f
Merge: 8c260b1... 7426aa7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:13 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging
# By Peter Crosthwaite (3) and others
# Via Peter Maydell
* pmaydell/arm-devs.for-upstream:
nand: Don't inherit from Sysbus
block/nand: Convert Sysbus::init to Device::realize
block/nand: QOM casting sweep
i.MX31: Fix PRCS bit test
arm/boot: Free dtb blob memory after use
i.MX: Rework functions/types name and use new style initialization
i.MX: Implement a more complete version of the GPT timer.
ARM: Allow dumping of device tree
Message-id: 1372184516-32397-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c260b1135b15dbfe8843de799eada596167016a
Merge: 9e49c8c... bdcc150...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:09 2013 -0500
Merge remote-tracking branch 'pmaydell/target-arm.for-upstream' into
staging
# By Peter Maydell
# Via Peter Maydell
* pmaydell/target-arm.for-upstream:
target-arm: Make LPAE feature imply V7MP
target-arm: Use tuple list to sync cp regs with KVM
target-arm: Reinitialize all KVM VCPU registers on reset
target-arm: Initialize cpreg list from KVM when using KVM
target-arm: Convert TCG to using (index,value) list for cp migration
target-arm: mark up cpregs for no-migrate or raw access
target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo
target-arm: Allow special cpregs to have flags set
Message-id: 1372181592-32170-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9e49c8c58c7aa0eb93e4c83314a07b5c7f6339fe
Merge: 1e5b868... 320ce85...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:05 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck (2) and Christian Borntraeger (1)
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Wire up guest and host notifies.
virtio-ccw: Wire up ioeventfd.
s390/virtio-ccw: Fix virtio reset
Message-id: 1372177538-9812-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e5b86804ca34913cf5bec5c1240659645774a4e
Merge: baf8673... 39ae497...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:00 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-20130625' into staging
# By Paul Durrant (2) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-20130625:
Move hardcoded initialization of xen-platform device.
Allow use of pc machine type (accel=xen) for Xen HVM domains.
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
Message-id: alpine.DEB.2.02.1306251323220.4782@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7426aa72c36c908a7d0eae3e38568bb0a70de479
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:12:41 2013 +1000
nand: Don't inherit from Sysbus
Nand chips are not sysbus devices - they do not have any sense of MMIO,
nor interrupts. Re-parent to TYPE_DEVICE accordingly.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d47a5d9b9dda19f975320b72c386c581dad32c7a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:11:52 2013 +1000
block/nand: Convert Sysbus::init to Device::realize
The prescribed transition from Sysbus::init function to a
Device::realize.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e12078cc62f2b4a947903efef803ab1b2e13cfa1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:10:44 2013 +1000
block/nand: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST and
direct -> style casting.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f3c8fac25f119641fd30f2014bfd368a0023769e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 9 22:44:22 2013 +0200
i.MX31: Fix PRCS bit test
cppcheck detected a condition which was always false.
According to the MCIMX31 Reference Manual, the PRCS bits have to be 01
to select the Frequency Pre-Multiplier (FPM). PRCS uses bits 1 and 2,
so we have to test for 2.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Message-id: 1370810662-32320-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c23045ded7571f0eaad95920ab00b6bc9c3a91e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
arm/boot: Free dtb blob memory after use
The dtb blob returned by load_device_tree() is in memory allocated
with g_malloc(). Free it accordingly once we have copied its
contents into the guest memory. To make this easy, we need also to
clean up the error handling in load_dtb() so that we consistently
handle errors in the same way (by printing a message and then
returning -1, rather than either plowing on or exiting immediately).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371209256-11408-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 67110c3e010088d45bf0b396fca2aa8cd48ff9d0
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
i.MX: Rework functions/types name and use new style initialization
* use dynamic cast whenever possible
* Change function names to some more meaningful prefix
* Change type names to a more meaningful one
* use new style device initialization
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1369898943-1993-3-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5ec694b52a3a486fbc5a6eb6d6da4692c27d6575
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
i.MX: Implement a more complete version of the GPT timer.
* implement compare 1 2 and 3 registers
* simplify Debug printf
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1369898943-1993-2-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2acafb1a7b8b5ff4da48fccd7ce217cb07f36ffa
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
ARM: Allow dumping of device tree
By calling qemu_devtree_dumpdtb near the end of load_dtb.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bdcc150dc44ea96152f05f9e68970b63508d5ae7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:08 2013 +0100
target-arm: Make LPAE feature imply V7MP
The v7 ARM ARM specifies that the Large Physical Address
Extension requires implementation of the Multiprocessing
Extensions, so make our LPAE feature imply V7MP rather
than specifying both in the A15 CPU initfn.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371127899-10364-1-git-send-email-peter.maydell@xxxxxxxxxx
commit f7134d963d94d1fa64a482855585d21dbb58b6bd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Use tuple list to sync cp regs with KVM
Use the tuple list of cp registers for syncing KVM state to QEMU,
rather than only syncing a very minimal set by hand.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2d8e5a0e25171eca30a72a450826f539f05951d0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Reinitialize all KVM VCPU registers on reset
Since the ARM KVM API doesn't include a "reset this VCPU"
ioctl, we have to capture the initial values of every
register it knows about so that we can reset the VCPU
by feeding those values back again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ff047453f56713aa627e63aade1a9046ccd3bdfd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Initialize cpreg list from KVM when using KVM
When using KVM, use the kernel's initial state to set up the
cpreg list, and sync to and from the kernel when doing
migration.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 721fae125369deba8c12a37f5824138686fb6e4e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Convert TCG to using (index,value) list for cp migration
Convert the TCG ARM target to using an (index,value) list for migrating
coprocessors. The primary benefit of the (index,value) list is for
passing state between KVM and QEMU, but it works for TCG-to-TCG
migration as well and is a useful self-contained first step.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d4e6df6379a31efb2cf6cab3dea3f26fb489fabe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: mark up cpregs for no-migrate or raw access
Mark up coprocessor register definitions to add raw access
functions or mark the register as non-migratable where necessary.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7023ec7e2b4ee14f60c530ff9ce6e04127cf1802
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:06 2013 +0100
target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo
For reading and writing register values from the kernel for KVM,
we need to provide accessor functions which are guaranteed to succeed
and don't impose access checks, mask out unwritable bits, etc.
Define new fields raw_readfn and raw_writefn for this purpose;
these only need to be provided if there is a readfn or writefn
already and it is not suitable.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34affeefbbdbd97471c283677179254a2e006994
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:06 2013 +0100
target-arm: Allow special cpregs to have flags set
Relax the "is this a valid ARMCPRegInfo type value?" check to permit
"special" cpregs to have flags other than ARM_CP_SPECIAL set. At
the moment none of the other flags are relevant for special regs,
but the migration related flag we're about to introduce can apply
here too.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 320ce8503baf081725f74514d73d7bd65071a45e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Feb 19 13:48:17 2013 +0100
virtio-ccw: Wire up guest and host notifies.
Guest and host notifiers are needed by vhost. We use ioeventfds for
the guest notifiers, but need to fall back on qemu injecting interrupts
for the host notifiers.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b4436a0b4db0334c3157f71e9baa2944a133c4d4
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Feb 15 10:18:43 2013 +0100
virtio-ccw: Wire up ioeventfd.
On hosts that support ioeventfd, make use of it for host-to-guest
notifications via diagnose 500.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 6504a93011138458a2e4f67b513c5a77bdb3cae1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jun 7 12:18:46 2013 +0200
s390/virtio-ccw: Fix virtio reset
On virtio reset we must reset the indicator to avoid stale interrupts,
e.g. after a reset.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 39ae4972390f78f8891a355545c56d20a9fb7770
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Tue Jun 25 11:46:44 2013 +0000
Move hardcoded initialization of xen-platform device.
Creation of the xen-platform device is currently hardcoded into machine
type pc's initialization code, guarded by a test for the whether the xen
accelerator is enabled. This patch moves the creation of xen-platform into
the initialization code of the xenfv machine type. This maintains
backwards
compatibility for that machine type but allows more flexibility if another
machine type is used with Xen HVM domains.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a97d6fe6fbb97630d77253d20bdce78f76d01850
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Tue Jun 25 11:46:37 2013 +0000
Allow use of pc machine type (accel=xen) for Xen HVM domains.
Xen HVM domains normally spawn QEMU with a dedicated xenfv machine type.
The
initialization code for this machine type can easily be pulled into the
generic pc initialization code and guarded with a test for whether the xen
accelerator options is specified, which is more consistent with the way
other accelerators are used.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit fc744bb10cde3ba7b9ecbaf9e723e99d3b7fa25c
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 25 11:43:04 2013 +0000
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
This reverts commit 9f24a8030a70ea4954b5b8c48f606012f086f65f.
The start of the PCI hole is actually set to 0xf0000000 by hvmloader.
In order to retain ABI compatibility with Xen we leave the start of the
PCI hole at 0xf0000000 in QEMU (for Xen) too.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 1c514a7734b7f98625a0d18d5e8ee7581f26e50c
Merge: 79c097d... 35bdc13...
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 25 11:34:24 2013 +0000
Merge remote branch 'perard/cpu-hotplug-port-v2' into xen-staging-master-7
commit baf8673ca802cb3ea2cdbe94813441d23bde223b
Merge: 9fbbf0d... 96c51eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:17 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Fam Zheng (1)
# Via Stefan Hajnoczi
* stefanha/block: (23 commits)
vmdk: refuse to open higher version than supported
block: Always enable discard on the protocol level
qcow2: Batch discards
qcow2: Options to enable discard for freed clusters
qcow2: Add refcount update reason to all callers
Revert "block: Disable driver-specific options for 1.5"
ide: Clean up ide_exec_cmd()
ide: Convert SMART commands to ide_cmd_table handler
ide: Convert CF-ATA commands to ide_cmd_table handler
ide: Convert ATAPI commands to ide_cmd_table handler
ide: Convert SEEK to ide_cmd_table handler
ide: Convert FLUSH CACHE to ide_cmd_table handler
ide: Convert SET FEATURES to ide_cmd_table handler
ide: Convert CHECK POWER MDOE to ide_cmd_table handler
ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler
ide: Convert DMA read/write commands to ide_cmd_table handler
ide: Convert PIO read/write commands to ide_cmd_table handler
ide: Convert read/write multiple commands to ide_cmd_table handler
ide: Convert verify commands to ide_cmd_table handler
ide: Convert cmd_nop commands to ide_cmd_table handler
...
Message-id: 1372065035-19601-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fbbf0d1b16a0e3e4132b187c2beba458964ea98
Merge: 89f204d... 5ad24e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:09 2013 -0500
Merge remote-tracking branch 'spice/spice.v71' into staging
# By Gerd Hoffmann (1) and Hans de Goede (1)
# Via Gerd Hoffmann
* spice/spice.v71:
spice: Add -spice disable-agent-file-transfer cmdline option
(rhbz#961850)
qxl: fix Coverity scan SIGN_EXTENSION error
Message-id: 1372060666-18182-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 89f204d2c60fbf3e0c5af1ff1681e57c9f057178
Merge: 21ca4a5... 93c8e4d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:00 2013 -0500
Merge remote-tracking branch 'kraxel/usb.84' into staging
# By Andreas Färber (3) and others
# Via Gerd Hoffmann
* kraxel/usb.84:
usb: fix serial number for hid devices
usb: add serial bus property
usb-host-libusb: set USB_DEV_FLAG_IS_HOST
usb/host-libusb: Fix building with libusb git master code
usb/hcd-ehci: Add Faraday FUSBH200 support
usb/hcd-ehci: Replace PORTSC macros with variables
usb/hcd-ehci: Add Tegra2 SysBus EHCI device
usb/hcd-ehci: Split off instance_init from realize
usb/hcd-ehci-sysbus: Convert to QOM realize
commit 21ca4a5bb3cde109e68059ee357b3114afbc51e4
Merge: b52df46... 464e367...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:32:33 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (5) and others
# Via Michael Tokarev
* mjt/trivial-patches:
configure: Add signed*signed check to [u]int128_t test
Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS
qapi: lack of two commas in dict
sd: pass bool parameter for sd_init
qemu-char: use bool in qemu_chr_open_socket and simplify code a bit
vnc: use booleans for vnc_connect, vnc_listen_read and
vnc_display_add_client
block/nand: Formatting sweep
qxl: Fix QXLRam initialisation.
acl: acl_add can't insert before last list element, fix
configure: Fix "ERROR: ERROR: " for missing/incompatible DTC
audio: Replace static functions in header file by macros, remove
GCC_ATTR
libcacard: Fix cppcheck warning and remove unneeded code
savevm: Fix potential memory leak
kvm: Fix potential resource leak (missing fclose)
qemu-img: Add missing GCC_FMT_ATTR
qemu-options: trivial fix for -mon args help
vl: reformat SDL ifdeffery a bit
Message-id: 1371893076-9643-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b52df46551d303ffc79ec39c38440bd8a62ee210
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Jun 18 09:22:55 2013 +0200
cadence_uart: Handle backend tx errors
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 96c51eb5e46af2312b33f745ad72acb20e799aea
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jun 13 11:21:29 2013 +0800
vmdk: refuse to open higher version than supported
Refuse to open higher version for safety.
Although we try to be compatible with published VMDK spec, VMware has
newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge
what's changed in it. And it is very likely to have more new versions in
the future, so it's not safe to open them blindly.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 50b05b6f2e24296b4d739a638e1e7427767ed7cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:21 2013 +0200
block: Always enable discard on the protocol level
Turning on discard options in qcow2 doesn't help a lot when the discard
requests that it issues are thrown away by the raw-posix layer. This
patch always enables discard functionality on the protocol level so that
it's the image format's responsibility to send (or not) discard
requests. Requests sent by the guest will be allowed or ignored by the
top level BlockDriverState, which depends on the discard=... option like
before.
In particular, this means that even without specifying options, the
qcow2 default of discarding deleted snapshots actually takes effect now,
both for qemu and qemu-img.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b919fae31f4f80f78ebeab8388dc3a03cc5e4ed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:20 2013 +0200
qcow2: Batch discards
This optimises the discard operation for freed clusters by batching
discard requests (both snapshot deletion and bdrv_discard end up
updating the refcounts cluster by cluster).
Note that we don't discard asynchronously, but keep s->lock held. This
is to avoid that a freed cluster is reallocated and written to while the
discard is still in flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 67af674e478054086f972811dd0a11289afa39a9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:19 2013 +0200
qcow2: Options to enable discard for freed clusters
Deleted snapshots are discarded in the image file by default, discard
requests take their default from the -drive discard=... option and other
places that free clusters must always be enabled explicitly.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6cfcb9b8b91d303ab51b78623f2299b5288d2d51
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:18 2013 +0200
qcow2: Add refcount update reason to all callers
This adds a refcount update reason to all callers of update_refcounts(),
so that a follow-up patch can use this information to decide whether
clusters that reach a refcount of 0 should be discarded in the image
file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 492fdc6fbe17b2d45878e813e980f782ac260c30
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:17 2013 +0200
Revert "block: Disable driver-specific options for 1.5"
This reverts commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dfe1ea8fc49b93ab2bfaad67046c659a0dae708f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:11 2013 +0200
ide: Clean up ide_exec_cmd()
All commands are now converted to ide_cmd_table handlers, so it can be
unconditional now and the old switch block can go.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ff3526773080de2840481ec237db13ae3cbc7166
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:10 2013 +0200
ide: Convert SMART commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b1dd744240896b67ab3d8fbf3a6292521aaed58
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:09 2013 +0200
ide: Convert CF-ATA commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee425c78cad08778361bde3133162d520aa32e23
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:08 2013 +0200
ide: Convert ATAPI commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 61fdda377a7e8f05dc1171504405647131148d80
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:07 2013 +0200
ide: Convert SEEK to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9afce42903b3f8af1f9c158b411c73e41cf95df7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:06 2013 +0200
ide: Convert FLUSH CACHE to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee03398c510ea18d44f45fc7f1ec8b21db2eee2c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:05 2013 +0200
ide: Convert SET FEATURES to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 785f63208569a38a4bed5c12bfe2211f3b14d524
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:04 2013 +0200
ide: Convert CHECK POWER MDOE to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63a82e6a7b412f61a09d4a593685d8ca2856b093
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:03 2013 +0200
ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 92a6a6f64fbb7b7d3d8cb899a9cb52bd873d33fd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:02 2013 +0200
ide: Convert DMA read/write commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0e6498ed65e5f237b163f0bda9f689426dbf6ff0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:01 2013 +0200
ide: Convert PIO read/write commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit adf3a2c46e0b2ed9085df9aca3af76ff83731e98
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:00 2013 +0200
ide: Convert read/write multiple commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 413860cfb57d44baf971ae8d4f1cdf45340b3a4d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:59 2013 +0200
ide: Convert verify commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b300337e4e939d58ba39843b5e5fef53eb82acec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:58 2013 +0200
ide: Convert cmd_nop commands to ide_cmd_table handler
cmd_nop handles all commands that don't really do anything in our
implementation except setting status register flags.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1c66869a02b81ad6b687a08d99d32f5f2b01232e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:57 2013 +0200
ide: Convert WIN_IDENTIFY to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4286434cd607b7dea8fb3366f1529abf0ae39fa9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:56 2013 +0200
ide: Convert WIN_DSM to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a0436e9239d29837955a60e916f876f857d46452
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:55 2013 +0200
ide: Add handler to ide_cmd_table
As a preparation for moving all IDE commands into their own function
like in the ATAPI code, introduce a 'handler' callback to ide_cmd_table.
Commands using this new infrastructure get some things handled
automatically:
* The BSY flag is set before calling the handler (in order to avoid bugs
like the one fixed in f68ec837) and reset on completion.
* The (obsolete) DSC flag in the status register is set on completion if
the command is flagged with SET_DSC in the command table
* An IRQ is triggered on completion.
* The error register and the ERR flag in the status register are cleared
before calling the handler and on completion it is asserted that
either none or both of them are set.
No commands are converted at this point.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 93c8e4dc386a243d7d417567d81dc1f1698478a4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:08:45 2013 +0200
usb: fix serial number for hid devices
commit 7b074a22dab4bdda9864b933f1bc811a3db42845 changed the serial
number of hid devices. Add compat properties to keep the old serial
number for qemu 0.12 and older.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71938a09d2b9fd4007515fec6c395916cb08f868
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:01:49 2013 +0200
usb: add serial bus property
This patch adds a serial property for all usb devices, which can be
used to set the serial number of a usb device (as listed by lsusb -v)
to a specific value. Applies to emulated devices only.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 628e54857a82a3cb65ef96c12640c30d6307a064
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:17:02 2013 +0200
usb-host-libusb: set USB_DEV_FLAG_IS_HOST
... like host-{linux,bsd}.c do.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc45de8c21dfc3bc3896a78b33d5a6d9e710dfff
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Jun 6 16:39:34 2013 +0200
usb/host-libusb: Fix building with libusb git master code
The next libusb release will deprecate libusb_get_port_path, and since
we compile with -Werror, this breaks the build.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4e3d8b4b37b67ff6896ec77975eecbaabf7968a4
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Thu Jun 6 15:41:13 2013 +0200
usb/hcd-ehci: Add Faraday FUSBH200 support
Add Faraday FUSBH200 support, which is slightly different from EHCI spec.
(Or maybe simply a bad/wrong implementation...)
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc8d6a8481e64ec53d06245f249235bcaaa73b27
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Thu Jun 6 15:41:12 2013 +0200
usb/hcd-ehci: Replace PORTSC macros with variables
Replace PORTSC macros with variables which could then be
configured in ehci_xxxx_class_init(...)
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 20c570432e995313874eaeabc3d0251dab40e16f
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jun 6 15:41:11 2013 +0200
usb/hcd-ehci: Add Tegra2 SysBus EHCI device
This prepares an EHCI device for the Nvidia Tegra2 SoC family.
Values based on patch by Vincent Palatin and verified against TRM v01p.
Cc: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4614cc3121b3c6375a63d01947779e36149c68c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 15:41:10 2013 +0200
usb/hcd-ehci: Split off instance_init from realize
This makes the mem MemoryRegion available to derived instance_inits.
Keep the bus in realize for now since naming breaks in instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 08f4c90b2887a4499a2f199cf9410308f8ed298c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 15:41:09 2013 +0200
usb/hcd-ehci-sysbus: Convert to QOM realize
The SysBus qdev initfn merely calls SysBusDeviceClass::init, so we can
replace it with a realizefn already. This avoids getting into any initfn
ambiguity with the upcoming Faraday EHCI implementation.
Rename internal usb_ehci_initfn() to usb_ehci_realize() to allow to
return Errors from common initialization code as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5ad24e5f3b5968240d50fb2e5b6e19517b041052
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Jun 8 15:37:27 2013 +0200
spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850)
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bfc10122fafc399654f11eed8dd3ceea7b569105
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 3 10:36:54 2013 +0200
qxl: fix Coverity scan SIGN_EXTENSION error
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 464e3671f9d5c206fa9e2646c81f21ceef7cfb7d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 21 14:01:31 2013 +0100
configure: Add signed*signed check to [u]int128_t test
clang 3.3 with -fsanitize=undefined will fail to link code containing an
int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
so add this to our configure test for whether [u]int128_t are usable.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 965f486c21a0a8fed33e65278516edfc01d1e2fd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 21 14:00:17 2013 +0100
Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS
The dtc submodule's makefile expects -I include directives to be
in CPPFLAGS, not CFLAGS. Getting this wrong meant that the include
directive would not be applied when generating the dependency .d
files. This in turn meant that we couldn't build libfdt when
doing an out of tree build with clang. (gcc's dependency output
is slightly different from clang in this situation so it happened
to work.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ad0f171e25fb60b385dc7d07632916d3b1043d81
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Jun 19 17:23:27 2013 +0800
qapi: lack of two commas in dict
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6790f59da37f6b8d4f0fe3a6b17febf512511307
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jun 18 11:45:36 2013 +0800
sd: pass bool parameter for sd_init
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e990a3932847c45839355de72e73182a53fc75ac
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jun 18 11:45:35 2013 +0800
qemu-char: use bool in qemu_chr_open_socket and simplify code a bit
Local variables is_* should be bool by usage.
While at it, simplify the logic/code a bit.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2c8cf549571bbe0b245fc4f9680e1dbde39a015c
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue Jun 11 15:42:44 2013 +0400
vnc: use booleans for vnc_connect, vnc_listen_read and
vnc_display_add_client
Some arguments to these functions are booleans - either by declaration,
or by actual usage, but sometimes value of 0 or 1 is passed for a bool,
and sometimes it is declared as int but a bool value, or true/false,
is passed to it instead. Clean it up a bit.
Cc: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1984745ea8ad309a06690a83e91d031d21d709ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:08:57 2013 +1000
block/nand: Formatting sweep
Make this code closer to passing checkpatch. Mostly missing braces, but
a few rogue tabs in there as well.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 329f97fc4ff4b533fcd2d8f4eab6c9c2568aed27
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Jun 17 17:38:26 2013 +0100
qxl: Fix QXLRam initialisation.
The qxl driver expect NULL for QXLRam.memory_configs, but this is never
initialized.
If memory is set to 0xc2c2.., it leads to a spice-critical error when
trying to start qxl.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4999f3a8a6009de05ba82e58e723277917f16254
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jun 18 10:05:23 2013 +0200
acl: acl_add can't insert before last list element, fix
Watch this:
$ upstream-qemu -nodefaults -S -vnc :0,acl,sasl -monitor stdio
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) acl_add vnc.username drei allow
acl: added rule at position 1
(qemu) acl_show vnc.username
policy: deny
1: allow drei
(qemu) acl_add vnc.username zwei allow 1
acl: added rule at position 2
(qemu) acl_show vnc.username
policy: deny
1: allow drei
2: allow zwei
(qemu) acl_add vnc.username eins allow 1
acl: added rule at position 1
(qemu) acl_show vnc.username
policy: deny
1: allow eins
2: allow drei
3: allow zwei
The second acl_add inserts at position 2 instead of 1.
Root cause is an off-by-one in qemu_acl_insert(): when index ==
acl->nentries, it appends instead of inserting before the last list
element.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f2c4ddd9c32f7f389e83a0d866fb600e37985d03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 01:09:06 2013 +0200
configure: Fix "ERROR: ERROR: " for missing/incompatible DTC
error_exit already prepends "ERROR: ", so no need to print it manually.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 87e613ea9ed30f4217fd11aa2ad28a9fb4f1c54a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 11:19:31 2013 +0200
audio: Replace static functions in header file by macros, remove GCC_ATTR
Using macros instead of static functions for dolog and for ldebug
simplifies the code and can also reduce the total code size.
GCC_ATTR was only used in audio_int.h, so it is now unused and
the definition can be removed from compiler.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 48f0475f813dfa5ceb0e1f10c2ac3f28a8af583b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 11:08:52 2013 +0200
libcacard: Fix cppcheck warning and remove unneeded code
The local function vcard_emul_alloc_arrays always returned PR_TRUE.
Therefore cppcheck complained about code which handled the
non-existent PR_FALSE case.
Remove the function's return value and the dead code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4f080057767a684aab60998659e18f98c5fbefc7
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 13:33:05 2013 +0200
savevm: Fix potential memory leak
The leak was reported by cppcheck. Fix it by moving the g_malloc0 after
the argument validity check.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 90527d2a8bb08ca5b4774eacfdd6b8fe9671c077
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 13:37:25 2013 +0200
kvm: Fix potential resource leak (missing fclose)
This leak was detected by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7c30f65703fc4698ea9794126f1b978f34ac93b9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 17:01:05 2013 +0200
qemu-img: Add missing GCC_FMT_ATTR
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f17e4eaafc9d89a841fd30be93512b4973e53e31
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 13:47:32 2013 +0400
qemu-options: trivial fix for -mon args help
It is the (implied sub)option name which is optional, not
the value of that (sub)option, make it so in the help output.
(Introduced by commit 22a0e04b9bb)
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 24f6ff863bce236f39ea597206e0a8df2e9537e6
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:44:20 2013 +0400
vl: reformat SDL ifdeffery a bit
This reformats #ifdef..#endif and case statement a bit,
to make it a bit shorter and matching other cases like that
(no code changes).
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 576156ffed72ab4feb0b752979db86ff8759a2a1
Merge: b1588c3... 2eb74e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 20 16:53:39 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (12) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (25 commits)
memory: render_memory_region: factor out fr constant setters
memory: as_update_topology_pass: Improve comments
memory: Fix comment typo
memory: give name to every AddressSpace
dma: eliminate DMAContext
spapr_vio: take care of creating our own AddressSpace/DMAContext
pci: use memory core for iommu support
dma: eliminate old-style IOMMU support
spapr: use memory core for iommu support
spapr: make IOMMU translation go through IOMMUTLBEntry
spapr: convert TCE API to use an opaque type
vfio: abort if an emulated iommu is used
memory: Add iommu map/unmap notifiers
memory: iommu support
memory: make section size a 128-bit integer
exec: reorganize mem_add to match Int128 version
Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62"
Revert "memory: limit sections in the radix tree to the actual address
space size"
exec: return MemoryRegion from address_space_translate
exec: Implement subpage_read/write via address_space_rw
...
Message-id: 1371739493-10187-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1588c3fd6daf6e23ba727c758f84ada279ae731
Merge: 4eda32f... b5a87d2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 20 16:53:08 2013 -0500
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Bas van Sisseren (1) and Gertjan Halkes (1)
# Via Jan Kiszka
* kiszka/queues/slirp:
make user networking hostfwd work with restrict=y
fix -net user checks by reordering checks
Message-id: cover.1371638848.git.jan.kiszka@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2eb74e1a1ef145034aa41255c4a6f469d560c96d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:33:29 2013 +1000
memory: render_memory_region: factor out fr constant setters
These 4 replicated lines set properties of fr that are constant over
the course of the function. Factor out their repeated setting (and also
guards against them being set multiple times in the loop below).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 41a6e477fda3e3e5c8cc860458d29164625dc5e0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:32:42 2013 +1000
memory: as_update_topology_pass: Improve comments
These comments were a little difficult to read. First one had
incorrect parenthesis. The part about attributes changing is
really applicable to the region being 'in both' rather than 'in
new'
Second comment has an obscure parenthetic about 'Logging may have
changed'. Made clearer, as this if is supposed to handle the case where
the memory region is unchanged (with the notable exception re logging).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8508e024cb31a4013bb462aca0235c963e785aeb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:31:56 2013 +1000
memory: Fix comment typo
s/ajacent/adjacent
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7dca8043f3483ff34ac954c7012b721731ee5719
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 29 16:25:51 2013 +0000
memory: give name to every AddressSpace
The "info mtree" command in QEMU console prints only "memory" and "I/O"
address spaces while there are actually a lot more other AddressSpace
structs created by PCI and VIO devices. Those devices do not normally
have names and therefore not present in "info mtree" output.
The patch fixes this.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit df32fd1c9f53dd3b7abd28e29f851965039eabda
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 18:15:49 2013 +0200
dma: eliminate DMAContext
The DMAContext is a simple pointer to an AddressSpace that is now always
already available. Make everyone hold the address space directly,
and clean up the DMA API to use the AddressSpace directly.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 96478592a93f93322ecc20d0a6eccb4d4ef33c7a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 12:38:50 2013 +0200
spapr_vio: take care of creating our own AddressSpace/DMAContext
Fetch the root region from the sPAPRTCETable, and use it to build
an AddressSpace and DMAContext.
Now, everywhere we have a DMAContext we also have access to the
corresponding AddressSpace (either because we create it just before
the DMAContext, or because dma_context_memory's AddressSpace is
trivially address_space_memory).
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e00387d58243d4ae24ac68008a2aea76313ab997
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:48 2012 +0200
pci: use memory core for iommu support
Use the new iommu support in the memory core for iommu support. The only
user, spapr, is also converted, but it still provides a DMAContext
interface until the non-PCI bits switch to AddressSpace.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[ Do not calls memory_region_del_subregion() on the device's
bus_master_enable_region, it is an alias; return an AddressSpace
from the IOMMU hook and remove the destructor hook. - David Gibson ]
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 24addbc76dcbb1d1c85b3062bbf7a030831cc7a9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 17:49:04 2013 +0200
dma: eliminate old-style IOMMU support
The translate function in the DMAContext is now always NULL.
Remove every reference to it.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a84bb436696159d460d03db809c27a854cee0863
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 12:35:33 2013 +0200
spapr: use memory core for iommu support
Now we can stop using a "translating" DMAContext, but we do not yet modify
the sPAPRTCETable users to get an AddressSpace; they keep using the table
via a DMAContext.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a71bfbfe9d0bb74912170435d687f3c5de86a9f6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 15:05:06 2013 +0200
spapr: make IOMMU translation go through IOMMUTLBEntry
The next step is to introduce the translation code that will be used for
IOMMU MemoryRegions, but still do the actual translation in a DMAContext.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2b7dc949e241ac2b069d2d6183c1346cad792662
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 17:30:48 2013 +0200
spapr: convert TCE API to use an opaque type
The TCE table is currently returned as a DMAContext, and non-type-safe
APIs are called later passing back the DMAContext. Since we want to move
away from DMAContext, use an opaque type instead, and add an accessor
to retrieve the DMAContext from it.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06d985f5d844d07d31b4dada20f4ff6cf0d6ff4a
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:49 2012 +0200
vfio: abort if an emulated iommu is used
vfio doesn't support guest iommus yet, indicate it to the user
by gently depositing a core on their disk.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 068665757da047d7d2980c17bba0659eb0ea0a89
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue May 14 19:13:56 2013 +1000
memory: Add iommu map/unmap notifiers
This patch adds a NotifierList to MemoryRegions which represent IOMMUs
allowing other parts of the code to register interest in mappings or
unmappings from the IOMMU. All IOMMU implementations will need to call
memory_region_notify_iommu() to inform those waiting on the notifier list,
whenever an IOMMU mapping is made or removed.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 30951157441aed950ad8ca326500b4986d431c7a
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:46 2012 +0200
memory: iommu support
Add a new memory region type that translates addresses it is given,
then forwards them to a target address space. This is similar to
an alias, except that the mapping is more flexible than a linear
translation and trucation, and also less efficient since the
translation happens at runtime.
The implementation uses an AddressSpace mapping the target region to
avoid hierarchical dispatch all the way to the resolved region; only
iommu regions are looked up dynamically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[Modified to put translation in address_space_translate; assume
IOMMUs are not reachable from TCG. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 052e87b073cb70afcd767d32f45af2794a5a65de
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 10:08:27 2013 +0200
memory: make section size a 128-bit integer
So far, the size of all regions passed to listeners could fit in 64 bits,
because artificial regions (containers and aliases) are eliminated by
the memory core, leaving only device regions which have reasonable sizes
An IOMMU however cannot be eliminated by the memory core, and may have
an artificial size, hence we may need 65 bits to represent its size.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 733d5ef52721a836b1d9b5cd0f15a41db88829d0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 10:47:10 2013 +0200
exec: reorganize mem_add to match Int128 version
When adding support for 2^64-byte sections, we will have to change
the structure of mem_add to avoid failures in int128_get64.
Reorganize the code now before introducing Int128.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5b23fd03324096056cf1f6bcf111224760d4c67c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 13:18:06 2013 +0200
Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62"
This reverts commit 311f83ca08c011b048c063c2fd3038a8957970bc.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 99b9cc0679585b2d495d7d31ce556549b6b2721c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 13:18:01 2013 +0200
Revert "memory: limit sections in the radix tree to the actual address
space size"
This reverts commit 86a8623692b1b559a419a92eb8b6897c221bca74.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c8a00ce186b9a58d99b0afff90f87d5760bb44b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:42:00 2013 +0200
exec: return MemoryRegion from address_space_translate
Only address_space_translate_for_iotlb needs to return the section.
Every caller of address_space_translate now uses only section->mr,
return it directly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit acc9d80b26e8cb4667b5b336963d91233b6a98c4
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:55:37 2013 +0200
exec: Implement subpage_read/write via address_space_rw
This will allow to add support for unaligned memory regions: the subpage
container region can activate unaligned support unconditionally because
the read/write handler will now ensure that accesses are split as
required by calling address_space_rw. We can furthermore drop the
special handling of RAM subpages, address_space_rw takes care of this
already.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 90260c6c0960b2745d79455ceaa6cb50fb796e02
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:46:51 2013 +0200
exec: Resolve subpages in one step except for IOTLB fills
Except for the case of setting the IOTLB entry in TCG mode, we can avoid
the subpage dispatching handlers and do the resolution directly on
address_space_lookup_region. An IOTLB entry describes a full page, not
only the region that the first access to a sub-divided page may return.
This patch therefore introduces a special translation function,
address_space_translate_for_iotlb, that avoids the subpage resolutions.
In contrast, callers of the existing address_space_translate service
will now always receive the terminal memory region section. This will be
important for breaking the BQL and for enabling unaligned memory region.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f52cc467426e43792eb39f81705766bcb3d9e96a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:42:40 2013 +0200
exec: Allow unaligned address_space_rw
This will be needed for some corner cases with para-virtual I/O ports.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1db8abb10243abe969a2ba307664ba51b60fcac6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 12:07:21 2013 +0200
memory: move private types to exec.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f029603abb1472a33e008f9ea4127cc52566986
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon May 6 16:48:02 2013 +0200
memory: Introduce address_space_lookup_region
This introduces a wrapper for phys_page_find (before we complicate
address_space_translate with IOMMU translation). This function will
also encapsulate locking and reference counting when we introduce
BQL-free dispatching.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3752a0364883ed00100cc537832c434de3f77931
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 20 15:18:04 2013 +0100
exec.c: address_space_translate: handle access to addr 0 of 2^64 sized
region
The memory API allows a MemoryRegion's size to be 2^64, as a special
case (otherwise the size always fits in a 64 bit integer). This meant
that attempts to access address zero in a 2^64 sized region would
assert in address_space_translate():
#3 0x00007ffff3e4d192 in __GI___assert_fail#(assertion=0x555555a43f32
"!a.hi", file=0x555555a43ef0 "include/qemu/int128.h", line=18,
function=0x555555a4439f "int128_get64") at assert.c:103
#4 0x0000555555877642 in int128_get64 (a=...)
at include/qemu/int128.h:18
#5 0x00005555558782f2 in address_space_translate (as=0x55555668d140,
/addr=0, xlat=0x7fffafac9918, plen=0x7fffafac9920, is_write=false)
at exec.c:221
Fix this by doing the 'min' operation in 128 bit arithmetic
rather than 64 bit arithmetic (we know the result of the 'min'
definitely fits in 64 bits because one of the inputs did).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4eda32f588086b6cd0ec2be6a7a6c131f8c2b427
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:06 2013 +0200
doc: Drop ref to Bochs from -no-fd-bootchk documentation
Manual page and qemu-doc on talk about "Bochs BIOS". We use SeaBIOS,
and it implements the feature. Replace by just "BIOS", and drop the
TODO line wondering about the Bochs reference.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1123015a50abf44f9daa9495f40eeaaf4c9bb98
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:05 2013 +0200
pc: Make -no-fd-bootchk stick across boot order changes
Option -no-fd-bootchk asks the BIOS to attempt booting from a floppy
even when the boot sector signature isn't there, by setting a bit in
RTC CMOS. It was added back in 2006 (commit 52ca8d6a).
Two years later, commit 0ecdffbb added monitor command boot_set.
Implemented by new function pc_boot_set(). It unconditionally clears
the floppy signature bit in CMOS.
Commit e0f084bf added -boot option once to automatically change the
boot order on first reset. Reuses pc_boot_set(), thus also clears the
floppy signature bit. Commit d9346e81 took care to preserve this
behavior.
Thus, -no-fd-bootchk applies to any number of boots. Except it
applies just to the first boot with -boot once, and never after
boot_set. Weird. Make it stick instead: set the bit according to
-no-fd-bootchk in pc_boot_set().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 083b79c9fea0e3842f0b2b57ff0d20ab5f57084a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:04 2013 +0200
vl: Rename *boot_devices to *boot_order, for consistency
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8281abd548d840d84223e66812491918c713e56c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:03 2013 +0200
vl: Fix -boot order and once regressions, and related bugs
Option "once" sets up a different boot order just for the initial
boot. Boot order reverts back to normal on reset. Option "order"
changes the normal boot order.
The reversal is implemented by reset handler restore_boot_devices(),
which takes the boot order to revert to as argument.
restore_boot_devices() does nothing on its first call, because that
must be the initial machine reset. On its second call, it changes the
boot order back, and unregisters itself.
Because we register the handler right when -boot gets parsed, we can
revert to an incorrect normal boot order, and multiple -boot can
interact in funny ways.
Here's how things work without -boot once or order:
* boot_devices is "".
* main() passes machine->boot_order to to machine->init(), because
boot_devices is "". machine->init() configures firmware
accordingly. For PC machines, machine->boot_order is "cad", and
pc_cmos_init() writes it to RTC CMOS, where SeaBIOS picks it up.
Now consider -boot order=:
* boot_devices is "".
* -boot order= sets boot_devices to "" (no change).
* main() passes machine->boot_order to to machine->init(), because
boot_devices is "", as above.
Bug: -boot order= has no effect. Broken in commit e4ada29e.
Next, consider -boot once=a:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* main() passes boot_devices "a" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
* Machine boots, boot order is "a".
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Bug: boot order reverts to "" instead of machine->boot_order. The
actual boot order depends on how firmware interprets "". Broken
in commit e4ada29e.
Next, consider -boot once=a -boot order=c:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* -boot order=c sets boot_devices to "c".
* main() passes boot_devices "c" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
* Machine boots, boot order is "c".
Bug: it should be "a". I figure this has always been broken.
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Bug: boot order reverts to "" instead of "c". I figure this has
always been broken, just differently broken before commit
e4ada29e.
Next, consider -boot once=a -boot once=b -boot once=c:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* -boot once=b registers restore_boot_devices() with argument "a", and
sets boot_devices to "b".
* -boot once=c registers restore_boot_devices() with argument "b", and
sets boot_devices to "c".
* main() passes boot_devices "c" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
- restore_boot_devices() gets called with argument "a". Calls
qemu_boot_set("a") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
- restore_boot_devices() gets called with argument "b". Calls
qemu_boot_set("b") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
* Machine boots, boot order is "b".
Bug: should really be "c", because that came last, and for all other
-boot options, the last one wins. I figure this was broken some
time before commit 37905d6a, and fixed there only for a single
occurence of "once".
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Same bug as above: boot order reverts to "" instead of
machine->boot_order.
Fix by acting upon -boot options order, once and menu only after
option parsing is complete, and the machine is known. This is how the
other -boot options work already.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a86b35f992f107323e432c0a96107e11e1b699ad
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:02 2013 +0200
qemu-option: check_params() is now unused, drop it
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6ef4716cecdfa1b3794c1a33edba9840e1aa6b5f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:01 2013 +0200
vl: Clean up parsing of -boot option argument
Commit 3d3b8303 threw in some QemuOpts parsing without replacing the
existing ad hoc parser, resulting in a confusing mess. Clean it up.
Two user-visible changes:
1. Invalid options are reported more nicely. Before:
qemu: unknown boot parameter 'x' in 'x=y'
After:
qemu-system-x86_64: -boot x=y: Invalid parameter 'x'
2. If -boot is given multiple times, options accumulate, just like for
-machine. Before, only options order, once and menu accumulated.
For the other ones, all but the first -boot in non-legacy syntax
got simply ignored.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5a87d26e848945eb891f4d7e4a7f2be514e08d5
Author: Gertjan Halkes <qemu@xxxxxxxxxx>
Date: Fri Nov 11 16:04:20 2011 +0100
make user networking hostfwd work with restrict=y
This patch allows the hostfwd option to override the restrict=y setting in
the user network stack, as explicitly stated in the documentation on the
restrict option:
restrict=on|off
If this option is enabled, the guest will be isolated, i.e. it
will not be able to contact the host and no guest IP packets
will be routed over the host to the outside. This option does
not affect any explicitly set forwarding rules.
Qemu bug tracker:
https://bugs.launchpad.net/qemu/+bug/829455
Signed-off-by: Gertjan Halkes <qemu@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 68756ba8be2127b6ea30a466af9f78a5c97bc15f
Author: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx>
Date: Mon Jun 3 15:11:49 2013 +0200
fix -net user checks by reordering checks
reorder slirp config options. first check the dns-server-address,
then check the first-dhcp-address. the original code was comparing
the first-dhcp-address with the default dns-server-address, not
the configured dns-server-address.
Signed-off-by: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit c1990468d5a13c8f1d9111fcca0a78a6adad062b
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Wed May 22 11:32:51 2013 -0500
wdt_i6300esb: fix vmstate versioning
When this VMSD was introduced it's version fields were set to
sizeof(I6300State), making them essentially random from build to build,
version to version.
To fix this, we lock in a high version id and low minimum version id to
support old->new migration from all prior versions of this device's
state. This should work since the device state has not changed since
its introduction.
The potentially breaks migration from 1.5+ to 1.5, but since the
versioning was essentially random prior to this patch, new->old
migration was not consistently functional to begin with.
Reported-by: Nicholas Thomas <nick@xxxxxxxxxxxxxx>
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ed8a8430a896088db55ae029e9eac200aedbe5c
Merge: 7d8f4b3... 1288844...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 18 10:06:47 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: reorganize iscsi_readcapacity_sync
iscsi: simplify freeing of tasks
vhost-scsi: fix k->set_guest_notifiers() NULL dereference
scsi-disk: scsi-block device for scsi pass-through should not be
removable
scsi-generic: check the return value of bdrv_aio_ioctl in
execute_command
scsi-generic: fix sign extension of READ CAPACITY(10) data
scsi: reset cdrom tray statuses on scsi_disk_reset
Message-id: 1371565016-2643-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d8f4b34a4bb6996d958da211f1dfb2686c7d82b
Merge: 5b45643... 2330790...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 18 10:06:39 2013 -0500
Merge remote-tracking branch 'bonzini/nbd-next' into staging
# By Ján Tomko
# Via Paolo Bonzini
* bonzini/nbd-next:
nbd: strip braces from literal IPv6 address in URI
qemu-socket: allow hostnames starting with a digit
commit 5b456438f5bb395ed6b1eec95e18ce7a7a884a0a
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri May 31 14:12:48 2013 -0400
virtio-rng: Fix crash with non-default backend
'default_backend' isn't always set, but 'rng' is, so use that.
$ ./x86_64-softmmu/qemu-system-x86_64 -object
rng-random,id=rng0,filename=/dev/random -device virtio-rng-pci,rng=rng0
Segmentation fault (core dumped)
Regressed with virtio refactoring in
59ccd20a9ac719cff82180429458728f03ec612f
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id:
bf4505014a0a941dbd3c62068f3cf2c496b69e6a.1370023944.git.crobinso@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1288844e7c4ede59509bf697a4cca0f2215a1ce3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 13:56:24 2013 +0200
iscsi: reorganize iscsi_readcapacity_sync
Avoid the goto, and use the same retry logic for the 10- and 16-
byte versions.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f0d2a4d4d63dd2f0f3ecb2d591b979b0e7f24a22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 13:47:08 2013 +0200
iscsi: simplify freeing of tasks
Always free them in the iscsi_aio_*_acb functions and remove the
checks in their callers. Remove ifs when the task struct was
previously dereferenced (spotted by Coverity).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e22a2d18998fd183c8181663981eb681ca977e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 30 16:14:44 2013 +0200
vhost-scsi: fix k->set_guest_notifiers() NULL dereference
Coverity picked up a copy-paste bug. In vhost_scsi_start() we check for
!k->set_guest_notifiers and error out. The check probably got copied
but instead of erroring we actually use the function pointer!
Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 18e673b8f350e1d789b8a50d209eb4a4252ebbda
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Wed May 29 15:47:23 2013 +0200
scsi-disk: scsi-block device for scsi pass-through should not be removable
This patch adds a new SCSI_DISK_F_NO_REMOVABLE_DEVOPS feature. By this
feature we can set that the scsi-block (scsi pass-through) device will
still
be removable from the guest side, but from monitor it cannot be removed.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d836f8d35dc418e24c3b11e2ea67d361b867b650
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Wed May 29 14:12:10 2013 +0200
scsi-generic: check the return value of bdrv_aio_ioctl in execute_command
This fixes the bug introduced by this commit ad54ae80c73f.
The bdrv_aio_ioctl() still could return null and we should return an error
in that case.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53254e569f8e07501f3e0098bd57d2b780e52faa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 14:08:53 2013 +0200
scsi-generic: fix sign extension of READ CAPACITY(10) data
Issuing the READ CAPACITY(10) command in the guest will cause QEMU
to update its knowledge of the maximum accessible LBA in the disk.
The recorded maximum LBA will be wrong if the disk is bigger than
1TB, because ldl_be_p returns a signed int.
When this is fixed, a latent bug will be unmasked. If the READ
CAPACITY(10) command reported an overflow (0xFFFFFFFF), we must
not overwrite the previously-known maximum accessible LBA, or the guest
will fail to access the disk above the first 2TB.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Mon May 20 13:06:47 2013 +0200
scsi: reset cdrom tray statuses on scsi_disk_reset
Tray statuses should be also reset. Some guests may lock the tray and
right after resetting the guest it should be unlocked and closed. This
is done on power-on, reset and resume from suspend/hibernate on
bare-metal.
This fix is already committed for IDE CD.
Check the commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c.
Test results on bare-metal:
- on reset/power-on the CD-ROM tray is closed even before the monitor
is turned on
- on resume from suspend/hibernate the tray is also closed before
the monitor is turned on
From test results it seems that this behavior is OS and probably BIOS
independent.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 23307908790cd8fad91220863d7712c571ddc977
Author: Ján Tomko <jtomko@xxxxxxxxxx>
Date: Mon Jun 3 17:54:56 2013 +0200
nbd: strip braces from literal IPv6 address in URI
Otherwise they would get passed to getaddrinfo and fail with:
address resolution failed for [::1]:1234: Name or service not known
(Broken by commit v1.4.0-736-gf17c90b)
Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 391b7b9701ba3318e890ec0cba97a3c654bfa667
Author: Ján Tomko <jtomko@xxxxxxxxxx>
Date: Mon Jun 3 17:54:55 2013 +0200
qemu-socket: allow hostnames starting with a digit
According to RFC 1123 [1], hostnames can start with a digit too.
[1] http://tools.ietf.org/html/rfc1123#page-13
Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
[Use strspn, not strcspn. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afd59989db90683fa127fec501d2633bcfbd6379
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 11:00:40 2013 +1000
intc/xilinx_intc: Dont lower IRQ when HIE cleared
This is a little strange. It is lowering the parent IRQ pin on input
when HIE is cleared. There is no such behaviour in the real hardware.
ISR changes based on interrupt pin state are already guarded on HIE
being set. So we can just delete this if in its entirety.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fa96d6142f7f1947717c7c45c4d3141e5ab55167
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:59:55 2013 +1000
intc/xilinx_intc: Inhibit write to ISR when HIE
When the Hardware Interrupt Enable (HIE) bit is set, software cannot
change ISR. Add write guard accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 45fdd3bf5a00466cb0f762c638291a5446773dc9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:59:09 2013 +1000
intc/xilinx_intc: Handle level interrupt retriggering
Acking a level sensitive interrupt should have no effect if the
interrupt pin is still asserted. The current implementation requires
and edge condition to occur for setting a level sensitive IRQ, which
means an ACK can clear a level sensitive interrupt, until the original
source strobes the interrupt again.
Fix by keeping track of the interrupt pin state and setting ISR based
on this every time update_irq() is called.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 6327c221fff955ee979559ec85c148963e06d78f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:58:25 2013 +1000
intc/xilinx_intc: Don't clear level sens. IRQs without ACK
For level sensitive interrupts, ISR bits are cleared when the input pin
is lowered. This is incorrect. Only software can clear ISR bits (via
IAR or direct write to ISR with !MER(2)).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 37a011e9bade7bcbdd41addffc7c94cbf628404c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:57:41 2013 +1000
microblaze/petalogix_s3adsp1800_mmu: Fix UART IRQ
The UART IRQ is edge sensitive, whereas the machine was registering it
as level sensitive. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 21a885a7e2a0f532f7653a2607efddbd83504430
Merge: 128dc2d... dbfbc63...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:46 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
qerror: drop QERR_OPEN_FILE_FAILED macro
block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED
savevm: qmp_xen_save_devices_state(): use error_setg_file_open()
dump: qmp_dump_guest_memory(): use error_setg_file_open()
cpus: use error_setg_file_open()
blockdev: use error_setg_file_open()
block: mirror_complete(): use error_setg_file_open()
rng-random: use error_setg_file_open()
error: add error_setg_file_open() helper
Message-id: 1371484631-29510-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 128dc2d1e4cb98ddbe9c0df2e0c914dc00925dac
Merge: 5d71bbc... 0bed087...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:13 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Liu Yuan (2) and others
# Via Kevin Wolf
* kwolf/for-anthony:
vmdk: Allow reading variable size descriptor files
NVMe: Initial commit for new storage interface
curl: Don't set curl options on the handle just before it's going to be
deleted.
vmdk: byteswap VMDK4Header.desc_offset field
block/curl.c: Refuse to open the handle for writes.
sheepdog: support 'qemu-img snapshot -a'
sheepdog: fix snapshot tag initialization
Message-id: 1371486710-17793-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5d71bbc5fb076e6d8a37bb3e320d61432b3c2ce0
Merge: 38aea17... d1bdd3a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:01 2013 -0500
Merge remote-tracking branch 'rth/fix-ppc64' into staging
# By Anton Blanchard
# Via Richard Henderson
* rth/fix-ppc64:
tcg-ppc64: rotr_i32 rotates wrong amount
tcg-ppc64: Fix add2_i64
tcg-ppc64: bswap64 rotates output 32 bits
tcg-ppc64: Fix RLDCL opcode
Message-id: 1371491129-30246-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1bdd3af49f227dd4a4b03b90cb020c55cbed440
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:30:18 2013 +1000
tcg-ppc64: rotr_i32 rotates wrong amount
rotr_i32 calculates the amount to left shift and puts it into a
temporary, but then doesn't use it when doing the shift.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84247357104044b8c4ec4a634e84769f432cbe52
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:29:39 2013 +1000
tcg-ppc64: Fix add2_i64
add2_i64 was adding the lower double word to the upper double word
of each input. Fix this so we add the lower double words, then the
upper double words with carry propagation.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82e0f9170ac9307de4fc15bfb4d12d5534550322
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:28:27 2013 +1000
tcg-ppc64: bswap64 rotates output 32 bits
If our input and output is in the same register, bswap64 tries to
undo a rotate of the input. This just ends up rotating the output.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8a94cfb05ea9a8991c832236b4174d354025a7b7
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Jun 11 21:19:35 2013 +1000
tcg-ppc64: Fix RLDCL opcode
The rldcl instruction doesn't have an sh field, so the minor opcode
is shifted 1 bit. We were using the XO30 macro which shifted the
minor opcode 2 bits.
Remove XO30 and add MD30 and MDS30 macros which match the
Power ISA categories.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0bed087df24c7b3fae366f239b9d150de3309416
Author: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx>
Date: Wed Jun 12 14:06:30 2013 +0300
vmdk: Allow reading variable size descriptor files
the hard-coded 2k buffer on the stack won't allow reading big descriptor
files which can be generated when storing big images. For example 500G
vmdk splitted to 2G chunks.
Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f3c507adcd7b00a08f2075afb6012f791ba9aec5
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Jun 4 09:17:10 2013 -0600
NVMe: Initial commit for new storage interface
Initial commit for emulated Non-Volatile-Memory Express (NVMe) pci
storage device.
NVMe is an open, industry driven storage specification defining
an optimized register and command set designed to deliver the full
capabilities of non-volatile memory on PCIe SSDs. Further information
may be found on the organizations website at:
http://www.nvmexpress.org/
This commit implements the minimum from the specification to work with
existing drivers.
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8da1aa15db2f55c42bdcea95e27b1a190d2be754
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 17:40:15 2013 +0100
curl: Don't set curl options on the handle just before it's going to be
deleted.
(Found by Kamil Dudka)
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Cc: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5a394b9e96eb3c39676353bdf8a230180ae8d6f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 10 11:07:33 2013 +0200
vmdk: byteswap VMDK4Header.desc_offset field
Remember to byteswap VMDK4Header.desc_offset on big-endian machines.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7cea2ba47ea6d361584072f96d7858f5cc99009
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 12:38:43 2013 +0100
block/curl.c: Refuse to open the handle for writes.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cede621ffc13ba1e209d9a21e85b21e150b74045
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Jun 8 01:54:26 2013 +0800
sheepdog: support 'qemu-img snapshot -a'
Just call sd_create_branch() in the snapshot_goto to rollback the image
is good
enough. With this patch, 'loadvm' process for sheepdog is modified:
Suppose we have a snapshot chain A --> B --> C, we do 'loadvm A' so as to
get
a new chain,
A --> B
|
V
C1
in the old code:
1 reload inode of A (in snapshot_goto)
2 read vmstate via A's vdi_id (loadvm_state)
3 delete C and create C1, reload inode of C1 (sd_create_branch on write)
with this patch applied:
1 reload inode of A, delete C and create C1 (in snapshot_goto)
2 read vmstate via C1's parent, that is A's vdi_id (loadvm_state)
This will fix the possible bug that QEMU exit between 2 and 3 in the old
code
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b579ffb3fd64243b64ac5aaf659ac88518f17835
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Jun 8 01:54:25 2013 +0800
sheepdog: fix snapshot tag initialization
This is an old and obvious bug. We should pass snapshot_id to the
tag. Or simple command like 'qemu-img snapshot -a tag sheepdog:image'
will fail
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbfbc6373441e436ac6e2bcf7a8acb284225aa21
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:37:54 2013 -0400
qerror: drop QERR_OPEN_FILE_FAILED macro
Not used since the last commit.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d8b6895f7a8e5bcc5be1557e8048db43882f3b33
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 10 11:29:27 2013 -0400
block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED
The call to drv->bdrv_reopen_prepare() can fail due to reasons
other than an open failure. Unfortunately, we can't use errno
nor -ret, cause they are not always set.
Stick to a generic error message then.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1befce9652a1b7cfca0191b3031fae3cbce26ef0
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:36:58 2013 -0400
savevm: qmp_xen_save_devices_state(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7581766b719afd63dcf922ddbf982291f596ed12
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:36:01 2013 -0400
dump: qmp_dump_guest_memory(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 618da851ec8059460be8e0670bc835d3c2003708
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:35:06 2013 -0400
cpus: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0eef407c7b4130d13138c1f75d9975165433f654
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:33:48 2013 -0400
blockdev: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dacc26aae5d291317a3277970a4f39a562939a78
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:31:46 2013 -0400
block: mirror_complete(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bc5741add11113ee8febdcf33931ec3afe10c729
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:28:02 2013 -0400
rng-random: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 54028d7542cffe97c4685994baac66988c4b7db9
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:24:49 2013 -0400
error: add error_setg_file_open() helper
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 38aea177d93556aada7c4c7aa530f0050715e293
Merge: b7a3b1c... 187f1bc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 08:57:56 2013 -0500
Merge remote-tracking branch 'pmaydell/configury.next' into staging
# By Paolo Bonzini (4) and others
# Via Peter Maydell
* pmaydell/configury.next:
ppc: Remove CONFIG_FDT conditionals
microblaze: Remove CONFIG_FDT conditionals
arm: Remove CONFIG_FDT conditionals
configure: Require libfdt for arm, ppc, microblaze softmmu targets
configure: dtc: Probe for libfdt_env.h
build: drop TARGET_TYPE
main: use TARGET_ARCH only for the target-specific #define
build: do not use TARGET_ARCH
build: rename TARGET_ARCH2 to TARGET_NAME
Add a stp file for usage from build directory
Message-id: 1371221594-11556-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7a3b1cde2127f70d9fc24b7c99fbbc3899afab5
Merge: 030b4b7... b165b0d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 08:57:07 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Michael Tokarev (1) and Vladimir Senkov (1)
# Via Michael Tokarev
* mjt/trivial-patches:
char/serial: fix copy&paste error (fifo8_is_full vs empty)
vl: always define no_frame
Message-id: 1371455050-9523-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 35bdc13b52197d7e9dcadd5af9621b6463290300
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Jun 10 15:29:31 2013 +0100
xen: Implement hot_add_cpu hook.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jun 14 14:43:05 2013 +0100
xen: Fix vcpus initialisation.
Each vcpu needs a call to xc_evtchn_bind_interdomain in QEMU, even those
that are unplug at QEMU initialisation.
Without this patch, any hot-plugged CPU will be "Stuck ??" when Linux
will try to use them.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 647e2f8c9c34947130c50e593a51fa50e9904145
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:25 2013 +0200
QMP: Add cpu-add command
Adds "cpu-add id=xxx" QMP command.
cpu-add's "id" argument is a CPU number in a range [0..max-cpus)
Example QMP command:
-> { "execute": "cpu-add", "arguments": { "id": 2 } }
<- { "return": {} }
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit 69ca3ea5e192251f27510554611bcff6f036a00b)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 4b8e1c9837aef6297a2899fb2115c0b179250732
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:24 2013 +0200
Add hot_add_cpu hook to QEMUMachine
Hook should be set by machines that implement CPU hot-add
via cpu-add QMP command.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 385226be3a600c871a2cf306fca0e2788791293b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:25 2013 +0200
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
* introduce processor status bitmask visible to guest at 0xaf00 addr,
where ACPI asl code expects it
* set bit corresponding to APIC ID in processor status bitmask on
receiving CPU hot-plug notification
* trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit b8622725cf0196f672f272922b0941dc8ba1c408)
The function piix4_cpu_hotplug_req() has been modified to take an integer
instead of a CPU object.
There was a cpu_added_notifier in the original commit, this haven't
been back-ported, as it can't be used.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit b165b0d8e62bb65a02d7670d75ebb77a9280bde1
Author: Vladimir Senkov <hangup@xxxxxxxxx>
Date: Sun Jun 16 20:30:52 2013 -0400
char/serial: fix copy&paste error (fifo8_is_full vs empty)
Copy&paste error in serial.c causes a crash when attempting
to read from UART (if there is no data to be read)
Signed-off-by: Vladimir Senkov <hangup@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 616404cd42db5f683d49772dcc2c53c8f6466024
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:36:22 2013 +0400
vl: always define no_frame
Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options"
broke
build of qemu without sdl, by referencing `no_frame' variable which is
defined
inside #if SDL block. Fix that by defining that variable unconditionally.
This is a better fix for the build issue introduced by that patch than
a revert. This change keeps the new functinality introduced by that patch
and just fixes the compilation. It still is not a complete fix around the
original issue (not working -no-frame et al with -display gtk), because it
makes only the legacy interface working, not the new suboption interface,
so a few more changes are needed.
Cc: Peter Wu <lekensteyn@xxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx>
commit 030b4b7debf659dcd6fc66826564285fdce5057d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 16:13:07 2013 +0200
gtk: Fix compiler warning (GTK 3 deprecated function)
With GTK 3, the function gdk_cursor_unref is deprecated:
qemu/ui/gtk.c: In function â??gd_cursor_defineâ??:
qemu/ui/gtk.c:380:5: error:
â??gdk_cursor_unrefâ?? is deprecated (declared at
/usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead
[-Werror=deprecated-declarations]
Fix the gcc compiler warning by using conditional compilation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1371391987-10795-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a1077090cea97df26a754d16d7c9e1d410d81eaa
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:42:03 2013 +0400
vl: always define no_frame
Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options"
broke
build of qemu without sdl, by referencing `no_frame' variable which is
defined
inside #if SDL block. Fix that by defining that variable unconditionally.
This is a better fix for the build issue introduced by that patch than
a revert. This change keeps the new functinality introduced by that patch
and just fixes the compilation. It still is not a complete fix around the
original issue (not working -no-frame et al with -display gtk), because it
makes only the legacy interface working, not the new suboption interface,
so a few more changes are needed.
Cc: Peter Wu <lekensteyn@xxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371292923-28105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90a2541b763b31d2b551b07e24aae3de5266d31b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:10 2013 +0800
target-i386: fix over 80 chars warnings
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0bc60a8ae076402fbdbd2d6334bbe6ea88b428ff
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:09 2013 +0800
target-i386/helper: remove redundant env->eip assignment
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 80cf2c81a1be732cf1ce4a810ddc7721714d684e
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:08 2013 +0800
target-i386/helper: remove DF macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a78d0eabd4ca05789a9604fe632b9399bf378fee
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:07 2013 +0800
target-i386/helper: remove EIP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cf75c5977c01060d344eb804abf81e938d33105b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:06 2013 +0800
target-i386/helper: remove EDI macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 78c3c6d34a94885c8d7e83ab282062ab642af75b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:05 2013 +0800
target-i386/helper: remove ESI macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 08b3ded6bdc06ac6b9d1f700a1ee108f4ba4030f
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:04 2013 +0800
target-i386/helper: remove ESP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c12dddd7918e3479d0b5b0a1b25588d557347171
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:03 2013 +0800
target-i386/helper: remove EBP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 00f5e6f21ea55046173a8a106b7654036888e9b3
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:02 2013 +0800
target-i386/helper: remove EDX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a416561005da6e4f9903541486f53c2cbc3a428d
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:01 2013 +0800
target-i386/helper: remove ECX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 70b513654c5a4722e727d69ec6999e6e7818670f
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:00 2013 +0800
target-i386/helper: remove EBX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4b34e3ad83588602834c05c0d59a0d2973e9f48c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:20:59 2013 +0800
target-i386/helper: remove EAX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 371a775dc18ece3ff7d77328d1ee28cb2d473706
Merge: 22bfa16... fef7fbc...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jun 15 10:53:44 2013 +0000
Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu
* 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu:
qdev: Drop FROM_QBUS() macro
isa: QOM'ify ISADevice
isa: QOM'ify ISABus
i8259: Convert PICCommonState to use QOM realizefn
kvm/i8259: QOM'ify some more
i8259: QOM'ify some more
i8254: Convert PITCommonState to QOM realizefn
kvm/i8254: QOM'ify some more
i8254: QOM'ify some more
isa: Use realizefn for ISADevice
cs4231a: QOM'ify some more
gus: QOM'ify some more
commit 22bfa16ed3d4c9d534dcfe6f2381a654f32296b9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 10 13:23:20 2013 -0500
ide-test: fix failure for test_flush
bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 added a test to ensure BSY
flag is set when a flush request is in flight. It does this by setting
a blkdebug breakpoint on flush_to_os before issuing a CMD_FLUSH_CACHE.
It then resumes CMD_FLUSH_CACHE operation and checks that BSY is unset.
The actual unsetting of BSY does not occur until ide_flush_cb gets
called in a bh, however, so in some cases this check will race with
the actual completion.
Fix this by polling the ide status register until BSY flag gets unset
before we do our final sanity checks. According to
f68ec8379e88502b4841a110c070e9b118d3151c this is in line with how a guest
would determine whether or not the device is still busy.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0170b3ce88cb87346afa369a89ce9b197389058b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 24 22:58:04 2013 +0200
cpu: Add qemu_for_each_cpu()
Wrapper to avoid open-coded loops and to make CPUState iteration
independent of CPUArchState.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit d6b9e0d60cc511eca210834428bb74508cff3d33)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:41 2013 +0200
cpu: Introduce get_arch_id() method and override it for X86CPU
get_arch_id() adds possibility for generic code to get a guest-visible
CPU ID without accessing CPUArchState.
If derived classes don't override it, it will return cpu_index.
Override it on target-i386 in X86CPU to return the APIC ID.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit 997395d3888fcde6ce41535a8208d7aa919d824b)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 187f1bcb9ce8e3cd3f634dd5405f9e5ed02b38ce
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:57 2013 +0100
ppc: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 564720219a0863625e9989fd258ccc57a616550f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:56 2013 +0100
microblaze: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 298c3833dba62512659ab550c3daa1e6d8faec94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:55 2013 +0100
arm: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt, we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-3-git-send-email-peter.maydell@xxxxxxxxxx
commit e169e1e1ae1e75c522f932554890fb0f2f3e9999
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:54 2013 +0100
configure: Require libfdt for arm, ppc, microblaze softmmu targets
A number of our softmmu targets (PPC, ARM, Microblaze) now more or
less require flattened device tree support for various board models
to work correctly. Make libfdt mandatory if the target list includes
these, rather than building unhelpful half-functional binaries.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 96ce65457690561417ae8e6f0e85f3c6f135018b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon May 27 14:20:57 2013 +1000
configure: dtc: Probe for libfdt_env.h
Currently QEMU provides a local clone of the file libfdt_env.h in
/include. This file is supposed to come with the libfdt package and is
only needed for broken installs of libfdt. Now that we have submodule
dtc, just ignore these broken installs and prompt for the dtc submodule
install instead. QEMU's local libfdt_env.h is removed accordingly.
Manifests as a bug when building QEMU with modern libfdt. The new
version of libfdt does not compile when QEMUs libfdt_env.h takes
precedence over the hosts.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c02a9552a4c89f2fdf23defe1d2c13b834ae3a4a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:28 2013 +0200
build: drop TARGET_TYPE
Just use the TARGET_NAME free string.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1370349928-20419-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2e59915d4375b632964c0594799fd5876958eda6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:27 2013 +0200
main: use TARGET_ARCH only for the target-specific #define
Everything else needs to match the executable name, which is
TARGET_NAME.
Before:
$ sh4eb-linux-user/qemu-sh4eb --help
usage: qemu-sh4 [options] program [arguments...]
Linux CPU emulator (compiled for sh4 emulation)
After:
$ sh4eb-linux-user/qemu-sh4eb --help
usage: qemu-sh4eb [options] program [arguments...]
Linux CPU emulator (compiled for sh4eb emulation)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b9a7b74f77619d3e7fb3834fbdcd3bde036ac399
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:26 2013 +0200
build: do not use TARGET_ARCH
TARGET_ARCH is generally wrong to use, there are better variables
provided in config-target.mak. The right one is usually TARGET_NAME
(previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR
for consistency with linux-user.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c1799a846285764de588533e21e61167a33f5a8f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 14 15:19:07 2013 +0100
build: rename TARGET_ARCH2 to TARGET_NAME
Do not introduce any new use yet.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c14518e94251c5c0857915a5cef102f23abf1e8b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Fri Jun 14 15:19:07 2013 +0100
Add a stp file for usage from build directory
For systemtap the location of the process being tapped is crucial, as a
result the existing stp file requires installation for use.
There are now two files:
$(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to
$(tapdir)/$(QEMU_PROG).stp
$(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable
without installation
To use:
stap -I $(TARGET_DIR) ...
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 52bb7c6a0663b9a0ac1727f7b55811d69aaf3789
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 15:34:52 2013 +1000
audio/intel-hda: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST and
direct -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id:
96f00396338321f5a76c9b86c629b69895e4d2d0.1370496582.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 062db74023043c8fe50869f19c3b9c6bb3e4699c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 15:34:08 2013 +1000
audio/intel-hda: Fix Inheritance hierachy
The ich6 and ich9 variants either need to inherit one from the other,
or both from a common base class, otherwise its not possible to create
a QOM cast macro for use by the shared implementation functions.
Went for option B, with a common base class.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id:
54453b6aa8afa1a76b2ec1932f1d7fd25205d0bc.1370496582.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e5c4540d18d1e9a5253104df161a7e0d408ca95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:36 2013 +0200
smbios: Check R in -smbios type=0, release=R parses okay
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 527cd96f15348f4454d5bb71f69aaeb95461c90e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:35 2013 +0200
smbios: Fix -smbios type=0, release=... for big endian hosts
Classic endianness bug due to careless dirty coding: assuming reading
a byte from an int variable gets the least significant byte.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ebc85e3f724d17530e74df665d1a30fb9b0041b5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:34 2013 +0200
smbios: Clean up smbios_add_field() parameters
Having size precede the associated pointer is odd. Swap them, and fix
up the types.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5bb95e41868b461f37159efb48908828ebd7ab36
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:33 2013 +0200
smbios: Convert to error_report()
Improves diagnistics from ad hoc messages like
Invalid SMBIOS UUID string
to
qemu-system-x86_64: -smbios type=1,uuid=gaga: Invalid UUID
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3eededb2fbc73c73daf08f791f0407b8541f4f4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:32 2013 +0200
log.h: Supply missing includes
<stdio.h> has always been missing. Rest missed in commit eeacee4.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b293796fd71009ecffe4343713a4e4e568c33fb0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:31 2013 +0200
error-report.h: Supply missing include
Missed in commit e5924d8.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 301255e6303457e10b9a42dc208f80c058004c1c
Merge: 5f13731... ba275ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:45 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches-next' into staging
# By Michael Tokarev (4) and others
# Via Michael Tokarev
* mjt/trivial-patches-next: (26 commits)
piix: fix some printf errors when debug is enabled
cputlb: fix debug logs
create qemu_openpty_raw() helper function and move it to a separate file
main-loop: do not include slirp/slirp.h, use libslirp.h instead
libcacard/vscclient: fix leakage of socket on error paths
linux-headers: Update to v3.10-rc5
KVM: PPC: Add dummy kvm_arch_init_irq_routing()
KVM: S390: Add dummy kvm_arch_init_irq_routing()
KVM: ARM: Add dummy kvm_arch_init_irq_routing()
ivshmem: add missing error exit(2)
hw/xen: Use g_free instead of free and fix potential memory leaks
target-sparc: Replace free by g_free
hw/scsi: Don't increment a boolean value
device tree: Fix cppcheck warning
Makefile: Install qemu-img and qemu-nbd man pages only if built
Unbreak -no-quit for GTK, validate SDL options
gtk: implement -full-screen
char/serial: serial_ioport_write: Factor out common code
char/serial: Use generic Fifo8
char/serial: cosmetic fixes.
...
Message-id: 1371207042-17980-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f13731f8cb6aadecf214513ec810d61dc1f71dc
Merge: 86a6a07... c67e216...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:30 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber (12) and others
# Via Andreas Färber
* afaerber/qom-cpu:
spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu()
spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu()
memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting
dump: Abstract dump_init() with cpu_synchronize_all_states()
cpu: Change default for CPUClass::get_paging_enabled()
dump: Drop qmp_dump_guest_memory() stub and build for all targets
memory_mapping: Drop qemu_get_memory_mapping() stub
cpu: Turn cpu_get_memory_mapping() into a CPUState hook
memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h
cpu: Turn cpu_paging_enabled() into a CPUState hook
monitor: Simplify do_inject_mce() with qemu_get_cpu()
target-i386: cpu: Fix potential buffer overrun in get_register_name_32()
target-i386: Set level=4 on Conroe/Penryn/Nehalem
target-i386: Update model values on Conroe/Penryn/Nehalem CPU models
pc: Create pc-*-1.6 machine-types
pc: Fix crash when attempting to hotplug CPU with negative ID
dump: Move stubs into libqemustub.a
commit 86a6a0774509c59f1570f763a0fad57e26762d9c
Merge: db9707f... b25a464...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:05 2013 -0500
Merge remote-tracking branch 'pmaydell/tcg-aarch64.next' into staging
# By Claudio Fontana (9) and others
# Via Peter Maydell
* pmaydell/tcg-aarch64.next:
MAINTAINERS: add tcg/aarch64 maintainer
configure: permit compilation on arm aarch64
tcg/aarch64: implement user mode qemu ld/st
user-exec.c: aarch64 initial implementation of cpu_signal_handler
tcg/aarch64: implement sign/zero extend operations
tcg/aarch64: implement byte swap operations
tcg/aarch64: implement AND/TEST immediate pattern
tcg/aarch64: improve arith shifted regs operations
tcg/aarch64: implement new TCG target for aarch64
include/elf.h: add aarch64 ELF machine and relocs
configure: Drop CONFIG_ATFILE test
linux-user: Drop direct use of openat etc syscalls
linux-user: Allow getdents to be provided by getdents64
Message-id: 1371052645-9006-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db9707f7a17d00781a8fb13354a359bd05a46646
Merge: 6e8d2b6... 5866e07...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:50:58 2013 -0500
Merge remote-tracking branch 'pmaydell/target-arm.next' into staging
# By Peter Chubb
# Via Peter Maydell
* pmaydell/target-arm.next:
Fix rfe instruction
Message-id: 1370268884-25945-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e8d2b654656830877937ba02bb8ea1c4945a1fc
Merge: bd5c51e... 56bbc2f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:50:36 2013 -0500
Merge remote-tracking branch 'rth/tcg-for-anthony' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-for-anthony:
tcg: Remove redundant tcg_target_init checks
tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS
Message-id: 1370437167-11278-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba275adba09adfc0f7ec533f1fddba678d9ba826
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Jun 14 15:11:30 2013 +0800
piix: fix some printf errors when debug is enabled
And use PRIxxx macros if possible.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 54b949d27064a294304775e427f49d3706ed4a95
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed Jun 5 20:16:42 2013 +0800
cputlb: fix debug logs
'pd' variable has been removed in
06ef3525e1f271b6a842781a05eace5cf63b95c2.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4efeabbbe8441cc327052304976c7b9b86309d72
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 5 18:44:54 2013 +0400
create qemu_openpty_raw() helper function and move it to a separate file
In two places qemu uses openpty() which is very system-dependent,
and in both places the pty is switched to raw mode as well.
Make a wrapper function which does both steps, and move all the
system-dependent complexity into a separate file, together
with static/local implementations of openpty() and cfmakeraw()
from qemu-char.c.
It is in a separate file, not part of oslib-posix.c, because
openpty() often resides in -lutil which is not linked to
every program qemu builds.
This change removes #including of <pty.h>, <termios.h>
and other rather specific system headers out of qemu-common.h,
which isn't a place for such specific headers really.
This version has been verified to build correctly on Linux,
OpenBSD, FreeBSD and OpenIndiana. On the latter it lets qemu
to be built with gtk gui which were not possible there due to
missing openpty() and cfmakeraw().
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Tested-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 79c097d5fe7cb0b4788ed509240cde7e210650bf
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Jun 13 17:39:42 2013 +0000
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
This reverts commit 4597594c61add43725bd207bb498268a058f9cfb.
Changing the start of the PCI hole requires a corresponding change in
hvmloader and libxc. Revert the commit for the moment.
commit c67e216bdf42abfb8505790b2da9562356103976
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:06:39 2013 +0200
spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu()
Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState.
Free the "cpu" variable for PowerPCCPU, to access its CPUPPCState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 05318a858c1212d845d03f924e6ab5f22ab51ab6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:03:31 2013 +0200
spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu()
Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState directly. Saves a CPUPPCState variable and QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b25a464c6bddbe5d25b7552ba1fec1835269ac84
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:24 2013 +0100
MAINTAINERS: add tcg/aarch64 maintainer
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 51ACA0B2.80800@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f0803137df68c1fc02ebd0c5ec2e7aad54bbf3b
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
configure: permit compilation on arm aarch64
support compiling on aarch64.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51A5C5ED.90103@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6a91c7c978d77461cc2ed056a2869b90bebded3e
Author: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement user mode qemu ld/st
also put aarch64 in the list of archs that do not need an ldscript.
Signed-off-by: Jani Kokkoken <jani.kokkonen@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51AF40EE.1000104@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f129061c6abfaee2133fcb55c384ec5f99028f62
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
user-exec.c: aarch64 initial implementation of cpu_signal_handler
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51AF4028.5030504@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31f1275b90f4803ee5a2900020f21d3320ce62b7
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement sign/zero extend operations
implement the optional sign/zero extend operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A58.40502@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c4a059df3501ba53c00724287ef50bba80b5f80
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement byte swap operations
implement the optional byte swap operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A33.9050003@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7deea126b24508e8ffa7aa4aecfa6fa97eddc384
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: implement AND/TEST immediate pattern
add functions to AND/TEST registers with immediate patterns.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A0C.3090303@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 36fac14a6416fe1f8f6f23bfac5f9e662be78d2b
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: improve arith shifted regs operations
for arith operations, add SUBS, ANDS, ADDS and add a shift parameter
so that all arith instructions can make use of shifted registers.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC998B.7070506@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a136e0a6b4ceac177bc2ab29502161553e25ae2
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: implement new TCG target for aarch64
add preliminary support for TCG target aarch64.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51A5C596.3090108@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1d256776c77c211a6f60a36e700f549f3a544cc6
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
include/elf.h: add aarch64 ELF machine and relocs
we will use the 26bit relative relocs in the aarch64 tcg target.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51A5C52A.4080001@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 66926895433a56b657f79d14f371831cf79fd43e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
configure: Drop CONFIG_ATFILE test
Nobody uses the CONFIG_ATFILE test now, so just drop it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370126121-22975-3-git-send-email-peter.maydell@xxxxxxxxxx
commit c0d472b12e8c5ba81c69b28a1088ff52a59933f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:21 2013 +0100
linux-user: Drop direct use of openat etc syscalls
The linux-user syscall emulation layer currently supports the
openat family of syscalls via two mechanisms: simply calling
the corresponding libc functions, and making direct syscalls.
Since glibc has supported these functions since at least glibc
2.5, there's no real need to retain the (essentially untested)
direct syscall fallback code, so simply delete it. This allows
us to remove some ifdeffery that was attempting to disable
provision of some of the syscalls if the host didn't seem to
support them, which in some cases was actually wrong (eg where
there are several flavours of the syscall and we only need
one of them, not necessarily the exact one the guest has,
as with the fstatat* calls).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370126121-22975-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 3307e2363a812e4f68d02ec3b0114a9b510702b7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:21 2013 +0100
linux-user: Allow getdents to be provided by getdents64
Newer architectures may only implement the getdents64 syscall, not
getdents. Provide an implementation of getdents in terms of getdents64
so that we can run getdents-using targets on a getdents64-only host.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370344377-27445-1-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1370193044-24535-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 520b6dd4d03742e285cc68cca308a2a74261c410
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 12 16:31:44 2013 +0400
main-loop: do not include slirp/slirp.h, use libslirp.h instead
The header slirp/slirp.h is an internal header for slirp, and
main-loop.c does not use internals from there. Instead, it uses
public functions (slirp_update_timeout(), slirp_pollfds_fill()
etc) which are declared in slirp/libslirp.h.
Including slirp/slirp.h is somewhat dangerous since it redefines
errno on WIN32, so any file including it may misbehave wrt errno.
Unfortunately libslirp isn't self-contained, it needs declaration
of struct in_addr, which is provided by qemu/sockets.h. Maybe
instead of #including qemu/sockets.h before libslirp.h, it is
better to make the latter self-contained.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 581fe784c3adf85dc167a47a4a60fd1245a98217
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Jun 4 16:23:37 2013 -0400
libcacard/vscclient: fix leakage of socket on error paths
Spotted by Coverity.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e098b45386a86fecc1e573d305a240a2f4aa461d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:55 2013 +1000
linux-headers: Update to v3.10-rc5
This adds symbols required for PPC64 pseries platform features:
1. sPAPR live migration;
2. in-kernel XICS interrupt controller.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 821696600402e432f6f11ec355efd23f9bc6ce4f
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Jun 12 17:26:54 2013 +1000
KVM: PPC: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Unlike x86, PPC does not have one default irqchip, so there's no common
code that we'd stick here. Even if you ignore the routes themselves,
which even on x86 are not set up in this function, the initial XICS
kernel implementation will not support IRQ routing, so it's best to
leave even the general feature flags up to the specific irqchip code.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 48475e14841f3c3a245bc4c13f9115520c89f2d7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:53 2013 +1000
KVM: S390: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b3a1c626fc55e1dd87166a7b837e16ff6a1b0071
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:52 2013 +1000
KVM: ARM: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit baefb8bf8e4a708c601bbab898a6039cd9cd12e3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 3 10:58:31 2013 +0200
ivshmem: add missing error exit(2)
If the user fails to specify 'chardev' or 'shm' then we cannot continue.
Exit right away so that we don't invoke shm_open(3) with a NULL pointer.
It would be nice to replace exit(1) with error returns in the PCI device
.init() function, but leave that for another patch since exit(1) is
currently used elsewhere.
Spotted by Coverity.
Cc: Cam Macdonell <cam@xxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c5633d998a27502ad8cc10c2d46f91b02555ae7a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:36:22 2013 +0200
hw/xen: Use g_free instead of free and fix potential memory leaks
The wrong functions and the missing calls of g_free were reported
by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1e2a1d41f29adc8ae3013612c5a0114a87773773
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:40:52 2013 +0200
target-sparc: Replace free by g_free
The wrong function was reported by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dcb0780990f7d579b2d6f9c67ef841a75b3a758b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:24:56 2013 +0200
hw/scsi: Don't increment a boolean value
This fixes a warning from cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 909a196d2754388d3b15a34b688095c655792124
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:12:25 2013 +0200
device tree: Fix cppcheck warning
Fix this cppcheck warning:
Checking device_tree.c...
device_tree.c:216: style:
Checking if unsigned variable 'r' is less than zero.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8a3e8f7fd8144343f6c83e810b988c1e8a99d50a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 11 13:13:58 2013 +0200
Makefile: Install qemu-img and qemu-nbd man pages only if built
When splitting openSUSE's qemu and qemu-linux-user packages we noticed
that for linux-user-only builds unrelated man pages got installed.
It's surely possible to delete them before packaging, but not installing
them in the first place seems more logical.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 047d4e151dd462915786a4fddc12f774d0028af5
Author: Peter Wu <lekensteyn@xxxxxxxxx>
Date: Tue Jun 11 10:55:08 2013 +0200
Unbreak -no-quit for GTK, validate SDL options
Certain options (-no-frame, -alt-grab, -ctrl-grab) only make sense with
SDL.
When compiling without SDL, these options (and -no-quit) print an error
message
and exit qemu.
In case QEMU is compiled with SDL support, the three aforementioned
options
still do not make sense with other display types. This patch addresses
that
issue by printing a warning. I have chosen not to exit QEMU afterwards
because
having the option is not harmful and before this patch it would be ignored
anyway.
By delaying the sanity check from compile-time with some ifdefs to
run-time,
-no-quit is now also properly supported when compiling without SDL.
Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 787ba4f026f54d4fc7787078b896f9c5432c9a9b
Author: Peter Wu <lekensteyn@xxxxxxxxx>
Date: Mon Jun 10 20:04:43 2013 +0200
gtk: implement -full-screen
Aiming for GTK as replacement for SDL, a feature like -full-screen should
also
be implemented.
Bringing the window into full-screen mode is done by activating the
"Fullscreen"
menu item. This is done after showing the windows to make the cursor and
menu
hidden.
v2: drop -no-frame implementation, use booleans instead of ints and ensure
consistency between ui state and menu.
Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b5601df7624b461759651c49ac72a189951780b9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:14:48 2013 +1000
char/serial: serial_ioport_write: Factor out common code
These three lines are common to both FIFO and regular mode. Just factor
them out to outside the if rather than replicate the same lines inside
both if and else.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8e8638fa87ff045f5dadec7342301bf10de776ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:13:27 2013 +1000
char/serial: Use generic Fifo8
Use the generic Fifo8 helper provided by QEMU, rather than re-implement
privately.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7f4f0a227fe0b24c35d0898f9ae7d5909fb51137
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:12:09 2013 +1000
char/serial: cosmetic fixes.
Some cosmetic fixes to char/serial fixing some checkpatch errors.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9e5e2b23d301b1562677c6c115165eed6ce20a68
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 14:14:35 2013 +0100
curl: Whitespace only changes.
Trivial patch to remove odd whitespace.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5c9f43363a84fa13861ebc949ea2453cf7ab4ae3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 16:38:03 2013 +0000
intc/xilinx_intc: Use qemu_set_irq
Use qemu_set_irq rather than if-elsing qemu_irq_(lower|raise). No
functional change, just reduces verbosity.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 45f0b0434d51d4c7e4db05fe721fc61b9b6ef17d
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Jun 6 09:18:44 2013 -0400
configure: Disable host-bsd USB on FreeBSD
It hasn't built since FreeBSD 8.x, and is disabled by a patch in the
FreeBSD ports tree. FreeBSD is migrating to QEMU's libusb support.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 224ead2690cb89bf8edcca493e3b49857eac0d12
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Jun 6 08:53:35 2013 -0400
configure: remove ${config_host_ld} variable
It was only used in one place (and already expanded in one other).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f3a22014e94dfaacb57277dafce66b41cd994869
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jun 6 01:14:54 2013 +0400
gitignore: unignore *.patch
This partially reverts:
commit 082369e62c5bbaba89f173c2b803bc24115bb111
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:13 2013 +0800
gitignore: ignore more files
I'm not sure how this went in. The thing is that
ignoring *.patch, in my opinion, is just wrong.
Especially for downstreams who apply patches for
real.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c58e6201fa38191313cd95c5342d3733bd3f612d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 5 19:08:59 2013 +0400
qemu-char: remove a few needless #includes
This removes <syslog.h> since we don't use
syslogging, and removes second, solaris-specific,
include of <net/if.h> (which is included in
a common part of the file)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 11ed09cf0753c1288a97f00138fc4534135442bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:54:03 2013 +0200
memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting
Pass any Error out into dump_init() and have it actually stop on errors.
Whether it is unsupported on a certain CPU can be checked by looking for
a NULL CPUClass::get_memory_mapping field.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
[AF: Reverted changes to CPU loops]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b3509ca5bbd8e7d2be92ac42196a3ee2e31cb03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 16:48:29 2013 +0200
dump: Abstract dump_init() with cpu_synchronize_all_states()
Instead of calling cpu_synchronize_state() for each CPU, call the
existing cpu_synchronize_all_states() helper.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6db297ea361f4e03c096a0f28f26b060f0060de5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 16:03:46 2013 +0200
cpu: Change default for CPUClass::get_paging_enabled()
qemu_get_guest_memory_mapping() uses cpu_paging_enabled() to determine
whether to use cpu_get_memory_mapping() to return mappings or whether to
fall back to a simple identity map.
Since by default CPUClass::get_memory_mapping() is not implemented,
change the default to false to use the identity map by default.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2a78636bd204e389068d203473ec76558083b44b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 11:54:40 2013 +0200
dump: Drop qmp_dump_guest_memory() stub and build for all targets
qmp_dump_guest_memory() calls dump_init() and returns an Error when
cpu_get_dump_info() returns an error, as done by the stub.
So there is no need to have a stub for qmp_dump_guest_memory().
Enable the documentation of the always-present dump-guest-memory command.
That way we can drop CONFIG_HAVE_CORE_DUMP and leave configure
completely out of the picture for target CPU features.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c22d8e0448aecb48a91f3936419ad1b63fbb4a6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:53:32 2013 +0200
memory_mapping: Drop qemu_get_memory_mapping() stub
dump.c:dump_init() never checked for the return code anyway.
If paging is not enabled, it will fall back to an identity map.
If paging is enabled and getting memory mapping list is not
implemented, qemu_get_guest_memory_mapping() will return an error.
Since the targets not implementing memory mapping also don't implement
dump support, we will not reach this code today and can worry about
changing cpu_paging_enabled() default when the need arises.
This allows us to drop CONFIG_HAVE_GET_MEMORY_SUPPORT.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a23bbfda75118eb738acce84afd64965934828f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 13:52:01 2013 +0200
cpu: Turn cpu_get_memory_mapping() into a CPUState hook
Change error reporting from return value to Error argument.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
[AF: Fixed cpu_get_memory_mapping() documentation]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d4d3ae77dbb756d454c2deb2ef844b0cc7bde7b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:20:15 2013 +0200
memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h
This will avoid issues with hwaddr and ram_addr_t when including
sysemu/memory_mapping.h for CONFIG_USER_ONLY, e.g., from qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 444d55907871f88276a654fc7fdc8c7db95f4b59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 13:28:38 2013 +0200
cpu: Turn cpu_paging_enabled() into a CPUState hook
Relocate assignment of x86 get_arch_id to have all hooks in one place.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c51a944b7505ba827adc897d5452d2b54dbf86bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 16:57:52 2013 +0200
monitor: Simplify do_inject_mce() with qemu_get_cpu()
Avoids an open-coded CPU loop.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 31ccdde298d98b08526dc23059071c9086dec6c2
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jun 3 18:23:27 2013 +0200
target-i386: cpu: Fix potential buffer overrun in get_register_name_32()
Spotted by Coverity,
x86_reg_info_32[] is CPU_NB_REGS32 elements long, so accessing
x86_reg_info_32[CPU_NB_REGS32] will be one element off array.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6b11322e0f724eb0649fdc324a44288b783023ad
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:55 2013 -0300
target-i386: Set level=4 on Conroe/Penryn/Nehalem
The CPUID level value on Conroe, Penryn, and Nehalem are too low. This
causes at least one known problem: the -smp "threads" option doesn't
work as expect if level is < 4, because thread count information is
provided to the guest on CPUID[EAX=4,ECX=2].EAX
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ffce9ebbb69363dfe7605585cdad58ea3847edf4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:54 2013 -0300
target-i386: Update model values on Conroe/Penryn/Nehalem CPU models
The CPUID model values on Conroe, Penryn, and Nehalem are too
conservative and don't reflect the values found on real Conroe, Penryn,
and Nehalem CPUs.
This causes at least one known problems: Windows XP disables sysenter
when (family == 6 && model <= 2), but Skype tries to use the sysenter
instruction anyway because it is reported as available on CPUID, making
it crash.
This patch sets appropriate model values that correspond to real Conroe,
Penryn, and Nehalem CPUs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 45053fdef54fa9aac1cc9b09f2a1d08af90b7b43
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:53 2013 -0300
pc: Create pc-*-1.6 machine-types
Some CPU model fixes are going to be included and they will require
compatibility properties in the pc-*-1.5 machine-types.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8de433cb0820dc1f387a2d580d255744aacd60cc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu May 30 17:09:34 2013 +0200
pc: Fix crash when attempting to hotplug CPU with negative ID
QMP command "{ 'execute': 'cpu-add', 'arguments': { 'id': -1 }}" may cause
QEMU SIGSEGV at:
piix4_cpu_hotplug_req ()
...
g->sts[cpu_id / 8] |= (1 << (cpu_id % 8));
...
Since for PC in current implementation id should be in range [0...maxcpus)
and maxcpus is already checked, add check for lower bound and error out
on incorrect value.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88f62c2b1deb466749e340a8a241975c509bd9b6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 10:41:20 2013 +0200
dump: Move stubs into libqemustub.a
This allows us to drop CONFIG_NO_CORE_DUMP with its indirect dependency
on CONFIG_HAVE_CORE_DUMP.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 7 15:19:53 2013 -0500
qemu-char: don't issue CHR_EVENT_OPEN in a BH
When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET,
and it was issued as a bottom-half:
86e94dea5b740dad65446c857f6959eae43e0ba6
Which we basically used to print out a greeting/prompt for the
monitor.
AFAICT the only reason this was ever done in a BH was because in
some cases we'd modify the chr_write handler for a new chardev
backend *after* the site where we issued the reset (see:
86e94d:qemu_chr_open_stdio())
At some point this event was renamed to CHR_EVENT_OPENED, and we've
maintained the use of this BH ever since.
However, due to 9f939df955a4152aad69a19a77e0898631bb2c18, we schedule
the BH via g_idle_add(), which is causing events to sometimes be
delivered after we've already begun processing data from backends,
leading to:
known bugs:
QMP:
session negotation resets with OPENED event, in some cases this
is causing new sessions to get sporadically reset
potential bugs:
hw/usb/redirect.c:
can_read handler checks for dev->parser != NULL, which may be
true if CLOSED BH has not been executed yet. In the past, OPENED
quiesced outstanding CLOSED events prior to us reading client
data. If it's delayed, our check may allow reads to occur even
though we haven't processed the OPENED event yet, and when we
do finally get the OPENED event, our state may get reset.
qtest.c:
can begin session before OPENED event is processed, leading to
a spurious reset of the system and irq_levels
gdbstub.c:
may start a gdb session prior to the machine being paused
To fix these, let's just drop the BH.
Since the initial reasoning for using it still applies to an extent,
work around that by deferring the delivery of CHR_EVENT_OPENED until
after the chardevs have been fully initialized, toward the end of
qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This
defers delivery long enough that we can be assured a CharDriverState
is fully initialized before CHR_EVENT_OPENED is sent.
Also, rather than requiring each chardev to do an explicit open, do it
automatically, and allow the small few who don't desire such behavior to
suppress the OPENED-on-init behavior by setting a 'explicit_be_open'
flag.
We additionally add missing OPENED events for stdio backends on w32,
which were previously not being issued, causing us to not recieve the
banner and initial prompts for qmp/hmp.
Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1370636393-21044-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b62cd318daaa3d94c150d87dc2c8466b9463cef5
Merge: 97f31cb... 9914fbe...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 10 11:37:47 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (2) and Marcelo Tosatti (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
correct RTC_CHANGE_EVENT description (v2)
MAINTAINERS: split Monitor (QMP/HMP) entry
MAINTAINERS: new maintainers for qapi-schema.json
Message-id: 1370634855-18337-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 97f31cbc71fc13b3091893313a555c3cf1ecb798
Merge: f7da9c1... c87826a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 10 11:37:39 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Jason Wang (1) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/net:
tap: fix NULL dereference when passing invalid parameters to tap
vmxnet3: fix NICState cleanup
Message-id: 1370613288-14933-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7da9c17c114417911ac2008d0401084a5030391
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 13:24:17 2013 -0500
gtk: use better icon
The current icon looks pretty terrible rendered in Gnome. This
switches to a transparent SVG which looks much nicer.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4039736e6f7867a4f937145afec7ab56531c0be4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Jun 2 16:17:49 2013 +0100
softfloat: Fix shift128Right for shift counts 64..127
shift128Right would give the wrong result for a shift count
between 64 and 127. This was never noticed because all of
our uses of this function are guaranteed not to use shift
counts in this range.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370186269-24353-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc7d0e66741724216cc104034838eb34f0e94b8d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 17:06:55 2013 +0200
gdbstub: let the debugger resume from guest panicked state
While in general we forbid a "continue" from the guest panicked
state, it makes sense to have an exception for that when continuing
in the debugger. Perhaps the guest entered that state due to a bug,
for example, and we want to continue no matter what.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Message-id: 1370272015-9659-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26ac7a31fbf5522d2ca3f0e2e5b5c8e915701f66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 17:06:54 2013 +0200
gdbstub: fix for commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc
This commit used the wrong check to prevent an assertion failure.
After this commit, you need to start a guest in the monitor, you
cannot use anymore the "c" command in the debugger. This is
undesirable. The commit's aim was to prevent a restart
after a KVM internal error or something like that; use
runstate_needs_reset() for that.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Message-id: 1370272015-9659-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f293bd6e53739e089f33b458f70a9c4ac136b92
Author: Wendy Liang <jliang@xxxxxxxxxx>
Date: Fri Jun 7 13:05:38 2013 +1000
xilinx_axidma: Do not set DMA .notify to NULL after notify
If a stream notify function is not ready, it may re-populate the notify
call-
back to indicate it should be re-polled later. This break in this usage,
as
immediately following the notify() call, .notify is set to NULL. reverse
the
ordering of the notify call and NULL assignment accordingly.
[PC: Reworked commit message]
Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 4e298e46ddcbb3a2a653a582b54557b75180c625
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 9 22:56:20 2013 +0200
xilinx_axienet: Fix bit mask code
Obviously the code wanted to mask the lower bits but failed to do so
because of a missing "<".
cppcheck detected a conditional expression which was always true (1 < 7).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9914fbedf21f1ffd45af67c8f3fe8a2e8f7e7785
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Fri Jun 7 16:52:43 2013 -0300
correct RTC_CHANGE_EVENT description (v2)
Fix RTC_CHANGE event description to match implementation.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8899b4ae2d792967b7655d3081fb2994426e4658
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 3 11:14:26 2013 -0400
MAINTAINERS: split Monitor (QMP/HMP) entry
This entry doesn't reflect reality for a few years now. This commit
splits it into Human Monitor (HMP), QAPI and QMP. Markus is dropped
as a maintainer.
This is what we have been for the last few years. Also, it's going
to help me to offload some of this work to someone else in the near
future.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 7810d29198790a805936e7a2f44c055184a56b0a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 3 11:11:53 2013 -0400
MAINTAINERS: new maintainers for qapi-schema.json
I'm facing two problems lately wrt QMP patch review: increasingly
lack of bandwidth and lack of background in so many different areas
that are getting new QMP commands almost every week.
In order to help me mitigate this problem, I'm adding Eric and Markus
(besides me) as maintainers of the qapi-schema.json file.
Markus has been an old timer reviewer. Eric is being the most active
and prolific reviewer of QMP patches for some time now.
I believe Markus and Eric will keep doing their work as before, but
starting now I'll require the ACK of at least one of them before
appling a patch/series that touches the qapi-schema.json file.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit c87826a878be05208c3906eb9d5e1f37cff5e98e
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Tue Jun 4 13:18:17 2013 +0800
tap: fix NULL dereference when passing invalid parameters to tap
This patch forbid the following invalid parameters to tap:
1) fd and vhostfds were specified but vhostfd were not specified
2) vhostfds were specified but fds were not specified
3) fds and vhostfd were specified
For 1 and 2, net_init_tap_one() will still pass NULL as vhostfdname to
monitor_handle_fd_param(), which may crash the qemu.
Also remove the unnecessary has_fd check.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Stefan Hajnoczi <shajnocz@xxxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7387de16d0e4d2988df350926537cd12a8e34206
Merge: b8a75b6... e73fe2b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 08:40:52 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (19) and others
# Via Stefan Hajnoczi
* stefanha/block: (26 commits)
hmp: add parameters device and -v for info block
hmp: show ImageInfo in 'info block'
qmp: add ImageInfo in BlockDeviceInfo used by query-block
block: add image info query function bdrv_query_image_info()
block: add snapshot info query function bdrv_query_snapshot_info_list()
ide-test: Add FLUSH CACHE test case
ide: Set BSY bit during FLUSH
ide-test: Add enum value for DEV
blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events
Make qemu-io commands available in HMP
qemu-io: Use the qemu version for -V
qemu-io: Interface cleanup
qemu-io: Move remaining helpers from cmd.c
qemu-io: Move command_loop() and friends
qemu-io: Move functions for registering and running commands
qemu-io: Move qemu_strsep() to cutils.c
qemu-io: Move 'quit' function
qemu-io: Move 'help' function
qemu-io: Factor out qemuio_command
qemu-io: Split off commands to qemu-io-cmds.c
...
Message-id: 1370606325-10680-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8a75b6093309a43f9837bc2ce63bcf15a7b305f
Merge: 8819c10... d1db1fa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 08:40:24 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Fix unsetting of indicators.
s390x/css: Fix concurrent sense.
Message-id: 1370592676-22532-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fef7fbc92496f5f6d2b7395263830bce15ebf410
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 14:45:17 2013 +0200
qdev: Drop FROM_QBUS() macro
Use QOM cast macros I2C_BUS(), SSI_BUS(), PCI_BUS() instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a17cc4f285d7ffe41847bf728cd88c736237416
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 13:49:13 2013 +0200
isa: QOM'ify ISADevice
Rename its parent field and use DEVICE() where necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ae0e48d5fd2cb7c5bc5c392edf2dc33ac2959d0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 14:11:07 2013 +0200
isa: QOM'ify ISABus
Rename its parent field and use ISA_BUS() where necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2628b7d18521dacd3d4d246602e9bb3fc2a43dd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:54:47 2012 +0100
i8259: Convert PICCommonState to use QOM realizefn
Instead of having the parent provide PICCommonClass::init,
let the children override DeviceClass::realize themselves.
This pushes the responsibility of saving and calling the parent's
realizefn to the children.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 49fdb0c1c42f02ab163206f34fcf59bb0815afa2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:38:13 2012 +0100
kvm/i8259: QOM'ify some more
Introduce type constant.
Prepares for PIC realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1eebf4e3df8882d7be6377e1251123b6c16b9b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:35:49 2012 +0100
i8259: QOM'ify some more
Introduce type constant.
Prepares for PIC realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a15d09127b104d1c35fc22bdd65263fe62462b30
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:47:58 2012 +0100
i8254: Convert PITCommonState to QOM realizefn
Instead of having the parent provide PITCommonClass::init,
let the children override DeviceClass::realize themselves.
This pushes the responsibility for saving and calling the parent's
realizefn to the children.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58cd986422d7353e7fac56969ac59daab3cdca67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:13:38 2012 +0100
kvm/i8254: QOM'ify some more
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for PIT realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3afe7e14a42309578d324df5fe1b303a496a8466
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:05:53 2012 +0100
i8254: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Prepares for PIT realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e73fe2b46c38776288415ce7bc8ba3fcd23721c4
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:28:01 2013 +0800
hmp: add parameters device and -v for info block
With these parameters, user can choose the information to be showed,
to avoid message flood in the monitor.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd093a365e8d1437f437a48ddca3ed08283b3090
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:28:00 2013 +0800
hmp: show ImageInfo in 'info block'
Now human monitor can show image details, include internal
snapshot and backing chain info for every block device.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 553a7e871822d933beaefbd596f0e4eed1614373
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:59 2013 +0800
qmp: add ImageInfo in BlockDeviceInfo used by query-block
Now image info will be retrieved as an embbed json object inside
BlockDeviceInfo, backing chain info and all related internal snapshot
info can be got in the enhanced recursive structure of ImageInfo. New
recursive member *backing-image is added to reflect the backing chain
status.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 43526ec8d1395fe4efbed15e9764b64641b95bcc
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:58 2013 +0800
block: add image info query function bdrv_query_image_info()
This patch adds function bdrv_query_image_info(), which will
retrieve image info in qmp object format. The implementation is
based on the code moved from qemu-img.c, but uses block layer
function to get snapshot info.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb0ed4539c6f02fa9e5a3cf9df2549713451eeca
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:57 2013 +0800
block: add snapshot info query function bdrv_query_snapshot_info_list()
This patch adds function bdrv_query_snapshot_info_list(), which will
retrieve snapshot info of an image in qmp object format. The
implementation
is based on the code moved from qemu-img.c with modification to fit more
for qmp based block layer API.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db895a1e6a97e919f9b86d60c969377357b05066
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 02:37:14 2012 +0100
isa: Use realizefn for ISADevice
Drop ISADeviceClass::init and the resulting no-op initfn and let
children implement their own realizefn. Adapt error handling.
Split off an instance_init where sensible.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3dcca567a1d4a5c79fb9c8fe2d9a21a4a7cebd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 16:40:02 2013 +0200
cs4231a: QOM'ify some more
Introduce type constant and cast macro.
Replace reset hook with DeviceClass::reset callback.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 11c7549d836b3d3a4ccd903bbfdbdc942b9add52
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 16:02:26 2013 +0200
gus: QOM'ify some more
Add type constant and cast macro.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:58 2013 +0200
ide-test: Add FLUSH CACHE test case
This checks in particular that BSY is set while the flush request is in
flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f68ec8379e88502b4841a110c070e9b118d3151c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 5 15:17:57 2013 +0200
ide: Set BSY bit during FLUSH
The implementation of the ATA FLUSH command invokes a flush at the block
layer, which may on raw files on POSIX entail a synchronous fdatasync().
This may in some cases take so long that the SLES 11 SP1 guest driver
reports I/O errors and filesystems get corrupted or remounted read-only.
Avoid this by setting BUSY_STAT, so that the guest is made aware we are
in the middle of an operation and no ATA commands are attempted to be
processed concurrently.
Addresses BNC#637297.
Suggested-by: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c27d565604038c1572b16dd1cd06e277e6ef02e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:56 2013 +0200
ide-test: Add enum value for DEV
Get rid of the magic number.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf736fe34caba0688c9095c31b9d097ea15c1296
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:55 2013 +0200
blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 587da2c39c9ace168f4d01fa446a54ae998a2553
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:41 2013 +0200
Make qemu-io commands available in HMP
It was decided to not make this command available in QMP in order to
make clear that this is not supposed to be a stable API and should be
used only for testing and debugging purposes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02da386a2d7a020e80b0aed64769efa9dd42072a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:40 2013 +0200
qemu-io: Use the qemu version for -V
Always printing 0.0.1 and never updating the version number wasn't very
useful. qemu-io is released with qemu, so using the same version number
makes most sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d21994f9c511cb63220fef5abea164b83fbb997
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:39 2013 +0200
qemu-io: Interface cleanup
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b613881ae8fc59359b3d91e666fea6c9b1e731b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:38 2013 +0200
qemu-io: Move remaining helpers from cmd.c
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d1174f13e78e2f43f7ae33d59b62b0b94468c8db
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:37 2013 +0200
qemu-io: Move command_loop() and friends
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c2cdf5c5892165cbe7d3567bff5930521bc52669
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:36 2013 +0200
qemu-io: Move functions for registering and running commands
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a38ed811474e953371f848233208c2026c2d1195
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:35 2013 +0200
qemu-io: Move qemu_strsep() to cutils.c
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e681be7eca0143fe7259ce8233fe5dd8898d072f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:34 2013 +0200
qemu-io: Move 'quit' function
This one only makes sense in the context of the qemu-io tool, so move it
to qemu-io.c. Adapt coding style and register it like other commands.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f18a834a92f0b490cefeb71410f3f25b969d336f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:33 2013 +0200
qemu-io: Move 'help' function
No reason to treat it different from other commands. Move it to
qemu-io-cmds.c, adapt the coding style and register it like any other
command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dd5832967ac3fe96bd5bf9f199639176998ead69
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:32 2013 +0200
qemu-io: Factor out qemuio_command
It's duplicated code. Move it to qemu-io-cmds.c because it's not
dependent on any static data of the qemu-io tool.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 797ac58cb2093ab9192d8998a1fef85d87cc8661
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:31 2013 +0200
qemu-io: Split off commands to qemu-io-cmds.c
This is the implementation of all qemu-io commands that make sense to be
called from the qemu monitor, i.e. everything except open, close and
quit.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 734c3b85cb72d264ad2b38a87f30304e05de2cb1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:30 2013 +0200
qemu-io: Don't use global bs in command implementations
Pass in the BlockDriverState to the command handlers instead of using
the global variable. This is an important step to make the commands
usable outside of qemu-io.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf49a6a00c19cabf4006d4f82bef26345043e7b5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:29 2013 +0200
qemu-io: Handle cvtnum() errors in 'alloc'
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6e356aa25c81d928e1c463292048d29cf25f04e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:28 2013 +0200
qemu-io: Make cvtnum() a wrapper around strtosz_suffix()
No reason to implement the same thing multiple times. A nice side effect
is that fractional numbers like 0.5M can be used in qemu-io now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5e00984aef7c1c317e27c0e8acf66526513c770f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:27 2013 +0200
cutils: Support 'P' and 'E' suffixes in strtosz()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a23818f4ff3d7981f49453b739f589e4205930b5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:26 2013 +0200
qemu-io: Remove unused args_command
The original intention seems to be something with handling multiple
images at once, but this has never been implemented and the only
function ever registered is implemented to make everything behave like a
"global" command. Just do that unconditionally now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d1db1fa8dfcea9c62643f624f2a07d2fd375ce45
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Jun 5 17:13:05 2013 +0200
virtio-ccw: Fix unsetting of indicators.
Interpretation of the ccws to register (configuration) indicators
contained
a thinko: We want to disallow reading from 0, but setting the indicator
pointer to 0 is fine.
Let's fix the handling for CCW_CMD_SET{,_CONF}_IND.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 8312976e73fce9689ab831c1da565ec413680cff
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Jun 5 16:54:05 2013 +0200
s390x/css: Fix concurrent sense.
Fix an off-by-one error when indicating availablity of concurrent
sense data.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 293c51a6ee369228633a8428ab689f14c045ff98
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 5 10:33:14 2013 +0200
blockdev: reset werror/rerror on drive_del
Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested the following test case:
1. Launch a guest and wait at the GRUB boot menu:
qemu-system-x86_64 -enable-kvm -m 1024 \
-drive if=none,cache=none,file=test.img,id=foo,werror=stop,rerror=stop
-device virtio-blk-pci,drive=foo,id=virtio0,addr=4
2. Hot unplug the device:
(qemu) drive_del foo
3. Select the first boot menu entry
Without this patch the guest pauses due to ENOMEDIUM. The guest is
stuck in a continuous pause loop since the I/O request is retried and
fails immediately again when the guest is resumed.
With this patch the error is reported to the guest.
Note that this scenario actually happens sometimes during libvirt disk
hot unplug, where device_del is followed by drive_del. I/O may still be
submitted to the drive after drive_del if the guest does not process the
PCI hot unplug notification.
Reported-by: Dafna Ron <dron@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 09:53:19 2013 -0700
tcg: Remove redundant tcg_target_init checks
We've got a compile-time check for the condition in exec/cpu-defs.h.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e85ef5381a512d8f781b862e8b5f9d4cbf0ba494
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 09:51:59 2013 -0700
tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS
Rather than a hand-coded version of the same thing.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ffee3cd5fb29de2115bdcbde0a02f47ce69a24c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jun 4 14:47:26 2013 +0200
vmxnet3: fix NICState cleanup
Use qemu_del_nic() instead of qemu_del_net_client() to correctly free
the entire NICState.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8819c10b5d55d537d59a0ffd5d623f348fc36c47
Merge: a341619... 9cdf79d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 14:58:58 2013 -0500
Merge remote-tracking branch 'sstabellini/xen_fixes_20130603' into staging
* sstabellini/xen_fixes_20130603:
xen: use pc_init_pci instead of pc_init_pci_no_kvmclock
xen: remove xen_vcpu_init
xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)
xen_machine_pv: do not create a dummy CPU in machine->init
main_loop: do not set nonblocking if xen_enabled()
xen: simplify xen_enabled
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3416197447e7846a927b6ccb4f1edb3a1982443
Merge: e47dccc... 5b91704...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 09:26:49 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (6) and others
# Via Kevin Wolf
* kwolf/for-anthony:
block: dump snapshot and image info to specified output
block: move qmp and info dump related code to block/qapi.c
block: move snapshot code in block.c to block/snapshot.c
block: drop bs_snapshots global variable
qemu-iotests: make create_image() common
qemu-iotests: make compare_images() common
qemu-iotests: make cancel_and_wait() common
qemu-iotests: make assert_no_active_block_jobs() common
block: add block driver read only whitelist
qemu-iotests: fix 054 cluster size help output
Message-id: 1370349940-4703-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e47dccc64b6ca570e4db96fd5fdb3bef251eb559
Merge: 1713924... c3c4fe3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 09:26:29 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci: misc cleanups
This includes some pci-related cleanups,
and fw cfg cleanups which will be useful for on-going
pci related work.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 02 Jun 2013 02:46:52 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (8) and Laszlo Ersek (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pvpanic: use FWCfgState explicitly
fw_cfg: fw_cfg is a singleton
fw_cfg: add API to find FW cfg object
fw_cfg: move typedef to qemu/typedefs.h
refer to FWCfgState explicitly
apic: rename apic specific bitopts
firmware_abi: move to include/hw/nvram/
dec.c - move to pci-bridge
q35: set fw_name
Message-id: 1370202787-3712-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5b91704469c0f801e0219f26458356872c4145ab
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:45 2013 +0800
block: dump snapshot and image info to specified output
bdrv_snapshot_dump() and bdrv_image_info_dump() do not dump to a buffer
now,
some internal buffers are still used for format control, which have no
chance to be truncated. As a result, these two functions have no more
issue
of truncation, and they can be used by both qemu and qemu-img with correct
parameter specified.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f364ec65b56b69c55b674cb6560aa1fbbea9e013
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:44 2013 +0800
block: move qmp and info dump related code to block/qapi.c
This patch is a pure code move patch, except following modification:
1 get_human_readable_size() is changed to static function.
2 dump_human_image_info() is renamed to bdrv_image_info_dump().
3 in qmp_query_block() and qmp_query_blockstats, use bdrv_next(bs)
instead of direct traverse of global array 'bdrv_states'.
4 collect_snapshots() and collect_image_info() are renamed, unused
parameter
*fmt in collect_image_info() is removed.
5 code style fix.
To avoid conflict and tip better, macro in header file is BLOCK_QAPI_H
instead of QAPI_H. Now block.h and snapshot.h are at the same level in
include path, block_int.h and qapi.h will both include them.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit de08c606f9ddafe647b6843e2b10a6d6030b0fc0
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:43 2013 +0800
block: move snapshot code in block.c to block/snapshot.c
All snapshot related code, except bdrv_snapshot_dump() and
bdrv_is_snapshot(), is moved to block/snapshot.c. bdrv_snapshot_dump()
will be moved to another file later. bdrv_is_snapshot() is not related
with internal snapshot. It also fixes small code style errors reported
by check script.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 29d782710f87f01991bfc85cd9bef7d15280a5e2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat May 25 11:09:42 2013 +0800
block: drop bs_snapshots global variable
The bs_snapshots global variable points to the BlockDriverState which
will be used to save vmstate. This is really a savevm.c concept but was
moved into block.c:bdrv_snapshots() when it became clear that hotplug
could result in a dangling pointer.
While auditing the block layer's global state I came upon bs_snapshots
and realized that a variable is not necessary here. Simply find the
first BlockDriverState capable of internal snapshots each time this is
needed.
The behavior of bdrv_snapshots() is preserved across hotplug because new
drives are always appended to the bdrv_states list. This means that
calling the new find_vmstate_bs() function is idempotent - it returns
the same BlockDriverState unless it was hot-unplugged.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2499a096a2427f0a5c71750c9f79cf2d2d2d60f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:37 2013 +0200
qemu-iotests: make create_image() common
Both 030 and 041 use create_image(). Move it to iotests.py.
Also drop ImageStreamingTestCase since the class now has no methods.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3a3918c396c5caeab35a7f51af905172a13d996a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:36 2013 +0200
qemu-iotests: make compare_images() common
The iotests.compare_images() function returns True if two image files
have the identical data. Previously this was implemented by converting
images to raw and then comparing their contents using Python. Since
"qemu-img compare" is now available and is more efficient, switch to it.
This function will be reused by the 'drive-backup' test case.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2575fe16d257a1fb5f452391b868b3c3263a9aca
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:35 2013 +0200
qemu-iotests: make cancel_and_wait() common
The cancel_and_wait() function has been duplicated in 030 and 041. Move
it into iotests.py and let it return the event so tests can perform
additional asserts.
Note that 041's cancel_and_wait(wait_ready=True) is replaced by
wait_ready_and_cancel(), which uses the new wait_ready() and
cancel_and_wait() underneath.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ecc1c88efddb376687084c3387c38b3a458c5892
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:34 2013 +0200
qemu-iotests: make assert_no_active_block_jobs() common
Tests 030 and 041 both use query-block-jobs to check whether any block
jobs are active. Make this code common so that 'drive-backup' and other
new feature tests will be able to reuse it.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b64ec4e4ade581d662753cdeb0d7e0e27aafbf81
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed May 29 19:35:40 2013 +0800
block: add block driver read only whitelist
We may want to include a driver in the whitelist for read only tasks
such as diagnosing or exporting guest data (with libguestfs as a good
example). This patch introduces a readonly whitelist option, and for
backward compatibility, the old configure option --block-drv-whitelist
is now an alias to rw whitelist.
Drivers in readonly list is only permitted to open file readonly, and
returns -ENOTSUP for RW opening.
E.g. To include vmdk readonly, and others read+write:
./configure --target-list=x86_64-softmmu \
--block-drv-rw-whitelist=qcow2,raw,file,qed \
--block-drv-ro-whitelist=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ddd08c5d1415a71f21157686d43f48ff14992b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 11:19:51 2013 +0200
qemu-iotests: fix 054 cluster size help output
Commit f3f4d2c09b9cf46903ba38425ec46c44185162bd added a hint to increase
the cluster size when a large image cannot be created. Test 054 now has
outdated output and fails because the golden output does not match.
This patch updates the 054 golden output.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 171392406d8e230d62e5ebf4805f71460854b8ec
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 15:37:23 2013 -0500
gtk: don't use g_object_unref on GdkCursor
It's not a GObject.
Cc: Gerd Hoffman <kraxel@xxxxxxxxxx>
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
---
v1 -> v2
- Fix summary to agree with code (Peter)
commit 41686a960805ed561158c7e4809f0c9f92f1d8ec
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 15:36:51 2013 -0500
gtk: don't resize window when enabling scaling
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 651eb0f41b793021f7de672de78892def5819fb9
Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
Date: Fri May 31 16:52:18 2013 +0800
fix double free the memslot in kvm_set_phys_mem
Luiz Capitulino reported that guest refused to boot and qemu
complained with:
kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument
It is caused by commit 235e8982ad that did double free for the memslot
so that the second one raises the -EINVAL error
Fix it by reset memory size only if it is needed
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25b483381adf4144bad3cf3f433b4658da5e15bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon May 20 16:16:16 2013 +0100
configure: Report unknown target names more helpfully
If the user specifies a target list themselves, check each entry
to make sure it's a target we recognise. This allows us to print
a helpful error message, rather than falling through (where we
would probably eventually end up hitting the uninformative
"ERROR: Unsupported target CPU").
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1369062976-301-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e92f823b67d87aa96df01b0cb01f81ac71ec5e3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon May 20 16:16:15 2013 +0100
configure: Autogenerate default target list
Autogenerate the default target list based on what files exist
in default-configs; this allows us to remove one of the places
that has to be kept up to date with a complete list of every
target we support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1369062976-301-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ded1fe5f36765b97b15a7afebb6d04ddcc4771c
Merge: 8b779b3... 95669e6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 13:24:25 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Peter Crosthwaite (20) and others
# Via Peter Maydell
* pmaydell/arm-devs.next: (24 commits)
i.MX: Improve EPIT timer code.
exynos4210.c: register rom_mem for memory migration
hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region
i.MX: split GPT and EPIT timer implementation
sd/sd.c: Fix "inquiry" ACMD41
sd/sdhci:ADMA: fix interrupt
sd/sdhci.c: Fix bdata_read DPRINT message
sd/sdhci: Fix Buffer Write Ready interrupt
sd/sdhci.c: Only reset data_count on new commands
xilinx_spips: lqspi: Fix byte/misaligned access
xilinx_spips: lqspi: Push more data to tx-fifo
xilinx_spips: Multiple debug verbosity levels
xilinx_spips: Debug msgs for Snoop state
xilinx_spips: Fix striping behaviour
xilinx_spips: Fix CTRL register RW bits
xilinx_spips: lqspi: Dont touch config register
xilinx_spips: Implement automatic CS
xilinx_spips: Add automatic start support
xilinx_spips: Trash LQ page cache on mode change
xilinx_spips: Fix QSPI FIFO size
...
Message-id: 1370277021-26129-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95669e69848eda87861e1ec3016562101542f543
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
i.MX: Improve EPIT timer code.
* Unify function and type naming
* use dynamic cast whenever possible
* simplify Debug printf.
* use new style device intialization.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Message-id: 1369839656-24466-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6539ed21b1d5c93e8add2f7b2bf9856889e6d1ac
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
exynos4210.c: register rom_mem for memory migration
Even if we do not register newly created RAM MemoryRegion for migration
with
vmstate_register_ram_global() function, ram_save_setup() still saves this
region
to snapshot file with empty idstr=="". Consequently this results in error
during
VM loading in ram_load().
Register rom_mem for migration.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Message-id: 1368199981-45292-3-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11a5e48249d8c34211065c25ddf222f031a0338e
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region
Exynos SoC was misusing memory_region_init_ram_ptr(): this interface can
safely
be used only for memory regions which size is a multiple of target page
size.
Change chipid_and_omr memory to an mmio region to fix this.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Message-id: 1368199981-45292-2-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a50c0d6f72830ca3016e63ded6ccfd4e951c172f
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
i.MX: split GPT and EPIT timer implementation
There is no common code between these 2 timer implementation.
So it is better to split them.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1368990197-19694-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 37ab4a566816f518fb958ea49734d51d1ccbd227
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sd.c: Fix "inquiry" ACMD41
QEMU models two (of the three) ACMD41 has two modes, "inquiry" and
"first". The selection logic for which of the two is incorrect - it
compares != 0 for the entire argument value rather than only bits 23:0
as per the spec. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
3ef0a7fd1b2f3ebb23b4fdeabcc14caf3fad6d71.1369622254.git.peter.crosthwaite@xxxxxxxxxx
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1d32c26f28d6e25f447b8ba40440c7d228ed4006
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sdhci:ADMA: fix interrupt
The end of transfer check was occurring and potentially returning before
the interrupt flag was checked. This means the interrupt will be missed
if it occurs on the last packet. Fix by checking for the interrupt
before checking for the end of transfer.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
9969ec154777957ec738fc4e539d68e7494d0081.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 677ff2ae660b3a55f936a8836513cbab185f6e4f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sdhci.c: Fix bdata_read DPRINT message
This message was printing out the data in decimal only, which is not
very friendly to the debugging developer. Add hex variant in
parenthesis to make it consistent with other similar messages in this
module.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
d624179649137832eaa8caa263ef9589b4395d5e.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dcdb4cd8507d93ecad10ae54b28d9609453c0312
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
sd/sdhci: Fix Buffer Write Ready interrupt
This interrupt is not risen after the last block is written to sd. It
is mutually exclusive with the end of transfer conditions. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
7ca9fd3e03ce1bec94aff08f607c15a0ec3d3371.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 656f416c65d8ddbfd17500676865f0ac8f960801
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
sd/sdhci.c: Only reset data_count on new commands
The data_count variable was being reset on every transfer, including
DMA transfer resumptions. This is incorrect, it should only be set
on a new command.
Manifests as a bug when using ADMA and there is a timer delay between
ADMA frames where the fifo is left in a non empty state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
15a98609cc32315211b0963091a8efd67522e160.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b0b7ae6259e96e775315357c813b74e85637bf32
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
xilinx_spips: lqspi: Fix byte/misaligned access
The LQSPI bus attachment supports byte/halfword and misaligned
accesses. Fixed. Refactored the LQSPI cache to be byte-wise
instead of word wise accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
5ec47b13563ad2d22105a1f26186d7756718394b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a66418f6f181ca6ee04e77896674253ff83db45e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
xilinx_spips: lqspi: Push more data to tx-fifo
Do 16 words per fifo flush. Increases performance and decreases
debug verbosity. This data depth has no real hardware analogue,
so just go with something that has reasonable performance.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
5621ee4621941d3639b5cacfdec26bd3148f31d5.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a5b6fa8d9bdeec71f4f92e8b7a31fc344ef512f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Multiple debug verbosity levels
The debug printfs on every SPI operation is extremely verbose. Add
a second level of debug for this.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
f63478b8e5b29cc011cdc10e29f8537bb2fc2b5e.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c37fc509d288ff693e42b2025451241fdd481948
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Debug msgs for Snoop state
This is worth keeping track of when debugging the device model.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
d3b44ecf23d671798b062eee5dc362c716ea54cd.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9151da25a71a171d19beec107a8ee2066cb65e7c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Fix striping behaviour
The QSPI controller was using byte-wide stripes when striping across
the two flashes in dual parallel mode. The real hardware however uses
individual bit striping. QEMU misbehaves in the (corner) case where
data is written/read in dual-parallel mode and read/written back in
single mode.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
718a61df1bf746ec06f6da44d12f8317af7b08ce.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2133a5f6b8f8941a6a3734c6c1990656553de76c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Fix CTRL register RW bits
The CTRL register was RAZ/WI on some of the RW bits. Even though the
function behind these bits is invalid in QEMU, they should still be
guest accessible. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
b7aaad93163ce4af0c428635804ac7b77a567b25.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 15408b428f5b4db56da555fbda4f1aaf40d77f4b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: lqspi: Dont touch config register
The LQSPI mode is supposed to work via the automatic CS mode feature
rather than manipulate CS lines itself. Now that auto CS is implemented
remove LQSPIs CS mode override logic. There is still a need to
manipulate the U_PAGE bit in LQSPI config register to implement
dual-stack mode however.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
000c8dd54df09523f17052638100722ef0f5a3af.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4f08ffe134810307cebd66f2cbcffe5cd707915
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Implement automatic CS
Implement the automatic CS control feature. If the MANUAL_CS bit is
cleared then the chip select stay de-asserted as long as the tx FIFO
is empty.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
1d67383adc42761af715a93f161344b9284dfc9a.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e100f3be0cccc58692b3988ec2e35cd8b906ca05
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Add automatic start support
SPI has a mode where it automatically starts based on tx fifo
occupancy. Implemented.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
f4e9accb5de87b526fff6ed937f63278db76533b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b5cd9143e78da8ea9e17fa523aacbedd267aae54
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Trash LQ page cache on mode change
Invalidate the LQSPI cached page when transitioning into LQSPI mode.
Otherwise there is a possibility that the controller will return stale
data to the guest when transitioning back to LQ_MODE after a page
program.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
677490a6ee1953fe5d366e599d665de645ac84db.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 10e60b35d04359fba1d759925018204527a1b9f5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Fix QSPI FIFO size
QSPI has a bigger FIFO than the regular SPI controller. Differentiate
between the two with correct FIFO sizes for each.
This is the first piece of class data for SPIPS, so this patch sees
the creation of the XilinxSPIPSClass definition and assoicated QOM
constructs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
acee25dd5e203215cbc15ca5d3cb5d5b2efebe7b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit abef5fa6438d654de59dfa083166f41a4067f6b7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Add verbose LQSPI debug output
You really need this is you want to track a guest banging on LQSPI.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
26e508da4af11058d37daa777064c9e5c2a69abb.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3ea728d0c87011845666caedc582eaa9629797db
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Inhibit interrupts in LQSPI mode
The real hardware does not produce interrupts in LQSPI mode. Inhibit
generation of interrupts when the LQ_MODE bit is set.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
dff794a06872009ea7e5733ce6adcff94d18bbd0.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 87920b44a1e04a45bf74ee0a88a2dfa51c65acdb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Make interrupts clear on read
By default these interrupts are clear on read.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
999ff0091ed3cc3969a431bf55c00ef934cecc8e.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6b91f0155b9338b7fa53d1d64f4e40c43a5d3bba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: seperate SPI and QSPI as two classes
Make SPI and QSPI different classes. QSPIPS is setup as a child of SPIPS.
Only QSPI has the LQSPI functionality, so move all that to the child
class.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
2cdd0cadb5ba77ca02fde5cae627852dc9a64c71.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9cdf79d068f52f7de347cb45cfd8903519410e4d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon May 27 16:46:01 2013 +0000
xen: use pc_init_pci instead of pc_init_pci_no_kvmclock
Call kvmclock_create only if kvmclock_enabled.
Use pc_init_pci on Xen rather than pc_init_pci_no_kvmclock.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 95222d0945ac8e7fea2adf2fc927634ff3ea1389
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu May 30 16:52:44 2013 +0000
xen: remove xen_vcpu_init
No need for xen_vcpu_init anymore:
- the RTC emulator doesn't have any periodic timers continuously running
even in absence of guest interactions anymore;
- qemu_dummy_start_vcpu takes care of disabling TCG for us, so we don't
need to do it manually here.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 9f24a8030a70ea4954b5b8c48f606012f086f65f
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:37:45 2013 +0000
xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)
We are currently setting the PCI hole to start at HVM_BELOW_4G_RAM_END,
that is 0xf0000000.
Start the PCI hole at 0xe0000000 instead, that is the same value used by
pc_init1 and qemu-xen-traditional.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 58ee9b0ae05d81c74d6869a25ce4263fc22ed809
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:31 2013 +0000
xen_machine_pv: do not create a dummy CPU in machine->init
This fixes a regression introduced by:
commit 62fc403f11523169eb4264de31279745f48e3ecc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 18:54:13 2013 +0200
target-i386: Attach ICC bus to CPU on its creation
X86CPU should have parent bus so it could provide bus for child APIC.
The commit makes it mandatory to pass a valid ICC bus to cpu_x86_create,
but cpu_x86_init just passes NULL to it.
xen_machine_pv uses cpu_x86_init, therefore it has been broken.
This patch fixes the problem by removing the dummy CPU creation
altogether from xen_init_pv, relying on the fact that QEMU can now cope
with a machine without an emulated CPU.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
CC: imammedo@xxxxxxxxxx
CC: qemu-stable@xxxxxxxxxx
commit a7d4207d378069a5bb3175a131e8fdedd39ef97d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:43 2013 +0000
main_loop: do not set nonblocking if xen_enabled()
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 49fa9881b2358e390e9e9466ddde74e995927efa
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:48 2013 +0000
xen: simplify xen_enabled
No need for preprocessor conditionals in xen_enabled: xen_allowed is
always defined.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 5866e078770cba631a33e6d3062afa7a4068adf8
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Thu May 30 18:50:50 2013 +0000
Fix rfe instruction
The rfe instruction has been broken since patch
5a839c0d54fac9db0516904db873a4fe01f50f4b because of a typo.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8b779b368b3b45d5ed3160173499eeafee4d567c
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Mon May 6 19:14:52 2013 +0200
po/hu.po: Hungarian translation for the GTK+ interface
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1367860492-3357-1-git-send-email-akoskovacs@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 40459a0312569817f622926efd0780ef2299aaa1
Merge: 7087d3d... 37352df...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 08:37:54 2013 -0500
Merge remote-tracking branch 'kraxel/usb.83' into staging
# By Gerd Hoffmann (5) and others
# Via Gerd Hoffmann
* kraxel/usb.83:
xhci: add live migration support
xhci: add xhci_init_epctx
xhci: add xhci_alloc_epctx
xhci: add XHCISlot->addressed
pci: add VMSTATE_MSIX
host-libusb: Correct test for USB packet state
Fix usage of USB_DEV_FLAG_IS_HOST flag.
Message-id: 1370253951-12323-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7087d3df18b8e8d27a2115dfc5d56614073e55de
Merge: f10acc8... a4cc73d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 08:37:44 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Ed Maste (3) and others
# Via Michael Tokarev
* mjt/trivial-patches:
do not check pointers after dereferencing them
m25p80: Add Micron n25q032a
qemu: fix out of tree cross compile
slirp: cleanup leftovers from misc.h
migration: Remove duplicate bandwidth_limit set
docs: Fix typo and update file in migration
configure: try pkg-config ncurses first
rtc: remove rtc_set_date
linux-user: Fix typo in comment
configure: remove confusing file manipulation
debugcon: fix compiler warning when open DEBUG_DEBUGCON
debugcon: make debug message more readable
debugcon: fix always print "addr=0x0, val=0x0" bug when use
DEBUG_DEBUGCON
Remove unnecessary break statements
don't run pkg-config for features explicitly disabled
Message-id: 51A9CCFB.1000109@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 37352df30fbc38d1de464db8927536d5e36cf52a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:55:35 2013 +0100
xhci: add live migration support
With all preparing pieces in place we can finally drop in
the vmstate structs and the postload function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 003e15a180373048f0c1f4df0bfe303746eb2676
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 10:11:22 2013 +0200
xhci: add xhci_init_epctx
Factor out endpoint context initialization to a separate function.
xhci live migration will need that too, in post_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 492b21f63fa655e0271abef4784cc337dd1d3fe7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 09:33:35 2013 +0200
xhci: add xhci_alloc_epctx
Factor out endpoint context allocation to a separate function.
xhci live migration will need that too, in post_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4034e6938a4cba090a8fac02499c8a9567201665
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 12:37:32 2013 +0200
xhci: add XHCISlot->addressed
Preparing for live-migration support, post_load will need that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 340b50c759d6b4ef33e514c40afcc799c0d7df7a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 7 15:16:58 2013 +0200
pci: add VMSTATE_MSIX
Using a trick cut+pasted from vmstate_scsi_device
to wind up msix_save and msix_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45ec267160307ce2ca7494d942589ba222b29479
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue May 7 10:06:12 2013 -0400
host-libusb: Correct test for USB packet state
USB_RET_ASYNC is -6, so inflight was always false.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 756335292f2b46775992c314cc70b54480a46d26
Author: Michael Marineau <mike@xxxxxxxxxxxx>
Date: Sun May 12 19:19:37 2013 -0400
Fix usage of USB_DEV_FLAG_IS_HOST flag.
USB_DEV_FLAG_IS_HOST is the bit number, not value. Booting with a
"Fitbit Base Station" USB dongle was triggering this assert.
Signed-off-by: Michael Marineau <mike@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f10acc8b38d65a66ffa0588a036489d7fa6a593e
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Jun 2 17:23:00 2013 +0100
tcx: Fix 24-bit display mode
Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit
mode of
the tcx display adapter by accidentally passing in the final address of
the
dirty region to memory_region_reset_dirty() instead of its size.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c3c4fe35be9f6c37388ba7615c6c33e8f4034438
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 15:59:06 2013 +0300
pvpanic: use FWCfgState explicitly
Use the type-safe FWCfgState structure instead
of the unsafe void *.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cac122103abac633d7b39aac87273bf6d5a37588
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 16:21:24 2013 +0300
fw_cfg: fw_cfg is a singleton
Make sure we only have a single instance ever:
because if it isn't we can't find it so it's
useless anyway.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 600c60b76d0682f6c39d19bfff79da9321e8cf86
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 16:07:58 2013 +0300
fw_cfg: add API to find FW cfg object
Remove some code duplication by adding a
function to look up the fw cfg file.
This way, we don't need to duplicate same strings everywhere.
Use by both fw cfg and pvpanic device.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45936c8b79012da4c8986c20af4afcc9cd14bb8e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 16:27:06 2013 +0300
fw_cfg: move typedef to qemu/typedefs.h
Less header dependencies this way.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a88b362c6ffbb7a802bf0ed5ef0e2447164dc989
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Apr 16 02:24:08 2013 +0200
refer to FWCfgState explicitly
Currently some places use pointer-to-void even though they mean
pointer-to-FWCfgState. Clean them up.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit edf9735e40841298874ee308fdecca2ac2aa5bdf
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 14:11:02 2013 +0300
apic: rename apic specific bitopts
apic has its own version of bitops, with the
difference that it works on u32 and not long.
Add apic_ prefix to avoid namespace clashes.
We should look into reusing standard bitops long-term,
but that's not entirely trivial.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ec0503b4f0a37b55fedc164185369bf5f0030f7b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:13:06 2013 +0300
firmware_abi: move to include/hw/nvram/
firmware_abi.h with structs for OpenBIOS landed in hw/sparc/ by mistake
- move it to hw/nvram/ alongside fw_cfg.h. In addition to sparc it's
included from ppc mac_nvram.c and will need to include it from prep.c in
the future.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbef02f819b05112cb626a955d8c86e30afe6a9f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:09:20 2013 +0300
dec.c - move to pci-bridge
Looks like dec.c is in pci-host by mistake.
Moving it over to pci-bridge.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a4cc73d629d43c8a4d171d043ff229a959df3ca6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 14:00:27 2013 +0200
do not check pointers after dereferencing them
Two instances, both spotted by Coverity. In one, two blocks were
swapped. In the other, the check is not needed anymore.
Cc: qemu-stable@xxxxxxxxxx
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cd2e64ce306910f6a627d899e6779eda33f8511c
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 29 09:58:29 2013 -0400
m25p80: Add Micron n25q032a
Based on the datasheet at
http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_32mb_1_8v_65nm.pdf
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a585140dd546ffb606ec506b362ab9decf1ab14e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed May 29 23:30:43 2013 +1000
qemu: fix out of tree cross compile
The symlink to "asm" platform linux headers is made in the build tree by
the configure script but gcc is not told to look for them there.
The patch fixes this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a9c34e4485ef0a8a61e88f1c9f9bb87f00ba2c72
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue May 28 00:46:10 2013 +0400
slirp: cleanup leftovers from misc.h
There are quite a few leftover declarations in slirp/misc.h.
Remove them.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 12cd30e9c026e03db908785276057c5a3d912596
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 27 18:33:02 2013 +0800
migration: Remove duplicate bandwidth_limit set
bandwidth_limit is double set in migrate_init(), remove one.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7465dfeca065882c93424b23b14b2c9f31b16aa5
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 27 18:33:01 2013 +0800
docs: Fix typo and update file in migration
This patch fix some typo and update the file that already
moved.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cfeda5f4b8710b6ba14131df8e287021b729b784
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Fri May 24 16:07:00 2013 -0400
configure: try pkg-config ncurses first
When probing for ncurses, try pkg-config first rather than after
explicit -lncurses and -lcurses. This fixes static linking in the case
that ncurses has additional dependencies, such as -ltinfo (as on FreeBSD).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d720e9831cab9934079d36a5fe3ebcdded4cb3a7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed May 22 13:33:12 2013 +0800
rtc: remove rtc_set_date
Since it's not defined and used anywhere.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d2d6b8576ccf0de429fb96ea6ab9669d8e916085
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 17:20:50 2013 +0800
linux-user: Fix typo in comment
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cbc8d595ef21635b630dd1cad54eb730ae6620a1
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 22 09:21:39 2013 -0400
configure: remove confusing file manipulation
The configure script had some code to manipulate config-host.ld~ (i.e.,
a common backup filename), comparing it with the newly-generated file.
I believe the sense of the comparison was backwards.
Since it seemed to serve little purpose anyway, remove it to avoid any
confusion.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 668fca91d48a7d55a0e3911447b078679f2ce986
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:33 2013 +0800
debugcon: fix compiler warning when open DEBUG_DEBUGCON
compiler warnings:
CC hw/char/debugcon.o
hw/char/debugcon.c: In function â??debugcon_ioport_writeâ??:
hw/char/debugcon.c:58: warning: format â??%02xâ?? expects type
â??unsigned intâ??, but argument 3 has type â??uint64_tâ??
hw/char/debugcon.c: In function â??debugcon_ioport_readâ??:
hw/char/debugcon.c:70: warning: format â??%04xâ?? expects type
â??unsigned intâ??, but argument 2 has type â??hwaddrâ??
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6ee28469fc41af5cc7d5b470ec9a1a078177fa7
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:32 2013 +0800
debugcon: make debug message more readable
before change:
Bdebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x74
tdebugcon: write addr=0x0000 val=0x69
idebugcon: write addr=0x0000 val=0x6e
ndebugcon: write addr=0x0000 val=0x67
gdebugcon: write addr=0x0000 val=0x20
debugcon: write addr=0x0000 val=0x66
after change:
B [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x74]
t [debugcon: write addr=0x0000 val=0x69]
i [debugcon: write addr=0x0000 val=0x6e]
n [debugcon: write addr=0x0000 val=0x67]
g [debugcon: write addr=0x0000 val=0x20]
[debugcon: write addr=0x0000 val=0x66]
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8c1f72da6b11051c48a642f7de7048956383e217
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:31 2013 +0800
debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON
when use DEBUG_DEBUGCON, screen spits:
debugcon: write addr=0x0000 val=0x00
Rdebugcon: write addr=0x0000 val=0x00
udebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
gdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
pdebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
rdebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
mdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
adebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
Oh, that's wrong, val is not always be 0.
this bug caused by lack of length modifier
for specifier 'x'.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6681fca3fc5f44eff68a0c0b2e62694f8579ce28
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri May 24 12:19:25 2013 +0200
Remove unnecessary break statements
Fix these warnings from cppcheck:
hw/display/cirrus_vga.c:2603:
hw/sd/sd.c:348:
hw/timer/exynos4210_mct.c:1033:
target-arm/translate.c:9886:
target-s390x/mem_helper.c:518:
target-unicore32/translate.c:1936:
style: Consecutive return, break, continue, goto or throw statements are
unnecessary.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a3605bf696a30e793d375b6c4ff1fd88ec546010
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat May 25 13:17:21 2013 +0400
don't run pkg-config for features explicitly disabled
We test pkg-config for curses and curl even if those are explicitly
disabled. Move these tests inside `if "$feature" != "no"' sections.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dec3fc9657e0682637de4d5a29d947284d01985c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed May 29 12:30:51 2013 -0700
target-i386: Fix aflag logic for CODE64 and the 0x67 prefix
The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR.
While fixing this, tidy and comment the code so that it's more obvious
what's going on in setting both aflag and dflag.
The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the
constant zero when TARGET_X86_64 is undefined.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369855851-21400-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39c93c67c5995bd8db7a3fa3b95dcd4e6bc881a7
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu May 23 13:51:41 2013 +0200
s390/ipl: Fix spurious errors in virtio
With the ccw ipl code sometimes an error message like
"virtio: trying to map MMIO memory" or
"Guest moved used index from %u to %u" appeared. Turns out
that the ccw bios did not zero out the vring, which might
cause stale values in avail->idx and friends, especially
on reboot.
Lets zero out the relevant fields. To activate the patch we
need to rebuild s390-ccw.img as well.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1369309901-418-1-git-send-email-borntraeger@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a1f348c429a6af0ba6448e5b3ae08dbc8e28696
Merge: 6c8df7a... f2e3978...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:33:02 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-05-30' into staging
# By Laszlo Ersek
# Via Michael Roth
* mdroth/qga-pull-2013-05-30:
Makefile: create ".../var/run" when installing the POSIX guest agent
qga: save state directory in ga_install_service()
qga: remove undefined behavior in ga_install_service()
qga: create state directory on win32
configure: don't save any fixed local_statedir for win32
qga: determine default state dir and pidfile dynamically
osdep: add qemu_get_local_state_pathname()
Message-id: 1369940341-9043-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c8df7a33ade90c8c96b01655520c7e9b69b46c0
Merge: cdf79b6... bff6347...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:32:32 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (1) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
target-i386: Fix mask of pte index in memory mapping
target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses
qapi: pad GenericList value fields to 64 bits
Message-id: 1370009905-4255-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdf79b6454abe13aec89d4be7cf59b3e841a7faf
Merge: fd21faa... fd8aaa7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:32:25 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (22 commits)
memory: add return value to address_space_rw/read/write
memory: propagate errors on I/O dispatch
exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses
memory: correctly handle endian-swapped 64-bit accesses
memory: split accesses even when the old MMIO callbacks are used
memory: add big endian support to access_with_adjusted_size
memory: accept mismatching sizes in memory_region_access_valid
memory: add address_space_access_valid
exec: implement .valid.accepts for subpages
memory: export memory_region_access_valid to exec.c
exec: introduce memory_access_size
exec: introduce memory_access_is_direct
exec: expect mr->ops to be initialized for ROM
memory: assign MemoryRegionOps to all regions
memory: move unassigned_mem_ops to memory.c
memory: add address_space_translate
memory: dispatch unassigned accesses based on .valid.accepts
exec: do not use error_mem_read
exec: make io_mem_unassigned private
cputlb: simplify tlb_set_page
...
Message-id: 1369947836-2638-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bff63471ced94e3a6de76b1a7375a875178d6cdc
Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Thu May 30 17:07:54 2013 +0200
target-i386: Fix mask of pte index in memory mapping
Function walk_pte() needs pte index to calculate virtual address.
However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask
should be 0x1ff.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fbc2ed9518efcdcdcbf0adb9539c17a65addd20a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue May 28 14:19:22 2013 -0400
target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses
The code used to walk IA-32e page-tables, and possibly PAE page-tables,
uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address.
However, as we use a uint64_t to store the resulting address, that mask
gets expanded to 0xfffffffffffff000 which not only ends up selecting
reserved bits but also selects the XD bit (execute-disable) which
happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort.
This commit fixes that problem by replacing ~0xfff by a correct mask
that only selects the address bit range (ie. bits 51:12).
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit fd21faadb12669e24eaf0a277de61c24fcde4cac
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed May 29 16:30:01 2013 -0400
seccomp: add the asynchronous I/O syscalls to the whitelist
In order to enable the asynchronous I/O functionality when using the
seccomp sandbox we need to add the associated syscalls to the
whitelist.
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Message-id: 20130529203001.20939.83322.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu May 30 13:20:40 2013 +0200
gdbstub: do not restart crashed guest
If a guest has crashed with an internal error or similar, detaching
gdb (or any other debugger action) should not restart it.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1369912840-18577-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bbfa18fca4e44ff9c23d36b50d8a998af9c9e9fc
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed May 29 15:56:42 2013 +0800
qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path
Recent virtio refactoring in QEMU made virtio-bus become the parent bus
of scsi-bus, and virtio-bus doesn't have get_fw_dev_path implementation,
typename will be added to fw_dev_path by default, the new fw_dev_path
could not be identified by seabios. It causes that bootindex parameter
of scsi device doesn't work.
This patch implements get_fw_dev_path() in BusClass, it will be called
if bus doesn't implement the method, tyename will be added to
fw_dev_path. If the implemented method returns NULL, nothing will be
added to fw_dev_path.
It also implements virtio_bus_get_fw_dev_path() to return NULL. Then
QEMU will still pass original style of fw_dev_path to seabios.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1369814202-10346-1-git-send-email-akong@xxxxxxxxxx
--
v2: only add nothing to fw_dev_path when get_fw_dev_path() is
implemented and returns NULL. then it will not effect other devices
don't have get_fw_dev_path() implementation.
v3: implement default get_fw_dev_path() in BusClass
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f2e3978b5a72870b061d29948075dccc0a72db8e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 07:13:14 2013 +0200
Makefile: create ".../var/run" when installing the POSIX guest agent
Otherwise the default local state directory of POSIX qga won't exist after
installation with a non-standard ${prefix} or DESTDIR.
For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so
don't create that directory either unless we're installing the agent.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a839ee77c786a8200c76ca92f697eebf6bcc9aa3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:53 2013 +0200
qga: save state directory in ga_install_service()
If the user selects a non-default state directory at service installation
time, we should remember it in the registered service.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a880845f3d92e508e43fcc38f0631b91c203e5d5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:52 2013 +0200
qga: remove undefined behavior in ga_install_service()
We shouldn't snprintf() from a buffer to the same buffer.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit bf12c1fa8c78e3c667f2fe2ecc656f4f3cfb914e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:51 2013 +0200
qga: create state directory on win32
On Win32 the local state directory is application specific and users might
expect qemu-ga to create it automatically.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5a699bbbf300902141d2458682d05cd310d7a07f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:50 2013 +0200
configure: don't save any fixed local_statedir for win32
... because now we can get the dynamic value with
qemu_get_local_state_pathname().
The only user of the fixed value was the guest agent, which we've moved to
qemu_get_local_state_pathname() in the previous patch.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c394ecb7bf55b7234f852b9c8518aefb5d0943fa
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:49 2013 +0200
qga: determine default state dir and pidfile dynamically
No effective change on POSIX, but on Win32 the defaults come from the
environment / session.
Since commit 39097daf ("qemu-ga: use key-value store to avoid recycling fd
handles after restart") we've relied on the state directory for the fd
handles' key-value store. Even though we don't support the guest-file-*
commands on win32 yet, the key-value store is written, and it's the first
use of the state directory on win32. We should have a sensible default for
its location.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e2ea3515a9d2d747f91dadf361afcbeb57a71500
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:48 2013 +0200
osdep: add qemu_get_local_state_pathname()
This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems,
and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32.
http://msdn.microsoft.com/en-us/library/bb762494.aspx
[...] This folder is used for application data that is not user
specific. For example, an application can store a spell-check
dictionary, a database of clip art, or a log file in the
CSIDL_COMMON_APPDATA folder. [...]
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 68c0e134a090666246b467deaf9046e573b089f2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 11:35:23 2013 +0300
q35: set fw_name
PCI host bridges need to set fw_name to be discoverable
by bios for boot device selection.
In particular, seabios expects root device to be called
"/pci/@i0cf8", so let's set it up like that for Q35.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
commit a678e26cbe89f7a27cbce794c2c2784571ee9d21
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Sun May 26 22:20:58 2013 -0500
qapi: pad GenericList value fields to 64 bits
With the introduction of native list types, we now have types such as
int64List where the 'value' field is not a pointer, but the actual
64-bit value.
On 32-bit architectures, this can lead to situations where 'next' field
offset in GenericList does not correspond to the 'next' field in the
types that we cast to GenericList when using the visit_next_list()
interface, causing issues when we attempt to traverse linked list
structures of these types.
To fix this, pad the 'value' field of GenericList and other
schema-defined/native *List types out to 64-bits.
This is less memory-efficient for 32-bit architectures, but allows us to
continue to rely on list-handling interfaces that target GenericList to
simply visitor implementations.
In the future we can improve efficiency by defaulting to using native C
array backends to handle list of non-pointer types, which would be more
memory efficient in itself and allow us to roll back this change.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fd8aaa767ab5d804c2aa156a616b8ca8837916b0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 09:56:55 2013 +0200
memory: add return value to address_space_rw/read/write
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 791af8c861f4537ad29c34df14fb81701e04596f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 16:10:39 2013 +0200
memory: propagate errors on I/O dispatch
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a649b9168cb9169b41532b168b94294e2be32e50
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:40:43 2013 +0200
exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses
The memory API is able to split it in two 4-byte accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 968a5627c80ff2b9fd1ed40f9400897088bd661a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:58:37 2013 +0200
memory: correctly handle endian-swapped 64-bit accesses
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce5d2f331ec42b43f92aa4c57fdaaf4c34ccb377
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:45:48 2013 +0200
memory: split accesses even when the old MMIO callbacks are used
This is useful for 64-bit memory accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:54:01 2013 +0200
memory: add big endian support to access_with_adjusted_size
This will be used to split 8-byte access down to two four-byte accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a014ed07bd5a93950fe12c88ed5faf188a22ee01
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:48:52 2013 +0200
memory: accept mismatching sizes in memory_region_access_valid
The memory API is able to use smaller/wider accesses than requested,
match that in memory_region_access_valid. Of course, the accepts
callback is still free to reject those accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 51644ab70ba125cb9545702d64890743d75b444b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 15:40:59 2013 +0200
memory: add address_space_access_valid
The old-style IOMMU lets you check whether an access is valid in a
given DMAContext. There is no equivalent for AddressSpace in the
memory API, implement it with a lookup of the dispatch tree.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c353e4cc08a2fce7c505dd0d04512ef3947adff8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:02:39 2013 +0200
exec: implement .valid.accepts for subpages
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d2702032b4746515cff0bf29891a6b6decfc3d86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 11:55:06 2013 +0200
memory: export memory_region_access_valid to exec.c
We'll use it to implement address_space_access_valid.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82f2563fc81532e24380085d23a9d32c17b74169
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 11:59:43 2013 +0200
exec: introduce memory_access_size
This will be used by address_space_access_valid too.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2bbfa05d20067de0d032d832ae22c1041f4c89c2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:29:54 2013 +0200
exec: introduce memory_access_is_direct
After the previous patches, this is a common test for all read/write
functions.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d17d45e95f497e67aa48ff9e49a4ad62bb1e17df
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:21:01 2013 +0200
exec: expect mr->ops to be initialized for ROM
There is no need to use the special phys_section_rom section.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2cdfcf272d1a38e22879aecae83e95be51369b2d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:55:52 2013 +0200
memory: assign MemoryRegionOps to all regions
This allows to remove the checks on section->readonly. Simply,
write accesses to ROM will not be considered "direct" and will
go through mr->ops without any special intervention.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d197063fcf969e1269dc53c9c9e9a073f87aa3b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:23:38 2013 +0200
memory: move unassigned_mem_ops to memory.c
reservation_ops is already doing the same thing.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 149f54b53b7666a3facd45e86eece60ce7d3b114
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:59:37 2013 +0200
memory: add address_space_translate
Using phys_page_find to translate an AddressSpace to a MemoryRegionSection
is unwieldy. It requires to pass the page index rather than the address,
and later memory_region_section_addr has to be called. Replace
memory_region_section_addr with a function that does all of it: call
phys_page_find, compute the offset within the region, and check how
big the current mapping is. This way, a large flat region can be written
with a single lookup rather than a page at a time.
address_space_translate will also provide a single point where IOMMU
forwarding is implemented.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b018ddf633f77195e9ae859c6d940a334e68879f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:48:38 2013 +0200
memory: dispatch unassigned accesses based on .valid.accepts
This provides the basics for detecting accesses to unassigned memory
as soon as they happen, and also for a simple implementation of
address_space_access_valid.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bf8d5166395612b4e856fad57606eb0cff97ae2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:39:13 2013 +0200
exec: do not use error_mem_read
We will soon reach this case when doing (unaligned) accesses that
span partly past the end of memory. We do not want to crash in
that case.
unassigned_mem_ops and rom_mem_ops are now the same.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0844e007624acb6dbf45bfb232286ce9502b424e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:37:28 2013 +0200
exec: make io_mem_unassigned private
There is no reason to avoid a recompile before accessing unassigned
memory. In the end it will be treated as MMIO anyway.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f3e03cb73dce9eac207cfe0f37d87d6490421a0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 16:45:30 2013 +0200
cputlb: simplify tlb_set_page
The same "if" condition is repeated twice.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ae4e43e80f3e1e65d096ebbc643eed9d763e1441
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:14:05 2013 +0200
exec: drop useless #if
This code is only compiled for softmmu targets.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2a8e7499093cd33a607ebd7c1cd591169aa68a3e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:34:08 2013 +0200
exec: eliminate io_mem_ram
It is never used, the IOTLB always goes through io_mem_notdirty.
In fact in softmmu_template.h, if it were, QEMU would crash just
below the tests, as soon as io_mem_read/write dispatches to
error_mem_read/write.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 87d23f78aa79b72da022afda358bbc8a8509ca70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue May 28 13:20:23 2013 +0300
virtio-pci: drop unused wmb macro
The implementation is wrong for kvm, and it's unused anyway.
Drop it.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130528102023.GA30055@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 04129606170ec9011d4952b4f22c368679bedbf9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon May 27 15:28:51 2013 +0200
tests: set MALLOC_PERTURB_ to expose memory bugs
glibc wipes malloc(3) memory when the MALLOC_PERTURB_ environment
variable is set. The value of the environment variable determines the
bit pattern used to wipe memory. For more information, see
http://udrepper.livejournal.com/11429.html.
Set MALLOC_PERTURB_ for gtester and qemu-iotests. Note we pick a random
value from 1 to 255 to expose more bugs. If you need to reproduce a
crash use 'show environment' in gdb to extract the MALLOC_PERTURB_
value from a core dump.
Both make check and qemu-iotests pass with MALLOC_PERTURB_ enabled.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1369661331-28041-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dafb82e0fc89b631d25f8def649fbfd14fec3db2
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:27 2013 -0700
pc_sysfw: allow flash (-pflash) memory to be used with KVM
When pc-sysfw.rom_only == 0, flash memory will be
usable with kvm. In order to enable flash memory mode,
a pflash device must be created. (For example, by
using the -pflash command line parameter.)
Usage of a flash memory device with kvm requires
KVM_CAP_READONLY_MEM, and kvm will abort if
a flash device is used with an older kvm which does
not support this capability.
If a flash device is not used, then qemu/kvm will
operate in the original rom-mode.
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-5-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 235e8982ad393e5611cb892df54881c872eea9e1
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:26 2013 -0700
kvm: support using KVM_MEM_READONLY flag for regions
For readonly memory regions and rom devices in romd_mode,
we make use of the KVM_MEM_READONLY. A slot that uses
KVM_MEM_READONLY can be read from and code can execute from the
region, but writes will exit to qemu.
For rom devices with !romd_mode, we force the slot to be
removed so reads or writes to the region will exit to qemu.
(Note that a memory region in this state is not executable
within kvm.)
v7:
* Update for readable => romd_mode rename (5f9a5ea1)
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> (v4)
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (v5)
Message-id: 1369816047-16384-4-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit df9c8b758a04825e23f82427001028342b92d0cf
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:25 2013 -0700
kvm: add kvm_readonly_mem_enabled
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-3-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dade922f357c709c02eed2e1b1891453896756dd
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:24 2013 -0700
isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS)
The isapc machine with seabios currently requires the BIOS region
to be read/write memory rather than read-only memory.
KVM currently cannot support the BIOS as a ROM region, but qemu
in non-KVM mode can. Based on this, isapc machine currently only
works with KVM.
To work-around this isapc issue, this change avoids marking the
BIOS as readonly for isapc.
This change also will allow KVM to start supporting ROM mode
via KVM_CAP_READONLY_MEM.
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-2-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 338ea905e948613607c98346e127fc9472c57f0d
Merge: 1afd566... db431f6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:13:20 2013 -0500
Merge remote-tracking branch 'aneesh/for-upstream' into staging
# By Aneesh Kumar K.V (3) and Gabriel de Perthuis (1)
# Via Aneesh Kumar K.V
* aneesh/for-upstream:
hw/9pfs: Be robust against paths without FS_IOC_GETVERSION
hw/9pfs: Use O_NOFOLLOW when opening files on server
hw/9pfs: use O_NOFOLLOW for mapped readlink operation
hw/9pfs: Fix segfault with 9p2000.u
Message-id: 87zjvevx4s.fsf@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1afd566ce921493a13b3878662b5320aab7645d0
Merge: 46a352a... 2ba9de6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:13:09 2013 -0500
Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging
# By Peter Maydell
# Via Andreas Färber
* afaerber-or/cocoa-for-upstream:
cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory
cocoa: Avoid deprecated NSOpenPanel filename method
cocoa: Avoid deprecated CPS* functions
cocoa: Fix leaks of NSScreen and NSConcreteMapTable
commit 46a352a7d7a47b3733ae76c0a0906d6934f81fc0
Merge: c199707... 60d9538...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:12:53 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.6' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.6:
chardev: fix "info chardev" output
Revert "chardev: Get filename for new qapi backend"
Message-id: 1369722844-24345-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c199707ad0dcbb4a72e7435551c7f23b9606a063
Merge: 6a4e177... 6683d7b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:12:25 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.2.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2.2:
update seabios to release 1.7.2.2
Revert "roms: switch oldnoconfig to olddefconfig"
Message-id: 1369736932-16627-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ba9de6ed0455f5c55e4fb1841e1597204535430
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:49 2013 +0000
cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory
In MacOSX 10.6 and above the NSOpenPanel beginSheetForDirectory
method is deprecated. Use the preferred replacements instead.
We retain the original code for use on earlier MacOSX versions
because the replacement methods don't exist before 10.6.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 8bb3f1e3742ca8d26af7156e14068435437918a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:48 2013 +0000
cocoa: Avoid deprecated NSOpenPanel filename method
Avoid the NSOpenPanel filename method (deprecated in MacOSX 10.6)
in favour of using the URL method and extracting the path from the
resulting NSUrl object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 42a5dfe75f455fe7f3619ce44b7eb025ba631ee8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:47 2013 +0000
cocoa: Avoid deprecated CPS* functions
The functions CPSGetCurrentProcess and CPSEnableForegroundOperation
are deprecated in newer versions of MacOSX and cause warning messages
to be logged to the system log. Instead, use the new preferred method
of promoting our console process up to a graphical app with menubar
and Dock icon, which is TransformProcessType. (This function came
in with MacOSX 10.3, so there's no need to retain the old method as
we don't support anything earlier than 10.3 anyway.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 6e657e64cdc478461c1e6a5e81c6d23115664326
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:46 2013 +0000
cocoa: Fix leaks of NSScreen and NSConcreteMapTable
On MacOSX 10.8 QEMU provokes system log messages:
11/03/2013 17:03:29.998 qemu-system-arm[42586]: objc[42586]: Object
0x7ffbf9c2f3b0 of class NSScreen autoreleased with no pool in place - just
leaking - break on objc_autoreleaseNoPool() to debug
11/03/2013 17:03:29.999 qemu-system-arm[42586]: objc[42586]: Object
0x7ffbf9c3a010 of class NSConcreteMapTable autoreleased with no pool in
place - just leaking - break on objc_autoreleaseNoPool() to debug
This is because we call back into Cocoa from threads other than
the UI thread (specifically from the CPU thread). Since we created
these threads via the POSIX API rather than NSThread, they don't have
automatically created autorelease pools. Guard all the functions where
QEMU can call back into the Cocoa UI code with autorelease pools
so that we don't leak any Cocoa objects.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 6683d7bc2759e9da8b5c4907a9de85d500933ffb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 28 12:17:50 2013 +0200
update seabios to release 1.7.2.2
git shortlog from 1.7.2.1
Asias He (2):
virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
Kevin O'Connor (1):
Cache boot-fail-wait to avoid romfile access after POST.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 19cd090e17b293b49eec59346df94a668f5d2438
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 28 12:09:41 2013 +0200
Revert "roms: switch oldnoconfig to olddefconfig"
This reverts commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181.
Breaks "make bios" in roms/ as the kconfig version in seabios doesn't
support olddefconfig. Must have been be totally untested.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit db431f6adc881a0758512cd765b3108209013512
Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx>
Date: Fri May 10 19:53:28 2013 +0200
hw/9pfs: Be robust against paths without FS_IOC_GETVERSION
9P optionally uses the FS_IOC_GETVERSION ioctl to get information about
a file's version (sometimes called generation number).
The code checks for supported filesystems at mount time, but some paths
may come from other mounted filesystems.
Change it to treat unsupported paths the same as unsupported
filesystems, returning 0 in both cases.
Note: ENOTTY is the error code for an unsupported ioctl.
This fix allows booting a linux kernel with the same / filesystem as the
host; otherwise the boot fails when mounting devtmpfs.
Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 0ceb092e35f9d8793d64d86194ec9463718dffa3
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 19:43:15 2013 +0530
hw/9pfs: Use O_NOFOLLOW when opening files on server
9p server should never follow a symlink. So use O_NOFOLLOW with all open
syscall
Tested-by: "M. Mohan Kumar" <mohan@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit aed858ce10ef09c7bdf03f73e75e772f567c74cd
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 17:28:29 2013 +0530
hw/9pfs: use O_NOFOLLOW for mapped readlink operation
With mapped security models like mapped-xattr and mapped-file, we save the
symlink target as file contents. Now if we ever expose a normal directory
with mapped security model and find real symlinks in export path, never
follow them and return proper error.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit c7e587b73ebac05943df78f5f37d80d32ff47d3d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 11:29:52 2013 +0530
hw/9pfs: Fix segfault with 9p2000.u
When guest tries to chmod a block or char device file over 9pfs,
the qemu process segfaults. With 9p2000.u protocol we use wstat to
change mode bits and client don't send extension information for
chmod. We need to check for size field to check whether extension
info is present or not.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Acked-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 60d95386abf1f5f37ded6a812d12ac458df2491b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 27 12:41:24 2013 +0200
chardev: fix "info chardev" output
Fill unset CharDriverState->filename with the backend name, so
'info chardev' will return at least the chardev type. Don't
touch it in case the chardev init function filled it already,
like the socket+pty chardevs do for example.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3022e6b472d0f6d56efbe890e0f1c94841b170d4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 27 12:38:58 2013 +0200
Revert "chardev: Get filename for new qapi backend"
Does not handle chardevs created via chardev-add monitor command.
This reverts commit 2b220025993e76d4116781ca91a4fabc5ad9c722.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Apr 14 18:10:28 2013 +0000
Remove Sun4c, Sun4d and a few CPUs
Sun4c and Sun4d architectures and related CPUs are not fully implemented
(especially Sun4c MMU) and there has been no interest for them.
Likewise, a few CPUs (Cypress, Ross etc) are only half implemented.
Remove the machines and CPUs, they can be re-added if needed later.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4f6ab397b60615d2da77bff4f32666be9ac2e949
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri May 24 19:01:07 2013 -0400
Remove OSS support for OpenBSD
Remove the OSS support for OpenBSD. The OSS API has not been usable
for quite some time.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5b35b4e91d4d023d44dc28437ae414a21e9b8117
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:03 2013 +0100
target-arm: Remove gen_{ld,st}* definitions
All the uses of the gen_{ld,st}* functions are gone now, so remove
the functions themselves.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e2592fad1720d848699f32e67882b611bbed2cb5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:02 2013 +0100
target-arm: Remove gen_{ld,st}* from thumb2 decoder
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c40c85560b6a9bf272dcc7de1beb8910f240bae8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:01 2013 +0100
target-arm: Remove gen_{ld,st}* from Thumb insns
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5a839c0d54fac9db0516904db873a4fe01f50f4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:00 2013 +0100
target-arm: Remove gen_{ld,st}* from basic ARM insns
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 94ee24e7fbb0d6d6fd63627c2e89d2513cb7b893
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:59 2013 +0100
target-arm: Remove use of gen_{ld,st}* from ldrex/strex
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 58ab8e96469955f8b575bfe1f6b1e992f8f36c0f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:58 2013 +0100
target-arm: Remove uses of gen_{ld,st}* from Neon code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 29531141a7658cfb9f6e5f72a685c3859a5fff8b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:57 2013 +0100
target-arm: Remove uses of gen_{ld,st}* from iWMMXt code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8ed1237d6401e0bd9461417b58b07e545bbc4b7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:56 2013 +0100
target-arm: Remove gen_ld64() and gen_st64()
gen_ld64() and gen_st64() are used only in one place, so just
expand them out.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 39d5492a186d156d4acc306ae258d7e04f8a6c29
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:55 2013 +0100
target-arm: Don't use TCGv when we mean TCGv_i32
TCGv changes size depending on the compile time value of
TARGET_LONG_BITS. This is useful for generating code for MIPS style
"instructions are the same but the register width changes" CPUs, and
also for the generic bits of QEMU which operate on "width of a
virtual address" values, but mostly in the ARM target code we were
using it purely as a shorthand for "any 32 bit value".
This needs to change in preparation for AArch64 support, since an
AArch64-capable v8 core will have 64 bit virtual addresses but still
use 32 bit values for the 32 bit instruction set.
This patch mechanically converts all the occurrences of TCGv,
tcg_temp_new(), tcg_temp_free(), tcg_temp_local_new() and
TCGV_UNUSED() to their explicitly 32 bit counterparts. This is
correct for everything except the arguments to tcg_gen_qemu_{ld,st}*,
which really do need to be TCGv and so will require a 32-to-64
conversion when building the 32 bit code for AArch64. Those changes
will be in a separate patch for easier review.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fd469df97ab4277411ecdd4032a2f045a3a87b2a
Merge: 4a542df... fd29893...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:42 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (11) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
memory: clean up phys_page_find
memory: populate FlatView for new address spaces
memory: limit sections in the radix tree to the actual address space
size
s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62
memory: fix address space initialization/destruction
memory: make memory_global_sync_dirty_bitmap take an AddressSpace
memory: do not duplicate memory_region_destructor_none
memory: Rename readable flag to romd_mode
memory: Replace open-coded memory_region_is_romd
memory: allow memory_region_find() to run on non-root memory regions
memory: assert that PhysPageEntry's ptr does not overflow
exec: eliminate stq_phys_notdirty
exec: make qemu_get_ram_ptr private
exec: eliminate qemu_put_ram_ptr
exec: remove obsolete comment
Message-id: 1369414987-8839-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a542df0910dff2caf17d6bb76bbf3704197db42
Merge: 4c5dad0... 00b7ade...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:33 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Alasdair McLeay (1) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/net:
rtl8139: flush queued packets when RxBufPtr is written
net: support for bridged networking on Mac OS X
Message-id: 1369406295-20411-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4c5dad040bce8f8c9924dc72cfac9380e4ffdc26
Merge: 64afc2b... 02ffb50...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:25 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Wenchao Xia (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
coroutine: stop using AioContext in CoQueue
coroutine: protect global pool with a mutex
qemu-iotests: Try creating huge qcow2 image
qcow2.py: Subcommand for changing header fields
qemu-io: Fix 'map' output
blockdev: Rename BlockdevAction -> TransactionAction
block: make all steps in qmp_transaction() as callback
block: package rollback code in qmp_transaction()
block: package committing code in qmp_transaction()
block: move input parsing code in qmp_transaction()
block: package preparation code in qmp_transaction()
Message-id: 1369405947-14818-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd2989341e758813351c2fc1446cc8fbcae06ad9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 20 12:21:07 2013 +0200
memory: clean up phys_page_find
Remove the goto.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f43793c7caab49c68b41c3b8524fc35b4c206856
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 15:39:51 2013 +0200
memory: populate FlatView for new address spaces
Even a new address space might have a non-empty FlatView. In order
to initialize it properly, address_space_init should (a) call
memory_region_transaction_commit after the address space is inserted
into the list; (b) force memory_region_transaction_commit to do something.
This bug was latent so far because all address spaces started empty,
including
the PCI address space where the bus master region is initially disabled.
However, the target address space of an IOMMU is usually rooted at
get_system_memory(), which might not be empty at the time the IOMMU is
created.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 86a8623692b1b559a419a92eb8b6897c221bca74
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:45 2012 +0200
memory: limit sections in the radix tree to the actual address space size
The radix tree is statically sized to fit TARGET_PHYS_ADDR_SPACE_BITS.
If a larger memory region is registered, it will overflow.
Fix by limiting any section in the radix tree to the supported size.
This problem was not observed earlier since artificial regions (containers
and aliases) are eliminated by the memory core, leaving only device
regions
which have reasonable sizes. An IOMMU however cannot be eliminated by the
memory core, and may have an artificial size.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[ Fail the build if TARGET_PHYS_ADDR_SPACE_BITS is too large - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 311f83ca08c011b048c063c2fd3038a8957970bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 15:54:44 2013 +0200
s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62
With the next patch, the memory API will complain if the
TARGET_PHYS_ADDR_SPACE_BITS gets dangerously close to an
overflow. s390x can handle up to 64 bit of physical address
space from its page tables, but we never use that much. Just
decrease the value.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4c19eb721a5929f2277d33a98bb59963c58c2e3b
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:44 2012 +0200
memory: fix address space initialization/destruction
A couple of fields were left uninitialized. This was not observed earlier
because all address spaces were statically allocated. Also free
allocation
for those fields.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1d671369c3f8eb2b5dfd0e1709688faba9b85f95
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 24 10:46:55 2013 +0200
memory: make memory_global_sync_dirty_bitmap take an AddressSpace
Since this is a MemoryListener operation, it only makes sense
on an AddressSpace granularity.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5553e3a5c95f4a842489384a2fafb27d7555a4ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 3 17:18:36 2013 +0200
memory: do not duplicate memory_region_destructor_none
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5f9a5ea1c0a8391033e7d33abd335dd804a1001a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue May 7 19:04:25 2013 +0200
memory: Rename readable flag to romd_mode
"Readable" is a very unfortunate name for this flag because even a
rom_device region will always be readable from the guest POV. What
differs is the mapping, just like the comments had to explain already.
Also, readable could currently be understood as being a generic region
flag, but it only applies to rom_device regions.
So rename the flag and the function to modify it after the original term
"ROMD" which could also be interpreted as "ROM direct", i.e. ROM mode
with direct access. In any case, the scope of the flag is clearer now.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4b81126e3399bfbcc47a4d696902c93401169f72
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon May 6 18:07:05 2013 +0200
memory: Replace open-coded memory_region_is_romd
Improves readability.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 73034e9e087aa51b85cf86b6c81ef92f7e1e9d09
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 15:48:28 2013 +0200
memory: allow memory_region_find() to run on non-root memory regions
memory_region_find() is similar to registering a MemoryListener and
checking for the MemoryRegionSections that come from a particular
region. There is no reason for this to be limited to a root memory
region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 68f3f65b09a1ce8c82fac17911ffc3bb6031ebe4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 11:30:23 2013 +0200
memory: assert that PhysPageEntry's ptr does not overflow
While sized to 15 bits in PhysPageEntry, the ptr field is ORed into the
iotlb entries together with a page-aligned pointer. The ptr field must
not overflow into this page-aligned value, assert that it is smaller than
the page size.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8b0d6711a276bdb9edcd9299b194c7c0d6b56a88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 20 12:40:58 2013 +0200
exec: eliminate stq_phys_notdirty
It is not used anywhere.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ee983cb3cc8f856b408a272269f434cc9a82ceff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 11:47:56 2013 +0200
exec: make qemu_get_ram_ptr private
It is a private interface between exec.c and memory.c.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4f39178b3ab54538759df92a38655063f5d59301
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 11:44:02 2013 +0200
exec: eliminate qemu_put_ram_ptr
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bbcfd2913cdb8623d1c57fa26bf481f34bf7989a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 15:33:16 2013 +0200
exec: remove obsolete comment
See how we call memory_region_section_addr two lines below to
convert a physical address to a base address in the region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 00b7ade807b5ce6779ddd86ce29c5521ec5c529a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed May 22 14:50:18 2013 +0200
rtl8139: flush queued packets when RxBufPtr is written
Net queues support efficient "receive disable". For example, tap's file
descriptor will not be polled while its peer has receive disabled. This
saves CPU cycles for needlessly copying and then dropping packets which
the peer cannot receive.
rtl8139 is missing the qemu_flush_queued_packets() call that wakes the
queue up when receive becomes possible again.
As a result, the Windows 7 guest driver reaches a state where the
rtl8139 cannot receive packets. The driver has actually refilled the
receive buffer but we never resume reception.
The bug can be reproduced by running a large FTP 'get' inside a Windows
7 guest:
$ qemu -netdev tap,id=tap0,...
-device rtl8139,netdev=tap0
The Linux guest driver does not trigger the bug, probably due to a
different buffer management strategy.
Reported-by: Oliver Francke <oliver.francke@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d73fe37e7bab4ef06b94c48b2a8d8952c03619d4
Author: Alasdair McLeay <alasdair.mcleay@xxxxxx>
Date: Thu May 9 19:44:30 2013 +0100
net: support for bridged networking on Mac OS X
tun tap can be implemented on Mac OS X using
http://tuntaposx.sourceforge.net
It behaves in the same way as FreeBSD/OpenBSD implementations, but Qemu
needs a patch to use the OpenBS/FreeBSD code.
As per the patch listed in this forum thread:
http://forum.gns3.net/post17679.html#p17679
And also as used in the MacPorts installation:
https://trac.macports.org/browser/trunk/dports/emulators/qemu/files/patch-net-tap-interface.diff
Signed-off-by: Alasdair McLeay <alasdair.mcleay@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02ffb504485f0920cfc75a0982a602f824a9a4f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri May 17 15:51:26 2013 +0200
coroutine: stop using AioContext in CoQueue
qemu_co_queue_next(&queue) arranges that the next queued coroutine is
run at a later point in time. This deferred restart is useful because
the caller may not want to transfer control yet.
This behavior was implemented using QEMUBH in the past, which meant that
CoQueue (and hence CoMutex and CoRwlock) had a dependency on the
AioContext event loop. This hidden dependency causes trouble when we
move to a world with multiple event loops - now qemu_co_queue_next()
needs to know which event loop to schedule the QEMUBH in.
After pondering how to stash AioContext I realized the best solution is
to not use AioContext at all. This patch implements the deferred
restart behavior purely in terms of coroutines and no longer uses
QEMUBH.
Here is how it works:
Each Coroutine has a wakeup queue that starts out empty. When
qemu_co_queue_next() is called, the next coroutine is added to our
wakeup queue. The wakeup queue is processed when we yield or terminate.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b84c4586234b26ccc875595713f6f4491e5b3385
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri May 17 15:51:25 2013 +0200
coroutine: protect global pool with a mutex
The coroutine freelist is a global pool of unused coroutines. It avoids
the setup/teardown overhead associated with the coroutine lifecycle.
Since the pool is global, we need to synchronize access so that
coroutines can be used outside the BQL.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd91ecbf5b43b52321c4d938e16a612b9c68bf06
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 14:11:13 2013 +0200
qemu-iotests: Try creating huge qcow2 image
It's supposed to fail gracefully instead of segfaulting.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c93331c9146719958a4b102435fcd0566da45ea2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 14:00:15 2013 +0200
qcow2.py: Subcommand for changing header fields
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a00e81e98f71c91a35b96bcd8ae431a86f42378d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 15:31:34 2013 +0200
qemu-io: Fix 'map' output
The output of the 'map' command in qemu-io used to directly resemble
bdrv_is_allocated() and could contain many lines for small chunks that
all have the same allocation status. After this patch, they will be
coalesced into a single output line for a large chunk.
As a side effect, the command gains some error handling.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c8a83e8500329d82f1282c4905be11a39078007f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 10:43:43 2013 +0200
blockdev: Rename BlockdevAction -> TransactionAction
There's no reason to restrict transactions to operations related to
block devices, so rename the type now before schema introspection stops
us from doing so.
Also change the schema documentation of 'transaction' to not refer to
block devices or snapshots any more.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba0c86a34e29b31ef360feda74c94200a5403fdd
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:16 2013 +0800
block: make all steps in qmp_transaction() as callback
Make it easier to add other operations to qmp_transaction() by using
callbacks, with external snapshots serving as an example implementation
of the callbacks.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 96b86bf72de0c6eda2799201517ef32910beb340
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:15 2013 +0800
block: package rollback code in qmp_transaction()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3b0047e86a1c215d830b1ae1da0778db4636b83a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:14 2013 +0800
block: package committing code in qmp_transaction()
The code is simply moved into a separate function.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e2a31e8798e8246bed8ab396a71cd06bf95edde6
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:13 2013 +0800
block: move input parsing code in qmp_transaction()
The code is moved into preparation function, and changed
a bit to tip more clearly what it is doing.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9b9877ee9f1c27588a286f591852c0b7c0548b6a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:12 2013 +0800
block: package preparation code in qmp_transaction()
The code before really committing is moved into a function. Most
code is simply moved from qmp_transaction(), except that on fail it
just returns now. Other code such as input parsing is not touched,
to make it easier in review.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64afc2b4d48fb21e085517c38a59a3f61a11283c
Merge: 95de21a... 70e098a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 23 14:16:34 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michael Roth (10) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: allow to disable the default monitor
ui/input.c: replace magic numbers with macros
qapi: add native list coverage for QMP input visitor tests
qapi: add native list coverage for QMP output visitor tests
qapi: add native list coverage for visitor serialization tests
qapi: fix visitor serialization tests for numbers/doubles
qapi: add QMP input test for large integers
json-parser: fix handling of large whole number values
qapi: enable generation of native list code
qapi: qapi-visit.py, native list support
qapi: qapi-visit.py, fix list handling for union types
qapi: qapi-types.py, native list support
Message-id: 1369333232-24145-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70e098af88f79340d420992af526254866a42ddd
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu May 16 12:02:55 2013 -0400
monitor: allow to disable the default monitor
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b2d1674b75563326515cf2178cc1d0a002797a12
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu May 16 13:19:47 2013 +0800
ui/input.c: replace magic numbers with macros
It's clearer to use defined macros than magic numbers.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 199e0f17f23a68c8d619e9e623d970324ed5efc1
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:10 2013 -0500
qapi: add native list coverage for QMP input visitor tests
This exercises schema-generated visitors for native list types and does
some sanity checking on validity of deserialized data.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 83c84667f57637fe5a7a6fc9905d6a9e9589d3e5
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:09 2013 -0500
qapi: add native list coverage for QMP output visitor tests
This exercises schema-generated visitors for native list types and does
some sanity checking on validity of serialized data.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8addacddfece619f1795fcf6cb9a3c49f800e7b9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:08 2013 -0500
qapi: add native list coverage for visitor serialization tests
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 089f26bb735fb414b79f5fa3753910d5339d2a1d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:07 2013 -0500
qapi: fix visitor serialization tests for numbers/doubles
We never actually stored the stringified double values into the strings
before we did the comparisons. This left number/double values completely
uncovered in test-visitor-serialization tests.
Fixing this exposed a bug in our handling of large whole number values
in QEMU's JSON parser which is now fixed.
Simplify the code while we're at it by dropping the
calc_float_string_storage() craziness in favor of GStrings.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e92cfa0d90c618ff1f131c60ef1b27aa6fe69a0a
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:06 2013 -0500
qapi: add QMP input test for large integers
Large integers previously got capped to LLONG_MAX/LLONG_MIN so we could
store them as int64_t. This could lead to silent errors occuring.
Now, we use a double to handle these cases.
Add a test to confirm that QMPInputVisitor handles this as expected if
we're expected an integer value: errors for out of range integer values
that got promoted to doubles in this fashion.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3d5b3ec6d460a92245215aaf7b349b0b9e5ffa25
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:05 2013 -0500
json-parser: fix handling of large whole number values
Currently our JSON parser assumes that numbers lacking a fractional
value are integers and attempts to store them as QInt/int64 values. This
breaks in the case where the number overflows/underflows int64 values
(which
is still valid JSON)
Fix this by detecting such cases and using a QFloat to store the value
instead.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0b400e792718f59275d5d54c21de9a589b35a81f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:03 2013 -0500
qapi: enable generation of native list code
Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs
qapi-types.c/qapi-visit.c
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7c946bc418db6b2a11f89b3465424fef48f714eb
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:02 2013 -0500
qapi: qapi-visit.py, native list support
Teach visitor generators about native types so they can generate the
appropriate visitor routines.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c664aef551714e91b7d83a28617b6e767db30d11
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:01 2013 -0500
qapi: qapi-visit.py, fix list handling for union types
Currently we assume non-list types when generating visitor routines for
union types. This is broken, since values like ['Type'] need to mapped
to 'TypeList'.
We already have a type_name() function to handle this that we use for
generating struct visitors, so use that here as well.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c0afa9c5f717d0ebf10c70c305974ebbffe4c71f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:00 2013 -0500
qapi: qapi-types.py, native list support
Teach type generators about native types so they can generate the
appropriate linked list types.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 95de21a430f7bc4166a153b1f69b1425c8a99c7b
Merge: 3459f01... d2ad502...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 22 08:22:36 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Christophe Lyon (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
target-moxie: replace target_phys_addr_t with hwaddr
Rename hexdump to avoid FreeBSD libutil conflict
remove some double-includes
translate: remove redundantly included qemu/timer.h
Remove twice include of qemu-common.h
fix /proc/self/maps output
Message-id: 51977B44.1000302@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3459f01b2d9612070ec23221a4ccb60a41b775ae
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon May 13 14:20:02 2013 -0600
pci-assign: Add MSI affinity support
To support guest MSI affinity changes update the MSI message any time
the guest writes to the address or data fields.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130513201840.5430.86331.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 644c98587d4ccc09e7592e1688e4e7fa363c5a75
Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Date: Mon May 20 11:18:14 2013 +0300
virtio-net: dynamic network offloads configuration
Virtio-net driver currently negotiates network offloads
on startup via features mechanism and have no ability to
disable and re-enable offloads later.
This patch introduced a new control command that allows
to configure device network offloads state dynamically.
The patch also introduces a new feature flag
VIRTIO_NET_F_CTRL_GUEST_OFFLOADS.
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130520081814.GA8162@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b220025993e76d4116781ca91a4fabc5ad9c722
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 18:27:59 2013 +0800
chardev: Get filename for new qapi backend
This patch sets the filename when the new qapi backend
init from opts.
The previous patch and discussions as link below:
http://patchwork.ozlabs.org/patch/243896/
If anyone who have better idea to fix this please let
me know your suggestions.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1369132079-11377-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a85e60cb994bd95d1537aafbff65816f3de4637
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 18:27:58 2013 +0800
chardev: Make the name of memory device consistent
Now we have memory char device, but the backend name of it
is a little confusion. We actually register it by 'memory', but
the description in qemu-option, the name of open functions
and the new api backend called it 'ringbuf'. It should keep
consistent. This patch named it all to 'memory'.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1369132079-11377-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17bf9735dd5a46d829cfb175703c6a2c254a9aa2
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Tue May 21 12:14:24 2013 -0400
ui/gtk.c: Fix *BSD build of Gtk+ UI
Fix the build of the Gtk+ UI on *BSD systems.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 20130521161324.GA29977@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95916abcf428fb03644468c7fbce64356c6483c0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed May 22 11:19:16 2013 +1000
qom/object: Don't poll cast cache for NULL objects
object_dynamic_cast_assert used to be tolerant of NULL objects and not
assert. It's clear from the implementation that this is the expected
behavior.
The preceding check of the cast cache dereferences obj however causing
a segfault. Fix by conditionalizing the cast cache logic on obj being
non-null.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
8e2bef6a55753869c50bfa32226f7fcf0439ca62.1369183592.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d1bba20913356ff4f8ff2c38519f10c5f4b77e6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed May 22 13:01:43 2013 +1000
glib: Fix some misuses of gsize/size_t types
This unbreaks cross compile builds:
configure --target-list="i386-softmmu" --cpu=i386
When building on a 64bit machine.
Reported-by: David Holsgrove <david.holsgrove@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
926326e96fd8685d74e9d5bf430fe4ad97a55289.1369191585.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1239b472bb0dba8060f1af29d40dafbc1b2860d4
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri May 17 14:51:21 2013 -0700
linux-user: Save the correct resume address for MIPS signal handling
The current ISA mode needs to be saved in bit 0 of the resume address.
If the current instruction happens to be in a branch delay slot, then
the address of the preceding jump instruction should be stored instead.
exception_resume_pc already does both of these tasks, so it is
made available and reused.
MIPS_HFLAG_BMASK in hflags is cleared, otherwise QEMU may treat the
first instruction of the signal handler as a delay slot instruction.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ea3164aafccdfdd8a9543787cdfa25fac30a5def
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri May 17 14:51:20 2013 -0700
linux-user: Fix MIPS ISA transitions during signal handling
Processors supporting the MIPS16 or microMIPS ISAs set bit 0 in target
addresses to indicate that the target is written using a compressed ISA.
During signal handling, when jumping to or returning from a signal
handler, bit 0 of the destination PC is inspected and MIPS_HFLAG_M16 in
hflags cleared or set accordingly. Bit 0 of the PC is then cleared.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d8992825aedbb83b7a0e98284e0527bc82a6f7df
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 03:35:37 2013 +0200
target-mips: clean-up in BIT_INSV
This is a small follow-up change to "fix incorrect behaviour for INSV".
It includes two minor modifications:
- sizefilter is constant so it can be moved inside of the block,
- several lines of the code are replaced with a call to deposit64.
No functional change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9ce0e9275434bacdeba42dd32e0e8269293fe2cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 20 10:55:18 2013 -0500
Open up 1.6 development
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 371386fb60961e0afc02f03c817dff79633e323e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 20 07:22:02 2013 -0500
Update version for 1.5.0 release.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da4c1a7a850176cde4840eaec0a19c305843ad21
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon May 20 12:33:08 2013 +0200
osdep: fix qemu_anon_ram_free trace (+ fix compilation on 32 bit hosts)
Commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 added a trace at each
memory freeing, but unfortunately inverted size and pointer when printing
them. Fix trace.
This also led to a compilation error on 32 bit hosts:
In file included from include/trace.h:4:0,
from trace/generated-events.c:3:
./trace/generated-tracers.h: In function â??trace_qemu_anon_ram_freeâ??:
./trace/generated-tracers.h:64:9: error: format â??%zuâ?? expects
argument of type
â??size_tâ??, but argument 3 has type â??void *â?? [-Werror=format]
./trace/generated-tracers.h:64:9: error: format â??%pâ?? expects argument
of type
â??void *â??, but argument 4 has type â??size_tâ?? [-Werror=format]
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Message-id: 1369045989-14016-1-git-send-email-hpoussin@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3568ac2a6e6df89cea52a56f70b95af9e1251bbd
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu May 16 11:32:28 2013 -0400
Rename hexdump to avoid FreeBSD libutil conflict
On FreeBSD libutil is used for openpty(), but it also provides a hexdump()
which conflicts with QEMU's.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368718348-15199-1-git-send-email-emaste@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd2a2e1c552cb47ca196552457e175c889b58478
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon May 20 12:46:20 2013 +0200
vl: new runstate transition: RUN_STATE_GUEST_PANICKED ->
RUN_STATE_FINISH_MIGRATE
This fixes a problem that after guest panic happens, virsh dump without
--memory-only fails:
ERROR: invalid runstate transition: 'guest-panicked' -> 'finish-migrate'
Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369046780-17498-1-git-send-email-pbonzini@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08d0ab3fe6bc9dfb80967a0b7d3109bc9ec7585b
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 14:51:03 2013 +0800
chardev: Make consistent with udp device for new qapi backend
When register and open a chardev udp, the backend name should be udp
not dgram, and we do not have backend dgram in the chardev list. This
patch makes the new qapi udp backend consistent with the original
udp device.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1369032665-18159-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9b5df6f0cee6b09ef3b2e5228761dd3c2cdcad7
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun May 19 13:22:11 2013 +0200
ide/macio: fix wrong opaque with TRIM support
Commit 215e47b9 enabled TRIM by default, which revealed a bug in TRIM
support for the IDE macio emulation driver, introduced in d353fb72.
The call to dma_bdrv_io() is using a wrong opaque of type IDEState
instead of DBDMA_io. This patch fixes that.
Fixes LP#1179104
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Tested-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 118d1e4f59c36078a0d76d090d4c16deace47233
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 17:14:35 2013 +0200
target-mips: set carry bit correctly in DSPControl register
First we need to clear the bit and then we set the given value.
Instruction ADDSC sets the bit and instruction ADDWC uses this bit.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0ba365f4a9752a82502e829a3e8cb5f03a1ffc0c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Sat May 18 03:53:41 2013 +0200
target-mips: fix EXTPDP and setting up pos field in the DSPControl reg
This change makes sure that modifications of pos field in the DSPControl
register do not trash other bits in the register. This bug can be
triggered
with the additional test case in mips32-dsp/extpdp.c in this commit.
In addition to this, this change corrects incorrect calculation of the
mask
for EXTPDP.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2ad50210b35c2685640f7df931a0fccb49334f7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed May 15 14:04:29 2013 +0800
target-moxie: replace target_phys_addr_t with hwaddr
target_phys_addr_t has been already replaced by hwaddr, but this
one is introduced after.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3a8ae21bd07e8a02e6e2eb4896790a62f979acda
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu May 16 11:32:28 2013 -0400
Rename hexdump to avoid FreeBSD libutil conflict
On FreeBSD libutil is used for openpty(), but it also provides a hexdump()
which conflicts with QEMU's.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 997aba8e257d183e978e9b08a26aceb4e905378d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue May 14 14:55:17 2013 +0400
remove some double-includes
Some source files #include the same header more than
once for no good reason. Remove second #includes in
such cases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7bc9315d3a6a3c7d437e1c3d0e826121a035444a
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Apr 30 10:59:50 2013 +0800
translate: remove redundantly included qemu/timer.h
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-By: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ce3a4718fe8edbe56b485778a76e9393e4f27c0e
Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Wed May 8 12:39:01 2013 +0800
Remove twice include of qemu-common.h
This patch is used to remove twice include of "qemu-common.h" in
block/win32-aio.c
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e24fed4ed4cb006c76924dacb1274f71477b9e3c
Author: Christophe Lyon <christophe.lyon@xxxxxxxxxx>
Date: Tue Apr 2 14:03:38 2013 +0200
fix /proc/self/maps output
Add a space at end of line when there is no filename to print, to
conform to linux kernel format (see show_map_vma() in
fs/proc/task_mmu.c).
Signed-off-by: Christophe Lyon <christophe.lyon@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 489ed4bbae309a6d897f6e037481c4c04f0737b5
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 15:20:26 2013 +0200
target-mips: fix incorrect behaviour for EXTP
The mask for EXTP instruction when size=31 has not been correctly
calculated.
The test (mips32-dsp/extp.c) has been extended to include the case that
triggers the issue.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 91b96cdc5befe56e7d9651189d0cbf06fc3f3902
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 17 10:01:00 2013 -0500
Update version for 1.5.0-rc3 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ce4cc31695ee7e647ef5a3a3c1258089794dcb83
Merge: 77417f1... 2b72001...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 17 10:00:30 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-05-13' into staging
* mdroth/qga-pull-2013-05-13:
qga: unlink just created guest-file if fchmod() or fdopen() fails on it
qga: distinguish binary modes in "guest_file_open_modes" map
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77417f10701d330c7005b0f0a2c0cef9e05d430d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu May 16 16:25:44 2013 -0500
Revert "migration: don't account sleep time for calculating bandwidth"
This reverts commit 7161082c8d8cf167c508976887a0a63f4db92b51.
Reverting this patch fixes a divide-by-zero error in qemu that can be
fairly reliably triggered by doing block migration. In this case, the
configuration/error was:
source: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios
-M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd
boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive
file=disk1.img,if=virtio -drive file=disk2.img,if=virtio -device
virtio-net-pci,netdev=net0 -netdev user,id=net0 -monitor
unix:/tmp/vm-hmp.sock,server,nowait -qmp
unix:/tmp/vm-qmp.sock,server,nowait -vnc :100
16837 Floating point exception(core dumped)
target: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios
-M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd
boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive
file=target_disk1.img,if=virtio -drive file=target_disk2.img,if=virtio
-device virtio-net-pci,netdev=net0 -netdev user,id=net0 -incoming
unix:/tmp/migrate.sock -monitor
unix:/tmp/vm-hmp-incoming.sock,server,nowait -qmp
unix:/tmp/vm-qmp-incoming.sock,server,nowait -vnc :101
Receiving block device images
20 %
21 %
load of migration failed
This revert potentially re-introduces a bug that was present in 1.4,
but fixes a prevalent issue with block migration so we should revert
it for now and take an updated patch later.
Conflicts:
migration.c
* fixed up to remove logic introduced in 7161082c while leaving
changes in HEAD intact
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1368739544-31021-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3cb8c205e36531a07dff1d8414c9e2cbf04c980b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 16 17:36:01 2013 +0200
main-loop: partial revert of 5e3bc73
This patch reverts part of 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f.
Paolo Bonzini wrote this patch and commented:
"WSAEventSelect is edge-triggered and the event will not be signaled if
the socket handler does not consume all the data in the socket buffer."
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368718561-7816-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8db165b36ef893ac69af0452f20eeb78e7b26b5a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 16 17:36:00 2013 +0200
main-loop: narrow win32 pollfds_fill() event bitmasks
pollfds_fill() and pollfds_poll() translate GPollFD to rfds/wfds/xfds
for sockets on win32. select(2) is the underlying system call which is
used to monitor sockets for activity.
Currently file descriptors that monitor G_IO_ERR will be included in
both rfds and wfds. As a result, select(2) will report writability on
file descriptors where we only really wanted to monitor readability
(with errors).
slirp_pollfds_poll() hit this issue: UDP sockets are blocking sockets so
we hang in sorecvfrom() when G_IO_ERR is set due to the socket being
writable (we only wanted to check for readability).
This patch fixes the slirp_pollfds_poll() hang.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1368718561-7816-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d46895b51103fa26c97ee0e0d895c004e9594d7
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu May 16 19:06:07 2013 +0200
virtio: add virtio_bus_get_dev_path.
This adds virtio_bus_get_dev_path to fix migration id string which is
wrong
since the virtio refactoring.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368723967-21050-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Cc: mdroth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c49fdf137f0ff74804e421f157297ab0ded5d012
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 15 16:38:35 2013 -0500
Update version for 1.5.0-rc2 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6b41659f4eaf1daefd232a7eea6d96885eb52ee7
Merge: 8593e05... ad7f375...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 15 14:57:30 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michael Roth (1) and Zhangleiqiang (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi: fix leak in unit tests
qmp: fix handling of cmd with Equals in qmp-shell
Message-id: 1368625179-27962-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8593e050871c632e245190725b11f1e10c629ff2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 15 17:46:11 2013 +0200
qemu-common: Resolve vector build breakes for AltiVec
On Mac OS X ppc, altivec.h defines "vector", leading to build breakage
when used as variable name, e.g. in tracing code.
Fix this by undefining identifiers after altivec.h inclusion.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1368632771-4328-1-git-send-email-andreas.faerber@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 262f27b93f459ec1dee4100015c109f5e1242091
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 15 15:00:39 2013 +0200
ide-test: Fix endianness problems
The test case passes on big endian hosts now (tested on ppc64)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1368622839-7084-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 913b4b6bf39c97bc503a629b43c66d3270b5f3f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:36 2013 +0100
hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping
Although we try our best to automatically detect broken versions
of Linux which assume the old broken IRQ mapping we used to implement
for our model of the Versatile PCI controller, it turns out that
some particularly new kernels manage to outwit the autodetection.
We therefore provide a property for enabling the old broken IRQ
mapping, so that if users happen to have such a kernel they can
work around its deficiencies with the command line option:
-global versatile_pci.broken-irq-mapping=1
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc04d89165a4be6169cf44f1bdada9d48f8bad4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:35 2013 +0100
hw/pci-host/versatile.c: Update autodetect to detect newer kernels
Newer versatilepb kernels still don't get the IRQ mapping right
for the PCI controller, but they get it differently wrong (they add
a fixed +64 offset to everything they write to PCI_INTERRUPT_LINE).
Update the autodetection to handle these too, and include a more
detailed comment on the various different behaviours that might
be present.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33201b51cbce9f18d6702a56429a4dbbe18a9961
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:34 2013 +0100
Revert "versatile_pci: Put the host bridge PCI device at slot 29"
This reverts commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6.
It turns out that some kernels incorrectly depend on the
old QEMU behaviour of not putting the host PCI bridge device
where the hardware puts it, because they use a swizzling IRQ
mapping which is incorrect but happens to match up with old
broken QEMU when the slot number mod 4 is zero. Since we
start PCI devices at 11, if we put the host bridge at 29
then the first real PCI device goes at 11 and doesn't work.
Not putting the host bridge at 29 means it defaults to 11,
so the first real PCI device is at 12 and works.
Since continuing with the old behaviour doesn't cause problems
for kernels which do work with hardware, the simplest fix for
this is to revert the change.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1405b6290fa2143e02dcede90b116d8d663ae669
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat May 11 21:46:58 2013 +0200
w32: Fix configure test for -march=i486
The latest version of MinGW needs a test for __sync_val_compare_and_swap
to fix a missing symbol linker error.
Reported-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1368301619-32097-2-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2d16c8e9885d4344a264c68feae28ae1e5f1c993
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 21:36:39 2013 +0100
configure: Detect uuid on MacOSX (fixes compile failure)
Commit 7791dba3ec broke compilation on MacOSX, because it introduced
a new include of util.h. On MacOSX this includes pwd.h which in turn
includes the system uuid/uuid.h, which causes a compile failure if
QEMU was configured without CONFIG_UUID due to a conflict between
the system header and our fallback versions:
block/vdi.c:124:20: error: static declaration of 'uuid_generate'
follows non-static declaration
static inline void uuid_generate(uuid_t out)
^
/usr/include/uuid/uuid.h:63:6: note: previous declaration is here
void uuid_generate(uuid_t out);
^
Fix this breakage by improving configure's check for uuid to work on
MacOSX (where there is no need to link in a separate libuuid).
Note that if the user explicitly runs configure with '--disable-uuid'
on MacOSX then QEMU will fail to compile.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368563799-22755-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1483adcf6ac978656718d4383d909c96dce395a6
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed May 15 16:20:40 2013 +0800
vnc: Make ledstate comparison before modifiers updated
The ledstate should be compared before modifiers updated,
otherwise the ledstate would be the same as current_led_state.
Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1368606040-11950-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 800ced8cac361c5d492ac82c4aa344ff769ecf2e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed May 15 14:12:50 2013 +0200
virtio-net-x: forward the netclient name and type.
This forwards the name and the type of virtio-net-x to fix the bad
behaviour of "info network" command.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1368619970-23892-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a253ec26ec6eb636c962a47767370f6032b8cf5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed May 15 14:12:49 2013 +0200
virtio-net: add virtio_net_set_netclient_name.
This adds virtio_net_set_netclient_name, which is used to set the
name and type shown in "info network" command.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1368619970-23892-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ad7f375df681503baa6ebef065818868e1216976
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 21:20:57 2013 -0500
qapi: fix leak in unit tests
qmp_output_get_qobject() increments the qobject's reference count. Since
we currently pass this straight into qobject_to_json() so we can feed
the data into a QMP input visitor, we never actually free the underlying
qobject when qmp_output_visitor_cleanup() is called. This causes leaks
on all of the QMP serialization tests.
Fix this by holding a pointer to the qobject and decref'ing it before
returning from qmp_deserialize().
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 74bc9066bc2cf61dd12994ea3b73401d33112656
Author: Zhangleiqiang <zhangleiqiang@xxxxxxxxxx>
Date: Mon May 6 08:31:23 2013 +0000
qmp: fix handling of cmd with Equals in qmp-shell
qmp: fix handling of cmd with equal mark in qmp-shell
qmp-shell splits the argument and value of input command
by equal mark("="). But there are commands whose values
include equal mark themselves, and the json built by
qmp-shell will not correct. For example, when using NBD as
the target of block-backup command, the input
"block-backup target=nbd+unix:///drive0?socket=/tmp/nbd.sock"
will fail, because the json built will be as follows:
{
"execute":"block-backup",
"arguments":{"target":"nbd+unix:///drive0?socket"}
}
Fix it by joining the sections split by equal mark excluding the
first section in __build_cmd function when the length of sections
is larger than two.
Signed-off-by: zhangleiqiang <zhangleiqiang@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 110db9b48c0a6379fca122801c3ae48e349aa6d4
Merge: e7a09b9... f3f4d2c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 14 10:24:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf
# Via Stefan Hajnoczi
* stefanha/block:
block: Add hint to -EFBIG error message
qcow2: Catch some L1 table index overflows
Message-id: 1368543269-29784-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3f4d2c09b9cf46903ba38425ec46c44185162bd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 16:14:34 2013 +0200
block: Add hint to -EFBIG error message
The limit of qcow2 files at least depends on the cluster size. If the
image format has a cluster_size option, suggest to increase it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2cf7cfa1cde6672b8a35bbed3fbc989f28c05dce
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 16:14:33 2013 +0200
qcow2: Catch some L1 table index overflows
This catches the situation that is described in the bug report at
https://bugs.launchpad.net/qemu/+bug/865518 and goes like this:
$ qemu-img create -f qcow2 huge.qcow2 $((1024*1024))T
Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976
encryption=off cluster_size=65536 lazy_refcounts=off
$ qemu-io /tmp/huge.qcow2 -c "write $((1024*1024*1024*1024*1024*1024
- 1024)) 512"
Segmentation fault
With this patch applied the segfault will be avoided, however the case
will still fail, though gracefully:
$ qemu-img create -f qcow2 /tmp/huge.qcow2 $((1024*1024))T
Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976
encryption=off cluster_size=65536 lazy_refcounts=off
qemu-img: The image size is too large for file format 'qcow2'
Note that even long before these overflow checks kick in, you get
insanely high memory usage (up to INT_MAX * sizeof(uint64_t) = 16 GB for
the L1 table), so with somewhat smaller image sizes you'll probably see
qemu aborting for a failed g_malloc().
If you need huge image sizes, you should increase the cluster size to
the maximum of 2 MB in order to get higher limits.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 16:19:56 2013 +0200
osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory
We switched from qemu_memalign to mmap() but then we don't modify
qemu_vfree() to do a munmap() over free(). Which we cannot do
because qemu_vfree() frees memory allocated by qemu_{mem,block}align.
Introduce a new function that does the munmap(), luckily the size is
available in the RAMBlock.
Reported-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1368454796-14989-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6eebf958abf3f3f701116d4524ef88bb9fd6e341
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 16:19:55 2013 +0200
osdep, kvm: rename low-level RAM allocation functions
This is preparatory to the introduction of a separate freeing API.
Reported-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1368454796-14989-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d34dc45d34618aa2495e892caba62a4aa521b386
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 12:15:54 2013 +0200
readline: Handle xterm escape sequences for Home/End keys
This fixes the Home/End keys in the monitor using the GTK frontend.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1368526554-15866-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7791dba3ec10ab7daa7cfecf84c617594c9776cc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 14:05:21 2013 +0200
portability: pty.h is glibc-specific
This should fix building the GTK+ front-end on BSDs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368533121-30796-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8e846e17cae31bfeee49d4da8a010fad3901cd9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 14:12:25 2013 +0200
spitz: fix compilation failure due to pty.h namespace pollution
pty.h is polluting the global namespace with a CTRL macro. spitz
thus fails compilation with the patch at
http://article.gmane.org/gmane.comp.emulators.qemu/211337 and
this patch fixes it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368533545-650-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2d3b989529727ccace243b953a181fbae04a30d1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 14 14:29:04 2013 +0200
acpi: add dummy write function for acpi timer
Otherwise the guest can crash qemu (NULL pointer dereference).
https://bugzilla.redhat.com/show_bug.cgi?id=947691
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1368534544-11826-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 035873283b3f7514ad77d409870ccfd5f9680d9e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 15:22:24 2013 -0500
qom: aggressively optimize qom casting
This patch adds a small typename cache to ObjectClass. This allows
caching positive casts within each ObjectClass. Benchmarking a
PPC workload provided by Aurelien, this patch eliminates every
single g_hash_table_lookup() happening during the benchmark (which
was about 2 million per-second).
With this patch applied, I get exactly the same performance (within
the margin of error) as with --disable-qom-cast-debug.
N.B. it's safe to cache typenames only from the _assert() macros
because they are always called with string literals.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b087143b4d010451208264b7c841436aafe1cbb1
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri May 10 18:59:45 2013 +0400
ui/gtk.c: do not use gdk_display_warp_pointer when GTK ver >3.0
Commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe "gtk: custom cursor
support"
introduced unconditional usage of gdk_display_warp_pointer(). This
function
is marked as deprecated since GTK-3.0, and triggers warning (error with
-Werror)
during compilation.
Conditionally change gdk_display_warp_pointer() method usage to
gdk_device_warp
usage, as suggested by compiler.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1368197985-44608-1-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9e1c2ec8fd8d9a9ee299ea86c5f6c986fe25e838
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:38:03 2013 +0200
Revert "pc: Kill the "use flash device for BIOS unless KVM" misfeature"
This reverts commit 9953f8822cc316eec9962f0a2858c3439a80adec.
While Markus's analysis is entirely correct, there are 1.6 patches
that fix the bug for real and without requiring machine type hacks.
Let's think of the children who will have to read this code, and
avoid a complicated mess of semantics that differ between <1.5,
1.5, and >1.5.
Conflicts:
hw/i386/pc_piix.c
hw/i386/pc_q35.c
include/hw/i386/pc.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1368189483-7915-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3556c233d931ad5ffa46a35cb25cfc057732ebb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:40 2013 +0200
qom: allow turning cast debugging off
Cast debugging can have a substantial cost (20% or more). Instead of
adding
special-cased "fast casts" in the hot paths, we can just disable it in
releases. The tracing facilities we just added make it easier to analyze
those problems that cast debugging would reveal.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fa131d94a5c00c6bbea39358d4bca7bf98f6c1f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:39 2013 +0200
qom: trace asserting casts
This provides a way to detect the cast that leads to a (reproducible)
crash even when QOM cast debugging is disabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be17f18b8cd438be7f8f65000c0baecdd5b34634
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:38 2013 +0200
qom: pass file/line/function to asserting casts
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 793c96b5403233fd9935c94b2af6d557c297a088
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:37 2013 +0200
qom: add a fast path to object_class_dynamic_cast
For leaf classes, in many cases the callbacks will simply downcast
the object back to the original class. Add this fast path to
object_class_dynamic_cast, object_dynamic_cast will inherit it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf0fda346694db1eddecff1d74ff9f4d5eba3461
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:36 2013 +0200
qom: allow casting of a NULL class
This mimics what we do in object_dynamic_cast_assert.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33bc94eb209864b4aef7f341f0c2b7cd8740396f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:35 2013 +0200
qom: improve documentation of cast functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b720018060179b394f8ce736983373ab80dd37c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed May 8 17:31:36 2013 +0200
qga: unlink just created guest-file if fchmod() or fdopen() fails on it
We shouldn't allow guest filesystem pollution on error paths.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8fe6bbca7176c9dfb35083a71bda95c1856e2ed5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed May 8 17:31:35 2013 +0200
qga: distinguish binary modes in "guest_file_open_modes" map
In Windows guests this may make a difference.
Since the original patch (commit c689b4f1) sought to be pedantic and to
consider theoretical corner cases of portability, we should fix it up
where it failed to come through in that pursuit.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f6e136e47a6adc176cb53a24cf5a515ca09f977f
Merge: 879367e... 98b2d19...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 09:44:25 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches-next' into staging
# By Dong Xu Wang (2) and others
# Via Michael Tokarev
* mjt/trivial-patches-next:
osdep.h: include sys/types.h for ssize_t definition
remove double semicolons
clean unnecessary code: don't check g_strdup arg for NULL
docs: mention AddressSpaces in docs/memory.txt
audio: update documentation after removing --audio-card-list option
m25p80.c: Sync Flash chip list with Linux
bsd-user: OS-agnostic 64-bit SYSCTL types
Message-id: 518F61B9.9050803@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 879367efba1f2e9733ff76d03041324b5b76f645
Merge: 38ebb39... 0a2b5e3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 09:44:04 2013 -0500
Merge remote-tracking branch 'spice/spice.v70' into staging
# By Hans de Goede
# Via Gerd Hoffmann
* spice/spice.v70:
qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
Message-id: 1368093776-8949-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98b2d199c109c9eabebb70965db0ae24f3f75a79
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri May 10 23:58:21 2013 +0400
osdep.h: include sys/types.h for ssize_t definition
sys/types.h is taken out from "ifdef __OpenBSD__" guard. It should be
safe for other systems, according to following survey:
http://hacks.owlfolio.org/header-survey/
This fixes build for CONFIG_IOVEC-less systems (mingw).
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c7e775e4dda91472ec538101c536ea8950fe1515
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 15:53:50 2013 +0800
remove double semicolons
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7f303adc4f0aaa71b196d9f983150f3ec3367b46
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 15:53:49 2013 +0800
clean unnecessary code: don't check g_strdup arg for NULL
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2d40178a33293603a06fdf3c0fd9988322bc5fda
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 18:23:38 2013 +0200
docs: mention AddressSpaces in docs/memory.txt
Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 59d827629360097caa9a4f160680affde84cb4c8
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat May 4 16:17:37 2013 +0200
audio: update documentation after removing --audio-card-list option
Commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c removed the
--audio-card-list option in configure, and commit
8f3b664f6cc4153cc73941c941d54c4e499b7537 always compiled in
the adlib, gus and cs4231a audio cards.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3e758c1df05bcd305cb761beddeb078b67c3ab88
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 1 10:40:53 2013 -0400
m25p80.c: Sync Flash chip list with Linux
Add new devices for various manufacturers, and re-sort Spansion list to
match the order in Linux, which requires chips with a non-zero extended ID
to come first.
With this commit the outstanding differences to Linux rev 55bf75b are:
- Erase size flag differences in s25sl032p, s25sl064p, s25fl016k,
s25fl064k
(These devices have only some blocks that support small erase sizes.)
- Linux lacks n25q128
- Devices without a Jedec ID have been excluded
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6a3ee5f7981e7df40aa581ebc245fd0a7d3bed0
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue Apr 30 09:29:32 2013 -0400
bsd-user: OS-agnostic 64-bit SYSCTL types
Use existence of type as #ifdef condition rather than FreeBSD-specific
version check, as suggested by Patrick Welche.
Also handle the signed (CTLTYPE_S64) case identically to the unsigned
(CTLTYPE_U64) case, per later patches in the FreeBSD ports tree
(emulators/qemu-devel/files/patch-z-arm-bsd-user-001).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 38ebb396c955ceb2ef7e246248ceb7f8bfe1b774
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu May 9 19:36:41 2013 +0200
target-i386: ROR r8/r16 imm instruction fix
Fix EFLAGS corruption by ROR r8/r16 imm instruction located at the end
of the TB, similarly to commit 089305ac for the non-immediate case.
Reported-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 66e61b55f158ef5628e4c056dd2f233c9351a3f5
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed May 8 22:36:39 2013 +0200
tcg/optimize: fix setcond2 optimization
When setcond2 is rewritten into setcond, the state of the destination
temp should be reset, so that a copy of the previous value is not
used instead of the result.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 23 10:18:16 2013 +0200
qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs
to
know what part of the primary to use for each monitor. If the guest driver
does not support this, the server sends messages to the client for a
single monitor spanning the entire primary.
As soon as the guest calls spice_qxl_monitors_config_async once, the
server
sets the red_worker driver_has_monitors_config flag and stops doing this.
This is a problem when the driver gets unloaded, for example after a
reboot
or when switching to a text vc with usermode mode-setting under Linux.
To reproduce this start a multi-mon capable Linux guest which uses
usermode mode-setting and then once X has started switch to a text vc.
Note
how the client window does not only not resize, if you try to resize it
manually you always keep blackborders since the aspect is wrong.
This patch calls a new spice-server method called spice_qxl_driver_unload
which clears the driver_has_monitors_config flag inside the server,
thereby
fixing this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 47ec15cdd44877e553ed0bd0a16aea8a295dad62
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 8 15:54:47 2013 -0500
Update version for 1.5.0-rc1
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cad2b59c198340a636c5e015fb90e0326a1d3dd7
Merge: 5f5a131... 794d00f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 8 15:54:36 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (7) and Fam Zheng (3)
# Via Kevin Wolf
* kwolf/for-anthony:
qemu-iotests: fix 017 018 for vmdk
qemu-iotests: exclude vmdk and qcow from 043
qemu-iotests: exclude vmdk for test 042
qtest/ide-test: Test short and long PRDTs
qtest/ide-test: Add simple DMA read/write test case
qtest: Add IDE test case
libqos/pci: Enable bus mastering
ide: Reset BMIDEA bit when the bus master is stopped
de_DE.po: Add missing leading spaces
ahci: Don't allow creating slave drives
Message-id: 1368023344-29731-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f5a1318653c08e435cfa52f60b6a712815b659d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Tue May 7 13:42:49 2013 +0800
virtio: properly validate address before accessing config
There are several several issues in the current checking:
- The check was based on the minus of unsigned values which can overflow
- It was done after .{set|get}_config() which can lead crash when
config_len
is zero since vdev->config is NULL
Fix this by:
- Validate the address in virtio_pci_config_{read|write}() before
.{set|get}_config
- Use addition instead minus to do the validation
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Petr Matousek <pmatouse@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Petr Matousek <pmatouse@xxxxxxxxxx>
Message-id: 1367905369-10765-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue May 7 15:49:58 2013 +0300
virtio-pci: fix level interrupts
mask notifiers are never called without msix,
so devices with backend masking like vhost don't work.
Call mask notifiers explicitly at
startup/cleanup to make it work.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d551d220c9574b00a318297b8654344e13e0efde
Merge: 554ecc57... 36f48d9...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed May 8 21:02:06 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu:
PPC: Depend behavior of cmp instructions only on instruction encoding
commit 554ecc5774badd181458fe3d6a1624c2ede9f04e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon May 6 19:49:43 2013 +0200
PPC: Fix rldcl
The implementation for rldcl tried to always fetch its
parameters from the opcode, even though the opcode was
already passed in in decoded and different forms.
Use the parameters instead, fixing rldcl.
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 36f48d9c78c438170aa7259bdde67086c9b7e795
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed May 8 15:19:14 2013 +0200
PPC: Depend behavior of cmp instructions only on instruction encoding
When running an L=1 cmp instruction on a 64bit PPC CPU with SF off, it
still behaves identical to what it does when SF is on. Remove the implicit
difference in the code.
Also, on most 32bit CPUs we should always treat the compare as 32bit
compare, as the CPU will ignore the L bit. This is not true for e500mc,
but that's up for a different patch.
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed May 8 13:17:40 2013 +0200
target-mips: fix incorrect behaviour for INSV
Corner case for INSV instruction when size=32 has not been correctly
implemented. The mask for size should be one bit wider, and preparing the
filter variable should be aware of this case too.
The test for INSV has been extended to include the case that triggers the
bug.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 639eadb9a32775e1c70bbf37d347972ca41128d1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed May 8 16:09:04 2013 +0200
target-mips: add missing check_dspr2 for multiply instructions
The emulator needs to check in hflags if DSP unit has been turned off
before
it generates code for MUL_PH, MUL_S_PH, MULQ_S_W, and MULQ_RS_W.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 794d00f71d39e3d18eafade579b2ecb665d6d481
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:05 2013 +0800
qemu-iotests: fix 017 018 for vmdk
017 and 018 use /bin/mv to move base img from t.IMGFMG to t.IMGFMT.base
after filling data, this is not enough for vmdk, when t.IMGFMT is only a
description text file who points to t-{flat,s001,f001,...}.IMGFMT as
data extent, so testing such subformats alway fails on them.
This patch use the trick of temprorily changing TEST_IMG to avoid using
/bin/mv.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbcdd7cb04595cc0015f2dba6be751faa63fab00
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:04 2013 +0800
qemu-iotests: exclude vmdk and qcow from 043
043 tests recursive backing file by changing backing file. VMDK has not
implemented this yet, and qcow1 probably never will.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1afe2726632a3344b92757bacdff57df49ef43e1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:03 2013 +0800
qemu-iotests: exclude vmdk for test 042
Zero sized disk is not supported by qemu vmdk driver, exclude vmdk from
the test script.
As tested on vmware-vdiskmanager and vmware workstation, zero sized disk
is not supported by vmware, either.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 948eaed171e0dac541a59b42867f80881399bbd0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 13:30:24 2013 +0100
qtest/ide-test: Test short and long PRDTs
This tests the behaviour of the DMA engine when the given PRDT contains
physical region descriptors for either more or less bytes than the
IDE request is for.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b95739dcf5ae1dfa8cd5b2a5be27d427835e693b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 8 11:34:20 2013 +0200
qtest/ide-test: Add simple DMA read/write test case
This tests that single sectors can be successfully written and correctly
read back.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acbe48013bf1eb9c9a435e76959f409584b35509
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 8 11:18:41 2013 +0200
qtest: Add IDE test case
This adds a simple IDE test case and starts by verifying that IDENTIFY
can be successfully used and return the correct serial number, version
and the WCE flag is set for cache=writeback.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f0332b8cf27020d70be92f5e664466f0bcb84ec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 17:00:40 2013 +0100
libqos/pci: Enable bus mastering
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b39f96126549e2834152211a99919917423d2212
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 16:53:06 2013 +0100
ide: Reset BMIDEA bit when the bus master is stopped
The device is supposed to reset the Bus Master IDE Active bit in the
status register when 0 is written to the Start/Stop Bus Master bit in
the command register.
In the common cases this happens automatically because bdrv_drain_all()
flushes the requests, but with a large PRDT it could remain set.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3bac85d33716d9024afb8a262a39032bc0bba3ed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 7 15:23:41 2013 +0200
de_DE.po: Add missing leading spaces
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0ee20e665840d8a887c145b368ee121cb86a028e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 6 15:58:04 2013 +0200
ahci: Don't allow creating slave drives
An IDE bus provided by AHCI can only take a single IDE drive. If you add
a drive as slave, qemu used to accept the command line but the device
wouldn't be actually usable. Catch the situation instead and error out.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15d23fb96656b1ae31bf4305b2108230c29298c6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:50:19 2013 -0500
Update version for qemu-1.5.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b174de51ae397549f58b1b76efa9026b213a1efd
Merge: c689b4f... 4e906d5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:48:31 2013 -0500
Merge remote-tracking branch 'kraxel/usb.82' into staging
# By Gerd Hoffmann (3) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.82:
xhci: handle USB_RET_BABBLE
uhci: Use an intermediate buffer for usb packet data
usb-host: add usb_host_full_speed_compat
usb-host: live migration support for the libusb version
Message-id: 1367920207-1404-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Apr 24 13:13:18 2013 +0200
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:
-rw-rw-rw- 1 root root /var/log/qemu-ga.log
-rw-rw-rw- 1 root root /var/run/qga.state
-rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.
For now mask all file mode bits for "group" and "others" in
become_daemon().
Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d7108d90100d5bac5965abef5ed73f2602adae14
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Apr 26 18:27:40 2013 +0800
virtio-net: properly check the vhost status during status set
Commit 32993698 (vhost: disable on tap link down) tries to disable the
vhost
also when the peer's link is down. But the check was not done properly,
the
vhost were only started when:
1) peer's link is not down
2) virtio-net has already been started.
Since == have a higher precedence than &&, place a brace to make sure
both the
conditions were met then does the check. This fixes the crash when doing
a savem
after set the link off which let qemu crash and complains:
virtio_net_save: Assertion `!n->vhost_started' failed.
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1366972060-21606-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd8192a5a868ddbb711abbf4a871b09bbb1dae04
Merge: b5803aa... 4458c23...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:32:00 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Eduardo Habkost (6) and others
# Via Andreas Färber
* afaerber/qom-cpu:
target-i386: n270 can MOVBE
target-i386: Introduce generic CPUID feature compat function
target-i386: Change CPUID model of 486 to 8
target-i386: Emulate X86CPU subclasses for global properties
qdev: Introduce qdev_prop_set_globals_for_type()
qdev: Let qdev_prop_parse() pass through Error
target-i386: Add "filtered-features" property to X86CPU
target-i386: Introduce X86CPU::filtered_features field
target-i386: Add "feature-words" property to X86CPU
target-i386: Use FeatureWord loop on filter_features_for_kvm()
target-i386: Add ECX information to FeatureWordInfo
commit 4e906d567a97ee45b4922001bf521dad0bde5268
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 6 12:33:56 2013 +0200
xhci: handle USB_RET_BABBLE
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9822261ce3bfbc7aec8b2a3e378892dc368910ed
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Mon May 6 10:48:57 2013 +0200
uhci: Use an intermediate buffer for usb packet data
Due to various unfortunate reasons we cannot reliable detect a guest
cancelling a packet as soon as it happens, instead we detect cancels
with some delay.
When packets are handled async, and we directly pass the guest memory for
the packet to the usb-device as iovec, this means that the usb-device can
write to guest-memory which the guest has already re-used for other
purposes
-> not good!
This patch fixes this by adding an intermediate buffer and writing back
not
only the result, but also the data, of async completed packets when
scanning
the schedule.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3268cc1135f41264cd26bcb269b3414d3c11453
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 6 13:12:16 2013 +0200
usb-host: add usb_host_full_speed_compat
Alloes to pass through usb2 devices on usb1 host controllers if possible.
Brings the libusb implementation to feature-parity with the linux usbfs
code, so the usb-host implementation in 1.5 (libusb) doesn't regress
compared to 1.4 (usbfs).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95efb20c714800de7eaf991f19dab6e7a29d5364
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 14:29:08 2013 +0200
usb-host: live migration support for the libusb version
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5803aa3583e82e5133f7621121bc15ee694f4a1
Merge: fe677fd... 0c1cd0a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 15:45:08 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Marcelo Tosatti
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvmvapic: add ioport read accessor
Message-id: cover.1367844188.git.gleb@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4458c23672904fa131e69897007eeb7c953be7e5
Author: Borislav Petkov <bp@xxxxxxx>
Date: Thu Apr 25 15:43:04 2013 -0300
target-i386: n270 can MOVBE
The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is
needed when booting 3.8 and later linux kernels built with the MATOM
target because we require MOVBE in order to boot properly now.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
[ehabkost: added compat code to disable MOVBE on pc-*-1.4 and older]
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0668af542f99b7bb1d95539829b27d5a1bcecde4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Apr 25 15:43:00 2013 -0300
target-i386: Introduce generic CPUID feature compat function
Introduce x86_cpu_compat_set_features(), that can be used to set/unset
feature bits on specific CPU models for machine-type compatibility.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe677fd1b3fde96110898fde5101bea4cfe6e063
Merge: e0ff466... 2ddef42...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon May 6 19:56:27 2013 +0200
Merge branch 's390-for-upstream' of git://github.com/agraf/qemu
* 's390-for-upstream' of git://github.com/agraf/qemu:
s390: update s390-ccw.img
S390: BIOS boot from given device
S390: Add virtio-blk boot
S390: Merging s390_ipl_cpu and s390_ipl_reset
S390: BIOS create link to src folder for .img file
S390: BIOS check for file
commit b2a856d99281f2fee60a4313d204205bcd2c4269
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 17:30:51 2013 +0200
target-i386: Change CPUID model of 486 to 8
This changes the model number of 486 to 8 (DX4) which matches the
feature set presented, and actually has the CPUID instruction.
This adds a compatibility property, to keep model=0 on pc-*-1.4 and older.
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
[AF: Add compat_props entry]
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ba2bc7a42e7c7b343f996967484ce3a1543cfebc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 17:05:47 2013 +0200
target-i386: Emulate X86CPU subclasses for global properties
After initializing the object from its x86_def_t and before setting any
additional -cpu arguments, set any global properties for the designated
subclass <name>-{i386,x86_64}-cpu.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 868d378bb087c6003bfa0e431aec0e5871a90ff4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 16:03:19 2013 +0200
qdev: Introduce qdev_prop_set_globals_for_type()
Reuse it in qdev_prop_set_globals().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Renamed from qdev_prop_set_custom_globals()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 16:10:24 2013 +0200
qdev: Let qdev_prop_parse() pass through Error
Move error reporting to callers.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e5292b553c9ec27e0816abdcb717f87aa6b6a8d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:09 2013 -0300
target-i386: Add "filtered-features" property to X86CPU
This property will contain all the features that were removed from the
CPU because they are not supported by the host.
This way, libvirt or other management tools can emulate the
check/enforce behavior by checking if filtered-properties is all zeroes,
before starting the guest.
Example output where some features were missing:
$ qemu-system-x86_64 -enable-kvm -cpu Haswell,check -S \
-qmp unix:/tmp/m,server,nowait
warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit
12]
warning: host doesn't support requested feature: CPUID.01H:ECX.movbe
[bit 22]
warning: host doesn't support requested feature:
CPUID.01H:ECX.tsc-deadline [bit 24]
warning: host doesn't support requested feature: CPUID.01H:ECX.xsave
[bit 26]
warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit
28]
warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase
[bit 0]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1
[bit 3]
warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit
4]
warning: host doesn't support requested feature: CPUID.07H:EBX.avx2
[bit 5]
warning: host doesn't support requested feature: CPUID.07H:EBX.smep
[bit 7]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2
[bit 8]
warning: host doesn't support requested feature: CPUID.07H:EBX.erms
[bit 9]
warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid
[bit 10]
warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit
11]
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 4025
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 356519936
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Example output when no feature is missing:
$ qemu-system-x86_64 -enable-kvm -cpu Nehalem,enforce -S \
-qmp unix:/tmp/m,server,nowait
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 0
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 034acf4a581b03fc10cba772f731ae521e00fcd8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:08 2013 -0300
target-i386: Introduce X86CPU::filtered_features field
This field will contain the feature bits that were filtered out because
of missing host support.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8e8aba5054c043027445c880fcb9dbc8f6a217f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:07 2013 -0300
target-i386: Add "feature-words" property to X86CPU
This property will be useful for libvirt, as libvirt already has logic
based on low-level feature bits (not feature names), so it will be
really easy to convert the current libvirt logic to something using the
"feature-words" property.
The property will have two main use cases:
- Checking host capabilities, by checking the features of the "host"
CPU model
- Checking which features are enabled on each CPU model
Example output:
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=feature-words
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 101
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 563346425
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 2155880449
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 126614521
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd87d2a2c05569a28768648b069cbc24c40f4fb8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:18 2013 -0300
target-i386: Use FeatureWord loop on filter_features_for_kvm()
Instead of open-coding the filtering code for each feature word, change
the existing code to use the feature_word_info array, that has exactly
the same CPUID eax/ecx/register values for each feature word.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04d104b61198615c259d1851684b2713213dcf99
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:16 2013 -0300
target-i386: Add ECX information to FeatureWordInfo
FEAT_7_0_EBX uses ECX as input, so we have to take that into account
when reporting feature word values.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ddef429d14136a0156a75b1d77b72cb3bdad18f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed May 1 04:50:05 2013 +0200
s390: update s390-ccw.img
Now that we have boot device selection support, update the firmware
blob accordingly.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ff151f4ec977c38266b79ebfbb6e8689f2121d4f
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:58 2013 +0000
S390: BIOS boot from given device
Use the passed device, if there is no device, use the first applicable
device.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba1509c0a99ad4c852c22cbd46d244ec7dc90402
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:57 2013 +0000
S390: Add virtio-blk boot
If no kernel IPL entry is specified, boot the bios and pass if available
device information for the first boot device (as given by the boot index).
The provided information will be used in the next commit from the BIOS.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2c4c71ee3a904bd07141c6499e5834818e6757f1
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:56 2013 +0000
S390: Merging s390_ipl_cpu and s390_ipl_reset
There is no use in have this splitted in two functions.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e89e33e12e4185fa056a5d7ae6d2e8e7f5400a20
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 04:52:06 2013 +0000
S390: BIOS create link to src folder for .img file
For *.img files, there will be a link created directly to the src folder,
like for all other blobs.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f7de853306499b83e627a09b15281fd6d566a51
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 04:52:05 2013 +0000
S390: BIOS check for file
Add a check if the BIOS blob exists before trying to load.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0ff466c86bfb3b865865431bf8aa67287691917
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu May 2 20:22:03 2013 +0000
spapr_llan: fix device reenabling
Normally, the "tap" device is polled by QEMU if a guest NIC can
receive packets. If a guest NIC is stopped during transfer (rmmod or
ifdown), it may still have packets in a queue which have to be send
to the guest before QEMU enables polling of a "tap" interface via
tap_update_fd_handler().
However the spapr_llan device was missing the qemu_flush_queued_packets()
call so the tap_send_completed() callback was never called and therefore
"tap" interface polling was not enabled ever.
The patch fixes this problem.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 43d03f299a017186e00f47c5b10f732492d496a6
Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Date: Wed May 1 15:22:59 2013 +0000
PPC: e500: correct params->ram_size with ram_size
We should sync params->ram_size after we fixup memory size on
a alignment boundary. Otherwise Guest would exceed the actual
memory region.
Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 04559d5210860ea5853db09c75ea8ff2f8843e16
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed May 1 00:44:51 2013 +0000
target-ppc: Add read and write of PPR SPR
Recent Linux kernels save and restore the PPR across exceptions
so we need to handle it.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c05541ee191107eb35093fb693e4ec038e60d2c0
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed May 1 00:43:59 2013 +0000
target-ppc: Fix invalid SPR read/write warnings
Invalid and privileged SPR warnings currently print the wrong
address. While fixing that, also make it clear that we are
printing both the decimal and hexadecimal SPR number.
Before:
Trying to read invalid spr 896 380 at 0000000000000714
After:
Trying to read invalid spr 896 (0x380) at 0000000000000710
Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 126a79300971ab9314925c3ebbbd6c776bebf3f1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu May 2 00:27:51 2013 +0200
PPC: Add MMU type for 2.06 with AMR but no TB pages
When running -cpu on a POWER7 system with PR KVM, we mask out the 1TB
MMU capability from the MMU type mask, but not the AMR bit.
This leads to us having a new MMU type that we don't check for in our
MMU management functions.
Add the new type, so that we don't have to worry about breakage there.
We're not going to use the TCG MMU management in that case anyway.
The long term fix for this will be to move all these MMU management
functions to class callbacks.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4807ab4f36740b64a0dfa30ae90fe2e8a7d96fbb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Apr 30 03:42:23 2013 +0000
pseries: Update SLOF firmware image
Minor SLOF fixes which are required for libvirtd to function properly:
* vio-vscsi: vscsi-report-luns can return 0
* vio-vscsi: added a proper lun parser
* SLOF: vio-vscsi: fixed bug with reported luns
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cefd3cdbdd9fc9a7d5ab324291904074d2aa69a0
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Mon Apr 29 04:40:56 2013 +0000
PPC: e500: initialize GPRs as per epapr
ePAPR defines the initial values of cpu registers.
This patch initialize the GPRs as per ePAPR specification.
This resolves the issue of guest reboot/reset (guest hang on reboot).
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: add whitespace line]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b55519a0f29fca0ef7ebc5d87ee4bfa7304dc219
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 18:33:52 2013 +0000
pseries: Fix debug message for out-of-bounds address in H_PUT_TCE
Due to a brain outage, this message says "out-of-boards" instead of
"out-of-bounds".
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d4261662b67b48e52f747ee1e3c31cf873c5c982
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 18:33:51 2013 +0000
pseries: Factor out check for out-of-bounds LIOBN
PAPR defines LIOBNs (Logical IO Bus Numbers) to be 32-bit, and we check
for
values that aren't in the code for H_PUT_TCE. This patch factors the
check
into spapr_tce_find_by_liobn(), which already checks if a 32-bit LIOBN
actually exists. This will become more important as future patches add
other hypercalls which need to look up a LIOBN.
At the same time we fix the typo in the message.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0c1cd0ae2a4faabeb948b9a07ea1696e853de174
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Sun May 5 17:51:49 2013 -0300
kvmvapic: add ioport read accessor
Necessary since memory region accessor assumes read and write
methods are registered. Otherwise reading I/O port 0x7e segfaults.
https://bugzilla.redhat.com/show_bug.cgi?id=954306
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 8e515b125d5f7849167dbee6cbe6ef61636607d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat May 4 21:57:51 2013 +0100
configure: Check that "libtool" is not the MacOSX one
The "libtool" binary on MacOSX is not GNU libtool, and doesn't support
anything like the same set of command line options. Test whether we
have accidentally picked this up (by looking for whether it handles
the GNU --version switch), and discard it if so. The fallback machinery
for the "we don't have a libtool" case will work fine. This fixes a
failure in "make install" on MacOSX.
Reported-by: Peter Cheung <mcheung63@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1367701071-6630-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4b006b7a5bce59d4f692d5da04eede5f6d0f31c
Merge: 1e65fe5... b6f54b3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 06:49:51 2013 -0500
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
# By Andreas Färber (1) and others
# Via Andreas Färber
* afaerber-or/prep-up:
prep: Make System I/O port 0092 read/write
prep: Add ELF support for -bios
prep: Fix NIP reset value
commit 1e65fe536782132316ddae0a92f3c4e4f563cafb
Merge: 467b346... 462566f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 06:47:28 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Jean-Christophe DUBOIS
# Via Peter Maydell
* pmaydell/arm-devs.next:
i.MX: implement a more correct version of EPIT timer.
Message-id: 1367603215-5120-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b6f54b31e7cfb2e88b76fc6cfc5334a26d1b9e53
Author: Julio Guerra <guerr@xxxxxxxx>
Date: Sun May 5 23:29:48 2013 +0200
prep: Make System I/O port 0092 read/write
Port 0x0092 is documented as read/write, so for now return the
endianness state instead of hardcoded 0x00.
Signed-off-by: Julio Guerra <guerr@xxxxxxxx>
[AF: Extracted from larger port 0092 patch]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 97c42c3c93d58e14960bfd78771ed154a860acf8
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Apr 27 21:23:23 2013 +0200
prep: Add ELF support for -bios
This prepares for switching from OpenHack'Ware to OpenBIOS.
While touching the error handling code, switch from aborting hw_error()
to fprintf()+exit() and suppress failing without -bios for qtest.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 88432756ead526d9c321c20f10fafdbe40e5eaba
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Apr 30 17:07:04 2013 +0200
prep: Fix NIP reset value
The value was changed by commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c
"PPC: fix hreset_vector for 60x, ...".
Change it back for prep machine to unbreak OpenHack'Ware.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 467b34689d277fa56c09ad07ca0f08d7d7539f6d
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun May 5 09:53:22 2013 +0000
Update OpenBIOS images
Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from
submodule.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f7a87c42a05e5ecaa4ed9167178624f870106091
Merge: 120dc38... 536f25e...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun May 5 09:05:34 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Fix incorrect check of kvm_vcpu_ioctl return value
commit 536f25e4c77592b936e50728c83894c23f4f61c8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 3 18:47:22 2013 +0100
target-arm: Fix incorrect check of kvm_vcpu_ioctl return value
kvm_vcpu_ioctl() returns -ETHING on error, not ETHING -- correct
an incorrect check in kvm_arch_init_vcpu(). This would not have
had any significant ill-effects -- we would just have propagated
the less useful ENOENT up to the caller rather than the more
accurate EINVAL in the unlikely case that the kernel didn't
have VFP-D32 support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 462566fc5e3e10a44e212fdbc67b9e4948179b14
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Fri May 3 18:21:02 2013 +0100
i.MX: implement a more correct version of EPIT timer.
This patch is providing a complete version of the EPIT timer.
Note, however that the GPT timer in the same file is still not
complete.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1365624982-15647-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
[PMM: wrapped an overly long line]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 120dc38f6113b676ecef0a2c9e42fc08cace5bdb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri May 3 15:25:36 2013 +0200
qdev: skip bus check for bus-less devices in qdev_unplug()
Since commit 2f7bd829db "qdev: Fix device_add bus assumptions"
it's possible to device_add bus-less device, but if such device is
unplugged it will dereference NULL parent_bus in qdev_unplug().
Fix it by taking in account that parent_bus might be NULL and
skipping bus check.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Message-id: 1367587536-14964-1-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f32a6b47ef4247ad14dad63c6ee231fdce4c5e9
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:51 2013 +0200
virtio-scsi: fix the command line compatibility.
The bus name is wrong since the refactoring.
This keeps the behaviour of the command line.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 80270a19685dd20eda017b0360c743b3e3ed6f57
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:50 2013 +0200
virtio-serial: fix command line compatibility.
The bus name is wrong since the refactoring.
This keeps the behaviour of the command line.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 11fc853c4cb5ab9db46d7859da191966199b588f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:49 2013 +0200
scsi: add bus_name parameter to scsi_bus_new.
This adds the possibility to create a scsi-bus with a specified name.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1034e9cf4d0740c4c845d79998ac53a5b23e534d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:48 2013 +0200
virtio: add virtio_device_set_child_bus_name.
Add virtio_device_set_child_bus_name function.
It will be used with virtio-serial-x and virtio-scsi-x to set the
child bus name before calling virtio-x-device's init.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f4dd69aa4ce96196b3d84cd3d3e14a79ea029630
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:47 2013 +0200
virtio-x-bus: force bus name to virtio-bus.
When the proxy id is set, this bus takes the name "id.0" which is expected
to be the virtio-device's first bus.
So force this name to "virtio-bus" as it is an internal bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0057a0d59006d00c294de0b012d9a290eb1a5c80
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Tue Apr 23 16:33:01 2013 +0200
TLS support for VNC Websockets
Added TLS support to the VNC QEMU Websockets implementation.
VNC-TLS needs to be enabled for this feature to be used.
The required certificates are specified as in case of VNC-TLS
with the VNC parameter "x509=<path>".
If the server certificate isn't signed by a rooth authority it needs to
be manually imported in the browser because at least in case of Firefox
and Chrome there is no user dialog, the connection just gets canceled.
As a side note VEncrypt over Websocket doesn't work atm because TLS can't
be stacked in the current implementation. (It also didn't work before)
Nevertheless to my knowledge there is no HTML 5 VNC client which supports
it and the Websocket connection can be encrypted with regular TLS now so
it should be fine for most use cases.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366727581-5772-1-git-send-email-thardeck@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f3b664f6cc4153cc73941c941d54c4e499b7537
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed May 1 16:14:34 2013 +0200
audio: Enable all cards
...or they will bitrot to death.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 5181234A.6060504@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fba90ac1d614c333c6a15c39cac555a12a04cee1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 1 18:30:15 2013 +0200
win32: fix compilation again
While commit c02817e5bfbb27955cac970019e6670dc427bc41 fixed compilation
without an installed libtool, moving the dependencies to rules.mak does
not work because the version-*-y variables are not defined yet. Building
in a clean tree thus fails.
Revert the commit and remove the dummy /bin/false assignment to LIBTOOL.
This makes the build work, at the price of slightly worse errors when
there are Makefile bugs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367425815-15083-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc9936a32f91c107a2a7655af4feeee3f4de5d12
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu May 2 15:56:26 2013 +0200
libqos: Relocate I2C files
Commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 (qtest: add libqos
including PCI support) created a libqos/ subdirectory but left the
existing I2C libqos files libi2c*.[hc] in tests/. Clean this up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367502986-15104-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 743bddb4b35ceaaf6f95aea581a4130dcae6205a
Merge: a612925... e64dd5e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:15 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Eiichi Tsukata (2) and Kazuya Saito (2)
# Via Stefan Hajnoczi
* stefanha/tracing:
trace: document ftrace backend
trace: Add ftrace tracing backend
kvm-all: add kvm_run_exit tracepoint
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
Message-id: 1367582485-15579-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a612925b4184fa7aa37092db4fef816030640922
Merge: 25565e8... 7873df4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:07 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong (1) and Jason Wang (1)
# Via Stefan Hajnoczi
* stefanha/net:
tap: properly initialize vhostfds
net: make network client name unique
Message-id: 1367582254-15060-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25565e8595322b04902a09ebf877d80532f22fd1
Merge: c9e53a4... 86abefd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:02 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (8) and others
# Via Stefan Hajnoczi
* stefanha/block:
qemu-iotests: Filter out 'adapter_type'
nbd: support large NBD requests
nbd: use g_slice_new() instead of a freelist
qemu-iotests: Filter out vmdk creation options
vmdk: add bdrv_co_write_zeroes
vmdk: store fields of VmdkMetaData in cpu endian
vmdk: change magic number to macro
vmdk: Add option to create zeroed-grain image
vmdk: add support for â??zeroedâ??grainâ?? GTE
vmdk: named return code.
blockdev: Replace "undefined error" in qmp_block_resize
block: add read-only support to VHDX image format.
block: initial VHDX driver support framework - supports open and probe
block: vhdx header for the QEMU support of VHDX images
qemu: add castagnoli crc32c checksum algorithm
commit e64dd5efb2c6d522a3bc9d096cd49a4e53f0ae10
Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Date: Thu Apr 11 20:25:16 2013 +0900
trace: document ftrace backend
Add documentation of ftrace backend.
Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 781e9545dbe54d2f0a530edbf48fd0ac1e77244c
Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Date: Thu Apr 11 20:25:15 2013 +0900
trace: Add ftrace tracing backend
This patch adds a ftrace tracing backend which sends trace event to
ftrace marker file. You can effectively compare qemu trace data and
kernel(especially, kvm.ko when using KVM) trace data.
The ftrace backend is restricted to Linux only.
To try out the ftrace backend:
$ ./configure --trace-backend=ftrace
$ make
if you use KVM, enable kvm events in ftrace:
# sudo echo 1 > /sys/kernel/debug/tracing/events/kvm/enable
After running qemu by root user, you can get the trace:
# cat /sys/kernel/debug/tracing/trace
Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b76ac80a5ca9f2e19405419172c0dcaf0370d4f5
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 29 13:27:52 2013 +0900
kvm-all: add kvm_run_exit tracepoint
This patch enable us to know exit reason of KVM_RUN. It will help us
know where the trouble is caused.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9c7757290c6d80c2f5bde6fa71d2c9fe2b331c8c
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 29 13:27:05 2013 +0900
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
This patch adds tracepoints at ioctl to kvm. Tracing these ioctl is
useful for clarification whether the cause of troubles is qemu or kvm.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7873df408dd44eb92840b108211d5aa5db7db526
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Apr 19 15:11:15 2013 +0800
tap: properly initialize vhostfds
Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were
forgot, this will lead qemu to ignore all fds passed by management through
vhostfds, and tries to create vhost_net device itself. Fix by adding this
check
also.
Reportyed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Cc: Michal Privoznik <mprivozn@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c963530a5b3e3e0f7304841adfe84416d82f59f6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Apr 15 18:55:19 2013 +0800
net: make network client name unique
assign_name() creates a name MODEL.NUM, where MODEL is the client's model,
and NUM is the number of MODELs that already exist.
Markus added NIC naming for non-VLAN clients in commit 53e51d85.
commit d33d93b2 incorrectly added a judgement of net-hub. It caused
net clients created with -netdev get same names.
eg:
# qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
-device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
(qemu) info network
virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ h1:
index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
\ h2:
index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
This patch removed the check of nic-hub, and created unique names for
all net clients that have same model.
v2: update commitlog & comments
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 86abefd61e23325162e59e5bfb8f0346eda62541
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri May 3 15:31:16 2013 +0800
qemu-iotests: Filter out 'adapter_type'
Filter out vmdk creation option 'adapter_type' for vmdk. So that tests
with an explicit './check -o adapter_type=XXX' will not fail.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d8214885942becb8f4371a66d6f8c9a9580108a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 2 14:23:08 2013 +0200
nbd: support large NBD requests
The Linux nbd driver recently increased the maximum supported request
size up to 32 MB:
commit 078be02b80359a541928c899c2631f39628f56df
Author: Michal Belczyk <belczyk@xxxxxxxxxxxxx>
Date: Tue Apr 30 15:28:28 2013 -0700
nbd: increase default and max request sizes
Raise the default max request size for nbd to 128KB (from 127KB) to
get it
4KB aligned. This patch also allows the max request size to be
increased
(via /sys/block/nbd<x>/queue/max_sectors_kb) to 32MB.
QEMU's 1 MB buffers are too small to handle these requests.
This patch allocates data buffers dynamically and allows up to 32 MB per
request.
Reported-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1adb27a83f19799c454cead7bf930a0b3f2bb28
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 2 14:23:07 2013 +0200
nbd: use g_slice_new() instead of a freelist
Use GLib's efficient slice allocator instead of open-coding the request
freelist. This patch simplifies the NBDRequest code.
Now we qemu_blockalign() the req->data buffer each time but the next
patch switches from a fixed size buffer to a dynamic size anyway.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c9e53a4cf116dae72d779c7748153cedd2e84228
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Apr 29 08:08:23 2013 -0700
tcg-arm: Use movi32 in exit_tb
Avoid the mini constant pool for armv7, and avoid replicating
the test for pre-v7.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8ddaeb1be66246225fe5aeeec33e4e7b82762694
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Apr 29 08:08:22 2013 -0700
tcg-arm: Fix 64-bit tlb load for pre-v6
Found by inspection, since the effect of the bug was simply to
send all memory ops through the slow path.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 29851ee7c8bd3fb8542e21cd0270c73132590350
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Sun Apr 28 03:18:36 2013 +0200
target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB
This change corrects and simplifies how discard is calculated for shift
left logical vector instructions. It is used to detect overflow and set
bit
22 in the DSPControl register.
The existing tests (shll_ph.c, shll_qb.c) are extended with the corner
cases
that expose incorrectness in the previous implementation.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 50522d969be315457e3296d8a32990b58a203902
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri May 3 09:31:40 2013 +0800
qemu-iotests: Filter out vmdk creation options
Cover new image creation options for vmdk, so we can use '-o
zeroed_grain=XXX' and '-o subformat=XXX' to run the tests successfully.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cdeaf1f15909e2e8af38f45aea7cfa467a729c52
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:27 2013 +0800
vmdk: add bdrv_co_write_zeroes
Use special offset to write zeroes efficiently, when zeroed-grain GTE is
available. If zero-write an allocated cluster, cluster is leaked because
its offset pointer is overwritten by "0x1".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e304e8e5a05bc54c71c5f6fc76abd47410e59857
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:26 2013 +0800
vmdk: store fields of VmdkMetaData in cpu endian
Previously VmdkMetaData.offset is stored little endian while other
fields are cpu endian. This changes offset to cpu endian and convert
before writing to image.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 95b0aa4231dfc827ddc189138d6502cbca66d2b6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:25 2013 +0800
vmdk: change magic number to macro
Two hard coded flag bits are changed to macros.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69e0b6dfa455924842bfcbfa810fde34899f1350
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:24 2013 +0800
vmdk: Add option to create zeroed-grain image
Add image create option "zeroed-grain" to enable zeroed-grain GTE
feature of vmdk sparse extents. When this option is on, header version
of newly created extent will be 2 and VMDK4_FLAG_ZERO_GRAIN flag bit
will be set.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 14ead646fe7d5163c342ebd1e0aeb556ecf343a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:23 2013 +0800
vmdk: add support for â??zeroedâ??grainâ?? GTE
Introduced support for zeroed-grain GTE, as specified in Virtual Disk
Format 5.0[1].
Recent VMware hosted platform products support a new
â??zeroedâ??grainâ??
grain table entry (GTE). The zeroedâ??grain GTE returns all zeros on
read. In other words, the zeroedâ??grain GTE indicates that a grain
in the child disk is zeroâ??filled but does not actually occupy space
in storage. A sparse extent with zeroedâ??grain GTE has the following
in its header:
* SparseExtentHeader.version = 2
* SparseExtentHeader.flags has bit 2 set
Other than the new flag and the possibly zeroedâ??grain GTE, version 2
sparse extents are identical to version 1. Also, a zeroedâ??grain GTE
has value 0x1 in the GT table.
[1] Virtual Disk Format 5.0,
http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 65f7472577f9409d285b0216fae76c7c3f03fc41
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:22 2013 +0800
vmdk: named return code.
Internal routines in vmdk.c previously return -1 on error and 0 on
success. More return values are useful for future changes such as
zeroed-grain GTE. Change all the magic `return 0` and `return -1` to
macro names:
* VMDK_OK 0
* VMDK_ERROR (-1)
* VMDK_UNALLOC (-2)
* VMDK_ZEROED (-3)
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8732901e1b8a5add02a2b747875202133413d565
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu May 2 15:32:55 2013 +0200
blockdev: Replace "undefined error" in qmp_block_resize
We have an errno value that can be displayed, so we should just do that.
An easy way to reproduce this case is to resize a raw image to a size
that is too large for the host file system.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 059e2fbbca484a68ac7fd99d1d76409294551586
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:19 2013 -0400
block: add read-only support to VHDX image format.
This adds in read-only support to the VHDX image format. This supports
reads for fixed-size, and dynamic sized VHDX images.
Differencing files are still unsupported.
The image must be opened without BDRV_O_RDWR set, because we do not
yet update the headers. I.e., pass 'readonly=on' in the drive image
options from the QEMU commandline.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e8d4e5ffdb015959551726a5700c19b5d772ada4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:18 2013 -0400
block: initial VHDX driver support framework - supports open and probe
This is the initial block driver framework for VHDX image support
(i.e. Hyper-V image file formats), that supports opening VHDX files, and
parsing the headers.
This commit does not yet enable:
- reading
- writing
- updating the header
- differencing files (images with parents)
- log replay / dirty logs (only clean images)
This is based on Microsoft's VHDX specification:
"VHDX Format Specification v0.95", published 4/12/2012
https://www.microsoft.com/en-us/download/details.aspx?id=29681
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 203cdba3bc6fb6022dbece90483fe03ed33bcffb
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:17 2013 -0400
block: vhdx header for the QEMU support of VHDX images
This is based on Microsoft's VHDX specification:
"VHDX Format Specification v0.95", published 4/12/2012
https://www.microsoft.com/en-us/download/details.aspx?id=29681
These structures define the various header, metadata, and other
block structures defined in the VHDX specification.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e1b02b8ef2eefcb2ff3855531d7bc2ea71e1fb4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:16 2013 -0400
qemu: add castagnoli crc32c checksum algorithm
This adds the Castagnoli CRC32C algorithm, using the 0x11EDC6F41
polynomial.
This is extracted from the linux kernel cryptographic crc32.c module.
The algorithm is based on:
Castagnoli93: Guy Castagnoli and Stefan Braeuer and Martin Herrman
"Optimization of Cyclic Redundancy-Check Codes with 24
and 32 Parity Bits", IEEE Transactions on Communication,
Volume 41, Number 6, June 1993
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8ca27ce2e1150486ea2db4116a03706b28294f16
Merge: 0db4c32... e7bdf65...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 2 10:57:01 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Igor Mammedov (21) and others
# Via Andreas Färber
* afaerber/qom-cpu: (29 commits)
Drop redundant resume_all_vcpus() from main()
cpus: Fix pausing TCG CPUs while in vCPU thread
target-i386: Replace cpuid_*features fields with a feature word array
target-i386: Break CPUID feature definition lines
target-i386/kvm.c: Code formatting changes
target-i386: Group together level, xlevel, xlevel2 fields
pc: Implement QEMUMachine::hot_add_cpu hook
QMP: Add cpu-add command
Add hot_add_cpu hook to QEMUMachine
target-i386: Move APIC to ICC bus
target-i386: Attach ICC bus to CPU on its creation
target-i386: Introduce ICC bus/device/bridge
cpu: Move cpu_write_elfXX_note() functions to CPUState
kvmvapic: Make dependency on sysbus.h explicit
target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE
target-i386: Do not allow to set apic-id once CPU is realized
target-i386: Introduce apic-id CPU property
target-i386: Introduce feat2prop() for CPU properties
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
cpu: Add helper cpu_exists(), to check if CPU with specified id exists
...
commit 0db4c324a8c6f2b1b8a118146f9b0fc8c4210719
Merge: e9016ee... 6e860b5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 2 10:56:07 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Andreas Färber (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
pvscsi: fix compilation on 32 bit hosts
Trivial grammar and spelling fixes
configure: Pick up libseccomp include path
commit e7bdf659c16e1cefd61f53648503d8c060668d6b
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Aug 20 20:11:36 2012 +0200
Drop redundant resume_all_vcpus() from main()
VCPUs are either resumed directly via vm_start(), after the incoming
migration is done, or when a continue command is issued. We don't need
the explicit resume before entering main_loop().
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1085819368e8693f08307e72f0082d759f67ef03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu May 2 11:22:05 2013 +0200
cpus: Fix pausing TCG CPUs while in vCPU thread
Due to a preceding while loop, no CPU would've been put into stopped
state. Reinitialize the variable.
This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use
pause_all_vcpus from VCPU context) for non-KVM case.
While at it, change a 0 to false, amending commit
4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to
CPUState).
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0514ef2fbb3882afe410ba7800c79fd0ef5dbf00
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:15 2013 -0300
target-i386: Replace cpuid_*features fields with a feature word array
This replaces the feature-bit fields on both X86CPU and x86_def_t
structs with an array.
With this, we will be able to simplify code that simply does the same
operation on all feature words (e.g. kvm_check_features_against_host(),
filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit
property lookup/registration, and the proposed "feature-words" property)
The following field replacements were made on X86CPU and x86_def_t:
(cpuid_)features -> features[FEAT_1_EDX]
(cpuid_)ext_features -> features[FEAT_1_ECX]
(cpuid_)ext2_features -> features[FEAT_8000_0001_EDX]
(cpuid_)ext3_features -> features[FEAT_8000_0001_ECX]
(cpuid_)ext4_features -> features[FEAT_C000_0001_EDX]
(cpuid_)kvm_features -> features[FEAT_KVM]
(cpuid_)svm_features -> features[FEAT_SVM]
(cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX]
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27861ecc47cf9dc35961ac901e26abbd898c377c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:14 2013 -0300
target-i386: Break CPUID feature definition lines
Break lines on kvm_check_features_against_host(), kvm_cpu_fill_host(),
and builtin_x86_defs, so they don't get too long once the *_features
fields are replaced by an array.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fc7a504c0126b16aa2bd50d92584e9cc08f636a3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:13 2013 -0300
target-i386/kvm.c: Code formatting changes
Add appropriate spaces around operators, and break line where it needs
to be broken to allow feature-words array to be introduced without
having too-long lines.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90e4b0c3de2b3927e71f23d95c3c27d60e5c89cc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:12 2013 -0300
target-i386: Group together level, xlevel, xlevel2 fields
Consolidate level, xlevel, xlevel2 fields in x86_def_t and CPUX86State.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e860b5db4c76c66d7e02f93c9e22e0384bd3c6c
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed May 1 07:41:26 2013 +0200
pvscsi: fix compilation on 32 bit hosts
This fixes the following error:
In file included from qemu/include/trace.h:4:0,
from trace/generated-events.c:3:
./trace/generated-tracers.h: In function â??trace_pvscsi_get_sg_listâ??:
./trace/generated-tracers.h:4271:9: error: format â??%luâ?? expects
argument of
type â??long unsigned intâ??, but argument 4 has type â??size_tâ??
[-Werror=format]
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 805a25050272fe7cbbc2e9ce911612fc86c7b9a9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Apr 28 11:49:57 2013 +0200
Trivial grammar and spelling fixes
similiar -> similar
recieve -> receive
transfered -> transferred
preperation -> preparation
Most changes are in comments, one modifies a parameter name in a function
prototype.
The spelling fixes were made using codespell.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 372e47e9b5e31c493823d7f512716644fb02d0fd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Apr 28 16:27:26 2013 +0200
configure: Pick up libseccomp include path
openSUSE 12.3 has seccomp.h in /usr/include/libseccomp-1.0.1,
so add `pkg-config --cflags libseccomp` output to QEMU_CFLAGS.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c649983b582687bbdb4019e308f015913e31065e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 18:00:53 2013 +0200
pc: Implement QEMUMachine::hot_add_cpu hook
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 69ca3ea5e192251f27510554611bcff6f036a00b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:25 2013 +0200
QMP: Add cpu-add command
Adds "cpu-add id=xxx" QMP command.
cpu-add's "id" argument is a CPU number in a range [0..max-cpus)
Example QMP command:
-> { "execute": "cpu-add", "arguments": { "id": 2 } }
<- { "return": {} }
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:24 2013 +0200
Add hot_add_cpu hook to QEMUMachine
Hook should be set by machines that implement CPU hot-add
via cpu-add QMP command.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53a89e262bd3e97b2da3afec0a60e5466770ae8c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 19:03:01 2013 +0200
target-i386: Move APIC to ICC bus
It allows APIC to be hotplugged.
* map APIC's mmio at board level if it is present
* do not register mmio region for each APIC, since
only one is used/mapped
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62fc403f11523169eb4264de31279745f48e3ecc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 18:54:13 2013 +0200
target-i386: Attach ICC bus to CPU on its creation
X86CPU should have parent bus so it could provide bus for child APIC.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f0513d2c0156799e0c75a108ab9a049eea4f9607
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 17:02:50 2013 +0200
target-i386: Introduce ICC bus/device/bridge
Provides a hotpluggable bus for APIC and CPU.
* icc-bridge will serve as a parent for icc-bus and provide
mmio mapping services to child icc-devices.
* icc-device will replace SysBusDevice as a parent of APIC
and IOAPIC devices.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c72bf468259935a80ea185f2cbe807c3da9c1bbd
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 19 16:45:06 2013 +0200
cpu: Move cpu_write_elfXX_note() functions to CPUState
Convert cpu_write_elfXX_note() functions to CPUClass methods and pass
CPUState as argument. Update target-i386 accordingly.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[AF: Retain stubs as CPUClass' default method implementation; style
changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5f8df3ce6e0a057ec23cea74b6e629e59e085ac4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:30 2013 +0200
kvmvapic: Make dependency on sysbus.h explicit
Allows kvmvapic to compile if sysbus.h is removed from apic_internal.h,
from which it is indirectly included.
sysbus.h will be removed from apic_internal.h after converting
APICs to ICCDevice.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baaeda08ff34ad17150b50a6f52d0faec9f3db36
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:29 2013 +0200
target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE
Put APIC_SPACE_SIZE in a public header so that it can be
reused elsewhere later.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d6d4980c9421f3b9d1800dbc320da6a0bf754bd
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 26 19:51:52 2013 +0200
target-i386: Do not allow to set apic-id once CPU is realized
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 310509304e1a83c1926471f1984c1cbf7d813631
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:26 2013 +0200
target-i386: Introduce apic-id CPU property
The property is used from board level to set APIC ID for CPUs it
creates. Do so in a new pc_new_cpu() helper, to be reused for hot-plug.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 72ac2e876ddc6158f5b6d5f758d4e38c436010ed
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 26 18:04:32 2013 +0200
target-i386: Introduce feat2prop() for CPU properties
This helper replaces '_' with '-' in a uniform way.
As a side effect, even custom mappings must use '-' now.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
[AF: Split off; operate on NUL-terminated string rather than '='
delimiter]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8622725cf0196f672f272922b0941dc8ba1c408
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:25 2013 +0200
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
* introduce processor status bitmask visible to guest at 0xaf00 addr,
where ACPI asl code expects it
* set bit corresponding to APIC ID in processor status bitmask on
receiving CPU hot-plug notification
* trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 69e5ff067ae724155fd7465119ee6db5721288b6
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:24 2013 +0200
cpu: Add helper cpu_exists(), to check if CPU with specified id exists
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a37677c32bb313f5ba48aaf89f81cdc10c23ce56
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:42 2013 +0200
cpus: Use qemu_for_each_cpu() in TCG thread
Replaces an open-coded loop and hides unused CPUArchState.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d6b9e0d60cc511eca210834428bb74508cff3d33
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 24 22:58:04 2013 +0200
cpu: Add qemu_for_each_cpu()
Wrapper to avoid open-coded loops and to make CPUState iteration
independent of CPUArchState.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 997395d3888fcde6ce41535a8208d7aa919d824b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:41 2013 +0200
cpu: Introduce get_arch_id() method and override it for X86CPU
get_arch_id() adds possibility for generic code to get a guest-visible
CPU ID without accessing CPUArchState.
If derived classes don't override it, it will return cpu_index.
Override it on target-i386 in X86CPU to return the APIC ID.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8b7456d6ab7edb450ae5ec6473d3cd9a80412f4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:40 2013 +0200
pc: Update rtc_cmos on CPU hot-plug
It provides updated currently available CPUs count to BIOS on reboot.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 066e9b2710be887f435e0e899fa71f1f4314f702
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:39 2013 +0200
cpu: Introduce CPU hot-plug notifier
Hot-add CPU event will be distributed to acpi_piix4 and rtc_cmos.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6afb4721f3e45da727110470a61aafcd6682395e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:38 2013 +0200
cpu: Resume CPU from DeviceClass::realize() if hot-plugged
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2993683b0fde0f836777c945baaddcaa5937903f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:37 2013 +0200
cpu: Introduce cpu_resume(), for single CPU
Also add a stub for it, to make possible to use it in qom/cpu.c,
which is shared with user emulators.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13eed94ed5617b98e657163490584dc2a0cc4b32
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:36 2013 +0200
cpu: Call cpu_synchronize_post_init() from DeviceClass::realize()
If hotplugged, synchronize CPU state to KVM.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c4cfef5e8a6371aa5e6577f2b980315c2dc46cfb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:35 2013 +0200
cpu: Make kvm-stub.o available outside softmmu
It will provide stubs for *-user targets once softmmu-specific calls
are attempted from common CPU code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e9016ee2bda1b7757072b856b2196f691aee3388
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Apr 25 15:26:54 2013 +0800
virtio-net: count VIRTIO_NET_F_MAC when calculating config_len
Commit 14f9b664 (hw/virtio-net.c: set config size using host features)
tries to
calculate config size based on the host features. But it forgets the
VIRTIO_NET_F_MAC were always set for qemu later. This will lead a zero
config
len for virtio-net device when both VIRTIO_NET_F_STATUS and
VIRTIO_NET_F_MQ were
disabled form command line. Then qemu will crash when user tries to read
the
config of virtio-net.
Fix this by counting VIRTIO_NET_F_MAC and make sure the config at least
contains
the mac address.
Cc: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1366874814-2658-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f032464c06c563fe0df49eac9caaaa90a68a219
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 30 12:41:50 2013 +0300
sysemu: drop register_devices from header
No user in sight.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 20130430094149.GA29094@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit beb54a87ba74dfac00906b4c876945c6602cd293
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 10:52:52 2013 -0500
libqtest: only call fclose() on open files
libqtest.c can segfault when calling fclose() if the pidfile wasn't
opened successfully. This patch fixes the issue.
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1367250772-17928-1-git-send-email-jlarrew@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08eb8c85e3967b97865d46acadf26dc908fbb094
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Apr 26 11:24:47 2013 +0800
Wire up disabled wait a panicked event on s390
On s390 the disabled wait state indicates a state of attention.
For example Linux uses that state after a panic. Lets
put the system into panicked state.
An alternative implementation would be to state
disabled-wait <address> instead of pause in the action field.
(e.g. z/OS, z/VM and other classic OSes use the address of the
disabled wait to indicate an error code).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id:
6cf41156322e27e81a727b69f03728dbc225d5bb.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab135f3462af4c523a4b5969f9d6c67b2ac427a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:46 2013 +0800
pvpanic: create pvpanic by default for machine 1.5
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
f840042f0e1205041f8feaf0d39ca639884f3a00.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b42ffe60d8b510cd2f76ef50f6a1057f91a3dd34
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:45 2013 +0800
pvpanic: add document of pvpanic
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
a5db4ce406647e8f4663b639eae62d880531df8b.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10a584b2875a391d1036adac18955a892e56f5e3
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:44 2013 +0800
pvpanic: pass configurable ioport to seabios
This lets seabios patch the corresponding SSDT entry.
Also add fw_cfg object to /machine/fw_cfg so we can reference
it elsewhere.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
60c65d95fe2b23b12bea67099126566010a11a1a.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1dfe5057e5cf45b296ae67a7f84bdc6fa618d602
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:43 2013 +0800
fw_cfg: add required header files
If fw_cfg.h is included alone, gcc gives error messages like these:
error: unknown type name â??uint32_tâ??
error: unknown type name â??size_tâ??
error: unknown type name â??hwaddrâ??
...
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
d63f8bcdbfbec8135b1b57f9247c513a3e25762c.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eec3d2adc98dd9ef7352823ce6597f88a51cf7cb
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:42 2013 +0800
introduce a new qom device to deal with panicked event
pvpanic device is used to send guest panic event from guest to qemu.
When guest panic happens, pvpanic device driver will write a event
number to IO port 0x505(which is the IO port occupied by pvpanic device,
by default). On receiving the event, pvpanic device will pause guest
cpu(s), and send a qmp event QEVENT_GUEST_PANICKED.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
b66077a40235b3531632a05a6ff373850afc7d2e.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c401a8a5156a2596b285586002d544c595d40cf7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:41 2013 +0800
add a new qevent: QEVENT_GUEST_PANICKED
This event will be emited when qemu detects guest panic.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
cf0bc45ecf9ecd3699bc72dc39f8cbab8ed79d8c.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ede085b3fedfde36cb566968c4efcfbad4845af1
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:40 2013 +0800
add a new runstate: RUN_STATE_GUEST_PANICKED
The guest will be in this state when it is panicked.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cffc5113a421feba767af57ec87fdd53a29e9f9c
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Apr 29 14:35:08 2013 +0200
qdev: Report errors collected during device realization
Better than just releasing the error object silently.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 517E68FC.6030400@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7e7da8e35827abf602fa886fda1af9b001c20d3e
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Mon Apr 29 22:52:12 2013 +0800
rules.mk: Fix build breakage
The following error occurs when building dtc module:
CHK version_gen.h
CC libfdt/fdt.o
cc1: error: dtc: No such file or directory [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [libfdt/fdt.o] Error 1
make: *** [subdir-dtc] Error 2
In rules.mak, "-I$(<D) -I$(@D)" was expanded to "-Idtc -I." when
building submodule dct. Due to the using of "-Wmissing-include-dirs,
a warning would be rarsed. To avoid it, add "-I$(<D) -I$(@D)" to
QEMU_INCLUDES instead of QEMU_CFLAGS so that QEMU_CFLAGS does not
contain the "-Idtc".
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367247132-19622-1-git-send-email-riegamaths@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ab880b3a2f4b80bd5d8b18a312b3afed65dc036
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 30 15:02:16 2013 +0200
QOM: Fail casts for unknown types
When we try to cast an object to an unknown type, fail the cast. Today
we would simply run into an assert().
This fixes a bug on qemu-system-s390x for me that gets triggered by the
audio code looking for PCI and ISA buses.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367326936-28539-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7da6c60814a5c8703e9fa0d943ec3240e9d94ab
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 30 16:00:32 2013 +0200
pc_piix: remove undesired change in pc_init1
Introduced when applying commit f81222b (audio: look for the ISA and
PCI buses, 2013-04-18).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367330432-14417-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b3e6d591b05538056d665572f3e3bbfb3cbb70e7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:04 2013 +0200
audio: enable PCI audio cards for all PCI-enabled targets
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-9-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f81222bc0cf68464fe82117521917cc1533c3ff4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:03 2013 +0200
audio: look for the ISA and PCI buses
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-8-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2e1103f60a871923ecd390804aba07b6031e0dc0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:02 2013 +0200
qom: do not return root for empty path
An empty path will return the sole object of that type in the
QOM tree. This is different from "/", which returns the root.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:01 2013 +0200
audio: replace audio card configuration with default-configs
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f6547f07d41491d74179e8dd100f7477abdd43b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:00 2013 +0200
audio: remove CONFIG_* symbols
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ffa48cf5ab719e1e181e51b87bc0f5d397b791fa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:59 2013 +0200
audio: remove HAS_AUDIO
Several targets can have wavcapture/-soundhw support via PCI cards.
HAS_AUDIO is a useless limitation, remove it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36cd6f6f20724d49aac1910e310f81a43e0cb657
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:58 2013 +0200
audio: remove the need for audio card CONFIG_* symbols
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c444a1978fd9956c9712572d9ad0b83bbbc0a63
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:57 2013 +0200
adlib: qdev-ify
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7504ae690c7320f3852890974708795cf5469895
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:12 2013 +0800
doc: document the Pseudo-encoding of LED state
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-5-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7b2aaccd94a68c7927cae7ca47ced1bddc4f448
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:11 2013 +0800
vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-4-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab99e5c1d9f6a3f6fc2ce3b77b712221c647c7a5
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:10 2013 +0800
vnc: Support for LED state extension
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96f3d174bdfcc7d6205fa223ddc2cb01186dcd8f
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:09 2013 +0800
vnc: Add SCROLL lock key to kbd_leds
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a63e059de2f2936d2066532b9f8ca22675cf11c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Apr 28 18:45:47 2013 +0200
libqos: Convert fw_cfg values to host endianness
The fw_cfg ABI is Little Endian, so byte-swap the generically read
byte array to host endianness.
This unbreaks the fw_cfg tests on ppc.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367167547-19931-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61e477f4c731c4ff3f1a44dbfc55c8a5903c8d52
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:55 2013 +0200
wdt_ib700: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-21-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f02317ad4eca65a9a79b474b6d2d77ba87a57185
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:54 2013 +0200
vmport: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Drop reserved underscore from struct name while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-20-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3b7fbead827623ce521c8056a80050e8b35c578
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:53 2013 +0200
vmmouse: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of(). Prepares for ISA realizefn.
Remove reserved underscore from struct name while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-19-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a72dc5fc67cd2412be35dc17698a4eb4f7e00a0c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:52 2013 +0200
vga-isa: QOM'ify ISA VGA
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of(). Prepares for ISA realizefn.
Unify function naming scheme while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-18-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b582b5a398975d875d7e0b1c8f90817d01a8b20a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:51 2013 +0200
sga: QOM'ify
Introduce type constant and cast macro.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-17-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eeceb0849de2126185cf71860a449667fac2f0d7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:50 2013 +0200
serial: QOM'ify ISA serial
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-16-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 399f05a6e181c07611a93ac73025605cf24c4a6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:49 2013 +0200
sb16: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-15-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d367ece5e51d4f48687813eb5fe8d2a0e2e728d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:48 2013 +0200
pcspk: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-14-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2e0b863ebec1c9ceea9b7aab022a6378ea74136
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:47 2013 +0200
pckbd: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-13-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a0881c64081f750be2e44a9b7000e18e4cea065e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:46 2013 +0200
pc: QOM'ify port 92
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-12-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0dc5ee6bd0b16986a0f45ca778f3ead2398b2ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:45 2013 +0200
parallel: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-11-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe6f5deb6611c512abcb4cb46a275756295b3e79
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:44 2013 +0200
ne2000-isa: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-10-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0e41271ec4944ea5b63c98b8e497618709e954c3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:43 2013 +0200
mc146818rtc: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-9-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2772c70a9617c73875c5ee915b32ccb50f0bf90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:42 2013 +0200
m48t59: QOM'ify ISA M48T59 NVRAM
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-8-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2f12688b9310a0001330df71d22ad6dc9f39dd29
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:41 2013 +0200
ide: QOM'ify ISA IDE
Introduce type constant and cast macro to obsolete DO_UPCAST().
Add missing braces.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-7-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 29bb5317cb7b23422b2612025d56055bbf0bbd02
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:40 2013 +0200
i8259: QOM cleanups
Eliminate DO_UPCAST() for PICCommonState. Prepares for ISA realizefn.
Also give the i8259_common type registration functions unique names
while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-6-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eb1440e7ec522784f4351bb5e88436cc3cd9abd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:39 2013 +0200
i82374: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 020c8e7602fc6bf6a6ce62d99fb0a0882877ccd1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:38 2013 +0200
fdc: QOM'ify ISA floppy controller
Introduce type constant and cast macro to obsolete DO_UPCAST().
Reuse type constant for PC machine compatibility settings.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-4-git-send-email-afaerber@xxxxxxx
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d4c2f175510a447f1aa6641e1a2337958a7c6af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:37 2013 +0200
cirrus_vga: QOM'ify ISA Cirrus VGA
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 82407b6c347db5298e18a716e386d12569479e3d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:36 2013 +0200
applesmc: QOM'ify
Add a typedef for the state struct and rename from Status to State.
Add type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ec57db1630f9cdcd13c8c55acbc8daf5237aabf1
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Apr 25 15:24:23 2013 +0800
virtio-net: unbreak the minix guest
Multiqueue patchset conditionally add control vq only when guest
negotiate the
feature. Though the spec is not clear on this but it breaks the minix
guest
since it will identify the ctrl vq even if it does not support it. Though
this
behavior seems a violation on the spec "If the VIRTIO_NET_F_CTRL_VQ
feature bit
is negotiated, identify the control virtqueue.", to keep the backward
compatibility, always add the ctrl vq at end of the queues.
Reported-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1366874663-2566-1-git-send-email-jasowang@xxxxxxxxxx
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b48df71c916478ff658d143d0742e85c78348fad
Merge: 45dddd9... 9adea5f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 29 08:26:47 2013 -0500
Merge remote-tracking branch 'bonzini/migration-writev' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/migration-writev:
win32: add readv/writev emulation
win32: generate console executable again
win32: move Makefile dependencies on version-obj-y to rules.mak
win32: add generic RC rules to rules.mak
Message-id: 1367230284-24612-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 45dddd90c339254d1ebc34ef719d84f3495c151b
Merge: 903ce9f... ae12e3a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 29 08:26:39 2013 -0500
Merge remote-tracking branch 'alon/libcacard_ccid.2' into staging
# By Cole Robinson
# Via Alon Levy
* alon/libcacard_ccid.2:
ccid: Fix crash when backend isn't specified
Message-id: 20130426234357.GA12457@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9adea5f7f7a23ef4a1231289a36a94c52347b142
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Apr 21 12:01:06 2013 +0200
win32: add readv/writev emulation
Commit e9d8fbf (qemu-file: do not use stdio for qemu_fdopen, 2013-03-27)
introduced a usage of writev, which mingw32 does not have. Even though
qemu_fdopen itself is not used on mingw32, the future-proof solution is
to add an implementation of it. This is simple and similar to how we
emulate sendmsg/recvmsg in util/iov.c.
Some files include osdep.h without qemu-common.h, so move the definition
of iovec to osdep.h too, and include osdep.h from qemu-common.h
unconditionally (protection against including files when NEED_CPU_H is
defined is not needed since the removal of AREG0).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 903ce9fefacd828bbcadd656ddaed8984139be29
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:13 2013 +0200
sparc64: use direct interrupt mapping for PCI devices
Every PCI Slot in PBM has 4 directly mapped IRQ lines.
Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number)
described in Section 19.3.3 of UltraSPARCâ?¢-IIi User's Manual.
Please note that this patch requires the OpenBIOS counterpart patch.
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9625036d14bdcc908fa06cd45599115258452c46
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:12 2013 +0200
sparc64: fix loosing interrupts
- clear interrupts only on writing to the interrupt clear registers
- don't overwrite a currently active interrupt request
- use the correct addresses for the interrupt clear registers
(section 19.3.3.3 of the UltraSPARCâ?¢-IIi Userâ??s Manual)
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 852e82f303884139ba59f7f26e761d937a25fa55
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:11 2013 +0200
sparc64: allow 64 IRQ lines
According to UltraSPARCâ?¢-IIi Userâ??s Manual, PBM has 64 IRQ lines.
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 96fbd7de3656583d647c204c4138bbdcc3e35d2b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 23 13:07:40 2013 -0700
tcg-arm: Remove long jump from tcg_out_goto_label
Branches within a TB will always be within 16MB.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit df5e0ef711cdd2ebfd4bdf420bfde17aa28df8b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 13 15:24:33 2013 -0700
tcg-arm: Convert to CONFIG_QEMU_LDST_OPTIMIZATION
Move the slow path out of line, as the TODO's mention.
This allows the fast path to be unconditional, which can
speed up the fast path as well, depending on the core.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 302fdde73f88fd958acfa18b670eed092eab21a0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 13 13:40:43 2013 -0700
tcg-arm: Use movi32 + blx for calls on v7
Work better with branch predition when we have movw+movt,
as the size of the code is the same. Perhaps re-evaluate
when we have a proper constant pool.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 595b5397cc589d694ec3af660b21f483e8142f69
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 23 08:38:50 2013 -0700
tcg-arm: Delete the 'S' constraint
After the previous patch, 's' and 'S' are the same.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 702b33b1d5f8fee7e5799af450375671264a9ebd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 23:18:30 2013 -0700
tcg-arm: Improve scheduling of tcg_out_tlb_read
The schedule was fully serial, with no possibility for dual issue.
The old schedule had a minimal issue of 7 cycles; the new schedule
has a minimal issue of 5 cycles.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cee87be80a6e9cc853e07a4d3afc694604c9ac8d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 18:18:07 2013 -0700
tcg-arm: Split out tcg_out_tlb_read
Share code between qemu_ld and qemu_st to process the tlb.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9feac1d77010b371501728256be96bf91b641985
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 15:06:53 2013 -0700
tcg-arm: Cleanup most primitive load store subroutines
Use even more primitive helper functions to avoid lots of duplicated code.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34358a12c8a8f2f85a1420fa0a1112de1c6a55af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 10:34:18 2013 -0700
tcg-arm: Cleanup multiply subroutines
Make the code more readable by only having one copy of the magic
numbers, swapping registers as needed prior to that. Speed the
compiler by not applying the rd == rn avoidance for v6 or later.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13dd6fb962930a4b1d74f9b22342d1eb15e9194e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 09:50:25 2013 -0700
tcg-arm: Use R12 for the tcg temporary
R12 is call clobbered, while R8 is call saved. This change
gives tcg one more call saved register for real data.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4346457a47732cc0bd3a8f36d743624dc277ea55
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 09:49:04 2013 -0700
tcg-arm: Use TCG_REG_TMP name for the tcg temporary
Don't hard-code R8.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0637c56c99be1c73f5814c7f02c0735242b757e5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 22:11:30 2013 -0700
tcg-arm: Implement division instructions
An armv7 extension implements division, present on Cortex A15.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b6b24cb031d1d6e6f50abf0c8bdc1c309e549156
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 21:12:30 2013 -0800
tcg-arm: Implement deposit for armv7
We have BFI and BFC available for implementing it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e86e0f2807fbadee09d9e06f11df69339cbbd94c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 23:16:24 2013 -0800
tcg-arm: Improve constant generation
Try fully rotated arguments to mov and mvn before trying movt
or full decomposition. Begin decomposition with mvn when it
looks like it'll help. Examples include
-: mov r9, #0x00000fa0
-: orr r9, r9, #0x000ee000
-: orr r9, r9, #0x0ff00000
-: orr r9, r9, #0xf0000000
+: mvn r9, #0x0000005f
+: eor r9, r9, #0x00011000
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2df3f1ee68269d40f5dcb5e8d9aba0869e150896
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 19:51:56 2013 -0700
tcg-arm: Handle constant arguments to add2/sub2
We get to re-use the _rIN and _rIK subroutines to handle the various
combinations of add vs sub. Fold the << 21 into the opcode enum values
so that we can explicitly add TO_CPSR as desired.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d53b4c93caf16531e65a95a9b5c93228fe48f8b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 18:21:59 2013 -0700
tcg-arm: Use tcg_out_dat_rIN for compares
This allows us to emit CMN instructions.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9fda57549877045aa0ec91d2a067a67cb41a29f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 18:04:14 2013 -0700
tcg-arm: Allow constant first argument to sub
This allows the generation of RSB instructions.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9a86ae95d24c587285856405dffc9cacdf2b683
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 22:06:21 2013 -0800
tcg-arm: Handle negated constant arguments to and/sub
This greatly improves code generation for addition of small
negative constants.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19b62bf4148d834c709c464f6fb1c6b72f906250
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 21:36:45 2013 -0800
tcg-arm: Use bic to implement and with constant
This greatly improves the code we can produce for deposit
without armv7 support.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d6b64b2b606fe0fe5f2208e84ff7a28445de666a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Mar 31 13:15:19 2013 -0700
tcg: Log the contents of the prologue with -d out_asm
This makes it easier to verify changes to the code
generating the prologue.
[Aurelien: change the format from %i to %zu]
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ae12e3a643c66575c77211e1226ada041e56b889
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Sun Apr 14 16:06:59 2013 -0400
ccid: Fix crash when backend isn't specified
Reproducer:
./x86_64-softmmu/qemu-system-x86_64 -device usb-ccid,id=ccid0 -usb
-device ccid-card-emulated -monitor stdio
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit fc4d60ee16e9c20404e9970b421ac3e96df4c214
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 17:11:40 2013 -0700
tcg-arm: Fix local stack frame
We were not allocating TCG_STATIC_CALL_ARGS_SIZE, so this meant that
any helper with more than 4 arguments would clobber the saved regs.
Realizing that we're supposed to have this memory pre-allocated means
we can clean up the tcg_out_arg functions, which were trying to do
more stack allocation.
Allocate stack memory for the TCG temporaries while we're at it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ed605126a8d826e60587cc21d9e7b95e8c49b6f6
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Apr 21 00:42:56 2013 +0200
tcg: fix deposit_i64 op on 32-bit targets
On 32-bit TCG targets, when emulating deposit_i64 with a mov_i32 +
deposit_i32, care should be taken to not overwrite the low part of
the second argument before the deposit when it is the same the
destination.
This fixes the shld instruction in qemu-system-x86_64, which in turns
fixes booting "system rescue CD version 2.8.0" on this target.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 27 00:37:46 2013 +0200
target-ppc: slightly optimize lfiwax
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 076bfd7c65ce08c18d0c375e3779be25206ee2b7
Merge: 75f6e8b... 7d08d85...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 27 00:33:23 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (30 commits)
target-ppc: add support for extended mtfsf/mtfsfi forms
target-ppc: emulate store doubleword pair instructions
target-ppc: emulate load doubleword pair instructions
target-ppc: emulate lfiwax instruction
target-ppc: emulate fcpsgn instruction
target-ppc: emulate prtyw and prtyd instructions
target-ppc: emulate cmpb instruction
target-ppc: add instruction flags for Book I 2.05
disas: Disassemble all ppc insns for the guest
target-ppc: optimize fabs, fnabs, fneg
PPC: Fix dcbz for linux-user on 970
powerpc: correctly handle fpu exceptions.
pseries: Generate device paths for VIO devices
pseries: Convert VIO code to QOM style type safe(ish) casts
target-ppc: Synchronize VPA state with KVM
pseries: Fix some small errors in XICS logic
target-ppc: Add more stubs for POWER7 PMU registers
pseries: Fixes and enhancements to L1 cache properties
pseries: Fix incorrect calculation of RMA size in certain configurations
PPC: Fix compile with profiling enabled
...
commit c12915e638a31010923b8dbbf8ce06f564a175f9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 24 22:57:59 2013 +0200
win32: generate console executable again
The -mwindows option is not anymore in LIBS at this point of the Makefile,
it is only in libs_softmmu. Check the right variable.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c02817e5bfbb27955cac970019e6670dc427bc41
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Apr 27 00:27:48 2013 +0200
win32: move Makefile dependencies on version-obj-y to rules.mak
This makes the test on $(LIBTOOL) work. Otherwise, LIBTOOL
is /bin/false by the time the test is done.
Fixes Win32 compilation without a working cross-libtool.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6821cdc7c857c6af47277e98dde24cc99ddc0531
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Apr 27 00:25:31 2013 +0200
win32: add generic RC rules to rules.mak
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7d08d85645def18eac2a9d672c1868a35e0bcf79
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:22 2013 +0000
target-ppc: add support for extended mtfsf/mtfsfi forms
Power ISA 2.05 adds support for extended mtfsf/mtfsfi form, with a new
W field to select the upper part of the FPCSR register.
For that the helper is changed to handle 64-bit input values and mask with
up to 16 bits. The mtfsf/mtfsfi instructions do not have the W bit
marked as invalid anymore. Instead this is checked in the helper, which
therefore needs to access to the insns/insns_flags2. They are added in
the DisasContext struct. Finally change all accesses to the opcode fields
through extract helpers, prefixed with FP for consistency.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 44bc0c4d3e90bfa1fafdbcc19d023d2d4b119eed
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:21 2013 +0000
target-ppc: emulate store doubleword pair instructions
Needed for Power ISA version 2.05 compliance. The check for odd register
pairs is done using the invalid bits.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05050ee8049f9fe75ffcac4a5aa053b5631653bf
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:20 2013 +0000
target-ppc: emulate load doubleword pair instructions
Needed for Power ISA version 2.05 compliance. The check for odd register
pairs is done using the invalid bits.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 199f830d19576c77a5ed8fec81c218258d73f1dd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:19 2013 +0000
target-ppc: emulate lfiwax instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[agraf: fix tcg debug error]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f03328882f8008fc299d5f8ae33b9a80571fea3c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:18 2013 +0000
target-ppc: emulate fcpsgn instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 725bcec2885d4f6df78e24fb54459c9efb97abd5
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:17 2013 +0000
target-ppc: emulate prtyw and prtyd instructions
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[agraf: fix 32-bit host compile, simplify code]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcfda20f2f5df30d88d087d443c1c08649df8827
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:16 2013 +0000
target-ppc: emulate cmpb instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c2627b09d1bdee8a58730bbf48c76be48bd659f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:15 2013 +0000
target-ppc: add instruction flags for Book I 2.05
.. and enable it on POWER7 CPU.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88770fec6c8daeb96c1f5cdbedff9df173431fd6
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:14 2013 +0000
disas: Disassemble all ppc insns for the guest
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf45a2e67cab8fcccb24e389bbd4ef68866a1cff
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:13 2013 +0000
target-ppc: optimize fabs, fnabs, fneg
fabs, fnabs and fneg are just flipping the bit sign of an FP register,
this can be implemented in TCG instead of using softfloat.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 414f5d1448fef9aad6d37f1d40d1158396573447
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Apr 26 09:18:58 2013 +0200
PPC: Fix dcbz for linux-user on 970
The default with linux-user for dcbz on 970 is to emulate 32 byte clears.
However, redoing the dcbzl support we added a check to not honor the bit
in HID5 that sets this.
Remove the #ifdef check on linux user, so that we get 32 byte clears
again.
Reported-by: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit db72c9f256ae70b30c5d5985234f085df4226c55
Author: Tristan Gingold <gingold@xxxxxxxxxxx>
Date: Tue Apr 9 05:00:55 2013 +0000
powerpc: correctly handle fpu exceptions.
Raise the exception on the first occurence, do not wait for the next
floating point operation.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4eda5b7234265313b09c2c9f9fdd3a960db97db
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:17 2013 +0000
pseries: Generate device paths for VIO devices
This patch implements a get_dev_path qdev hook for the pseries paravirtual
VIO bus. With upcoming savevm support, this will become very important
for
scsi disks hanging of VIO virtual SCSI adapters. scsibus_get_dev_path
uses the get_dev_path of the parent adapter if available, but otherwise
just uses a local channel/target/lun number to identify the device. So if
two disks are present in the system having the same target and lun on
seperate VIO scsi adapters, savevm cannot distinguish them. Since the
conventional way of using VSCSI adapters is to have just one disk per
adapter, such a conflict is very likely.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fd506b4f61cd22793f8c54a9adf5c69345792501
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:16 2013 +0000
pseries: Convert VIO code to QOM style type safe(ish) casts
Curerntly the pseries VIO device code contains quite a few explicit
uses of DO_UPCAST and plain C casts. This is (obviously) type unsafe,
and not the conventional way of doing things in the QOM model. This
patch converts the code to use the QOM convention of per-type macros
to do verified casts with OBJECT_CHECK().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9b00ea4906a618756bcd10f09d432780eab87782
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:22 2013 +0000
target-ppc: Synchronize VPA state with KVM
For PAPR guests, KVM tracks the various areas registered with the
H_REGISTER_VPA hypercall. For full emulation, of course, these are
tracked
within qemu. At present these values are not synchronized. This is a
problem for reset (qemu's reset of the VPA address is not pushed to KVM)
and will also be a problem for savevm / migration.
The kernel now supports accessing the VPA state via the ONE_REG interface,
this patch adds code to qemu to use that interface to keep the qemu and
KVM ideas of the VPA state synchronized.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e03c902cb617414dae49d77a810f6957ff7affac
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:21 2013 +0000
pseries: Fix some small errors in XICS logic
Under certain circumstances the emulation for the pseries "XICS" interrupt
controller was clearing a pending interrupt from the XISR register,
without
also clearing the corresponding priority variable. This will cause
problems later when can trigger sanity checks in the under-development
in-kernel XICS implementation.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 702763fa322ea69dde92517735507e0ac3879b5d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:20 2013 +0000
target-ppc: Add more stubs for POWER7 PMU registers
In addition to the performance monitor registers found on nearly all
6xx chips, the POWER7 has two additional counters (PMC5 & PMC6) and an
extra control register (MMCRA). This patch adds stub support for them to
qemu - the registers won't do anything, but with this change won't cause
illegal instruction traps accessing them. They're also registered with
their ONE_REG ids, so their value will be kept in sync with KVM where
appropriate.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0cbad81f70546b58f08de3225f1eca7a8b869b09
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:19 2013 +0000
pseries: Fixes and enhancements to L1 cache properties
PAPR requires that the device tree's CPU nodes have several properties
with information about the L1 cache. We already create two of these
properties, but with incorrect names - "[id]cache-block-size" instead
of "[id]-cache-block-size" (note the extra hyphen).
We were also missing some of the required cache properties. This
patch adds the [id]-cache-line-size properties (which have the same
values as the block size properties in all current cases). We also
add the [id]-cache-size properties.
Adding the cache sizes requires some extra infrastructure in the
general target-ppc code to (optionally) set the cache sizes for
various CPUs. The CPU family descriptions in translate_init.c can set
these sizes - this patch adds correct information for POWER7, I'm
leaving other CPU types to people who have a physical example to
verify against. In addition, for -cpu host we take the values
advertised by the host (if available) and use those to override the
information based on PVR.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f36951c19f15f3c053a31234bd2c297d86c1a052
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:18 2013 +0000
pseries: Fix incorrect calculation of RMA size in certain configurations
For the pseries machine, we need to advertise to the guest the size of its
RMA - that is the amount of memory it can access with the MMU off. For HV
KVM, this is constrained by the hardware limitations on the virtual RMA of
one hash PTE per PTE group in the hash page table. We already had code to
calculate this, but it was assuming the VRMA page size was the same as the
(host) backing page size for guest RAM.
In the case of a host kernel configured for 64k base page size, but
running
on hardware (or firmware) which only allows 4k pages, the hose will do all
its allocations with a 64k page size, but still use 4k hardware pages for
actual mappings. Usually that's transparent to things running under the
host, but in the case of the maximum VRMA size it's not.
This patch refines the RMA size calculation to instead use the largest
available hardware page size (as reported by the SMMU_INFO call) which is
less than or equal to the backing page size. This now gives the correct
RMA size in all cases I've tested.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c8ff5daa09516272117eb23cd00da5d188ba73eb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Apr 19 02:35:08 2013 +0200
PPC: Fix compile with profiling enabled
When using profiling, we rely on profile_getclock() being available
at our disposal. Somehow that function got moved from an indirect
include we used to have in translate-init.c, so that we were now
left not properly compiling anymore.
Add an explicit include to timer.h which defines profile_getclock,
so that we can compile again.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 20f649dd22dae13301c906c27a8768a318591ae8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 4 18:45:07 2013 +0200
PPC: mac newworld: fix cpu NIP reset value
On -M mac99, we can run 970 CPUs. However, these CPUs define the initial
instruction pointer they start execution at as part of their bootup
protocol,
so effectively it's up to the board to decide where they start.
This went unnoticed, because they used to boot at the same location our
flash
was mapped to, but due to the recent reset changes our 970 CPUs want to
reset
to 0x100 now, which is always a 0 instruction.
Set the initial IP to something reasonable for -M mac99.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
commit 31f2cb8ff415e376b05335dcf63ba38c00f29e5e
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Sun Feb 24 18:16:21 2013 +0000
Enable kvm emulated watchdog
Enable the KVM emulated watchdog if KVM supports (use the
capability enablement in watchdog handler). Also watchdog exit
(KVM_EXIT_WATCHDOG) handling is added.
Watchdog state machine is cleared whenever VM state changes to running.
This is to handle the cases like return from debug halt etc.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: rebase to current code base, fix non-kvm cases]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cae7f586419ad261f55ef8700bf8f3fa5b4879d4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 4 15:40:44 2013 +0200
linux-headers: Update to kvm/queue
Based on kvm.git queue branch with commit e1e2e605.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 752d634ecc74c76eb5e32db0e536d84c2d6aa3d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Apr 3 10:56:45 2013 +0000
target-ppc: Fix narrow-mode add/sub carry output
Broken in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a, the carry itself was
fixed in 79482e5ab38a05ca8869040b0d8b8f451f16ff62. But we still need to
produce the full 64-bit addition.
Simplify the conditions at the top of the functions for when we need a
new temporary. Only plain addition is important enough to warrent
avoiding
the temporary, and the extra tcg move op that would come with it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2bc173224adc0fc318f2bd6fcf65dfdbc7d51123
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Wed Apr 3 04:03:38 2013 +0000
PPC: Add breakpoint registers for 603 and e300
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 29 02:06:28 2013 +0000
PPC: fix hreset_vector for 60x, 7x0, 7x5, G2, MPC8xx, MPC5xx, 7400 and
7450
According to the different user's manuals, the vector offset for system
reset (both /HRESET and /SRESET) is 0x00100.
This patch may break support of some executables, as the power-on start
address may change. For a specific board, if the power-on start address
is different than HRESET vector (i.e. 0x00000100 or 0xfff00100), this
should be fixed in board's initialization code.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e7a6db96566fe4162edaeb3e8b62fc8004d1598
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 14:33:16 2013 +0000
target-ppc: fix nego and subf*o instructions
The overflow computation of nego and subf*o instructions has been broken
in commit ffe30937. Contrary to other targets, the instruction is subtract
from an not subtract on PowerPC.
This patch fixes the issue by using the correct argument in the xor
computation. Thanks to Peter Maydell for the hint.
With this change the PPC emulation passes the Gwenole Beauchesne
testsuite again.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2cf3eb6df552cee74b52de9989e270b74e42847e
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 29 02:06:27 2013 +0000
PPC: Remove env->hreset_excp_prefix
This value is not needed if we use correctly the MSR[IP] bit.
excp_prefix is always 0x00000000, except when the MSR[IP] bit is
implemented and set to 1, in that case excp_prefix is 0xfff00000.
The handling of MSR[IP] was already implemented but not used at reset
because the value of env->msr was changed "manually".
The patch uses the function hreg_store_msr() to set env->msr, this
ensures a good handling of MSR[IP] at reset, and therefore a good value
for excp_prefix.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3b961124bf8a0b490e4fc3a6a39e004500ae6967
Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Date: Sat Mar 30 06:40:49 2013 +0000
PPC: e500: advertise 4.2 MPIC only if KVM supports EPR
Older KVM versions don't support EPR which breaks guests when we announce
MPIC variants that support EPR.
Catch that case and expose only MPIC version 2.0 which tells the guest
that
we don't support the EPR capability yet.
Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
[agraf: Add comment, route cap check through kvm_ppc.c]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e71ec2e93dad4446d245031382e30b377640d9ca
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 05:06:23 2013 +0000
target-ppc: Enable ISEL on POWER7
ISEL is a Power ISA 2.06 instruction and thus is available on POWER7.
Given this is trapped and emulated by the Linux kernel, I guess it went
unnoticed.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 75f6e8b0f121beeee6a95eb9e35d88ec1f01824f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Sun Apr 14 03:14:49 2013 +0000
virtio-rng-s390: add properties.
I don't see any reason why these properties are missing.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Note: Need to apply virtio-rng-refactoring first!
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3474b679486caa8f6448bae974e131370f360c13
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Thu Apr 25 04:25:51 2013 +0000
Utilize selective runtime reg sync for hot code paths
Make use of new kvm_s390_get_registers_partial() for
kvm_handle_css_inst() and
handle_hypercall() since they only need registers from the partial set
and they
are called quite frequently.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 420840e58b85f7f4e5493dca3f273566f261090a
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Thu Apr 25 04:25:50 2013 +0000
Allow selective runtime register synchronization
We want to avoid expensive register synchronization IOCTL's on the hot
path so
a new kvm_s390_get_registers_partial() is introduced as a compliment to
kvm_arch_get_registers(). The new function is called on the hot path, and
kvm_arch_get_registers() is called when we need the complete runtime
register
state.
kvm_arch_put_registers() is updated to only sync the partial runtime set
when
we've only dirtied the partial runtime set. This is to avoid sending bad
data
back to KVM if we've only partially synced the runtime register set.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7dc5af5545bb72e1343cc959b3f0e5cdd8758f1f
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 26 02:12:49 2013 +0000
Common: Add quick access to first boot device
Instead of manually parsing the boot_list as character stream,
we can access the nth boot device, specified by the position in the
boot order.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba747cc8f31a1de7e0a20e7f0cf97965be338e70
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:12:54 2013 +0200
S390: CCW: Use new, working firmware by default
Since we now have working firmware for s390-ccw in the tree, we can
default to it on our s390-ccw machine, rendering it more useful.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0c1fecdd5234ba4bb0406362d38f8806a5be8fcc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:10:50 2013 +0200
S390: ccw firmware: Add compiled blob
Now that we have all the source code ready, add a compiled blob into
the QEMU source tree, so that people without access to an s390 compiler
can run the s390-ccw firmware.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit abbbe3de4aea92319f77cc9d402e983513d08539
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:55 2013 +0000
s390-ccw.img: Get queue config from host.
Ask the host about the configuration instead of guessing it.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0f3f1f302fd2021a5ce6cb170321d0a0d35bdec5
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:54 2013 +0000
s390-ccw.img: Rudimentary error checking.
Try to handle at least some of the errors that may happen.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 776e7f0f215dd11dde85277723408fae3d319143
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:53 2013 +0000
s390-ccw.img: Enhance drain_irqs().
- Use tpi + tsch to get interrupts.
- Return an error if the irb indicates problems.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 22d67ab55aad82383a0e5628b902a1a0556b2fc9
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:52 2013 +0000
s390-ccw.img: Detect devices with stsch.
stsch is the canonical way to detect devices. As a bonus, we can
abort the loop if we get cc 3, and we need to check only the valid
devices (dnv set).
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dc03640b5851d3115448493f0eee2b7f539de81a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:04 2013 +0000
s390-ccw.img: Fix compile warning in s390 ccw virtio code
Lets fix this gcc warning:
virtio.c: In function â??vring_send_bufâ??:
virtio.c:125:35: error: operation on â??vr->next_idxâ?? may be undefined
[-Werror=sequence-point]
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6328801f19b08302377e812c454fd2b837f669e3
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:05 2013 +0000
s390-ccw.img: Take care of the elf->img transition
We have to call strip with s390-ccw.elf as input and
s390-ccw.img as output
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9933c30509f97e04be0a348659f38b5f53c1ad5c
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:03 2013 +0000
s390-ccw.img: build s390-ccw rom on s3900 system by default
Lets build the s390-ccw rom if on s390. Also fix the separate build
folder case.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f61cbc108dd16df9a53649d53f26143ad506fe1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:02 2013 +0000
s390-ccw.img: replace while loop with a disabled wait on s390 bios
dont waste cpu power on an error condition. Lets stop the guest
with a disabled wait.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b462fcd57c0949e4dfd457fafa91db17e0e99113
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:03:39 2013 +0200
S390: ccw firmware: Add Makefile
This patch adds a makefile, so we can build our ccw firmware. Also
add the resulting binaries to .gitignore, so that nobody is annoyed
they might be in the tree.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 685d49a63e0665f609973ffe4ba34f06981e1b03
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:02:49 2013 +0200
S390: ccw firmware: Add bootmap interpreter
On s390, there is an architected boot map format that we can read to
boot a certain entry off the disk. Implement a simple reader for this
that always boots the first (default) entry.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c9c39d3b5ea870073703141ba04813c7a8779b02
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:01:49 2013 +0200
S390: ccw firmware: Add glue header
Like all great programs, we have to call between different functions in
different object files. And all of them need a common ground of defines.
Provide a file that provides these defines.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e17c2c15b354a1e6c1d1ad41bb17f7bf146e9ba
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:01:00 2013 +0200
S390: ccw firmware: Add virtio device drivers
In order to boot, we need to be able to access a virtio-blk device through
the CCW bus. Implement support for this.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0369b2eb0707970c5f031b3ece84ccda953a8375
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:59:25 2013 +0200
S390: ccw firmware: Add sclp output
In order to communicate with the user, we need an I/O mechanism that he
can read. Implement SCLP ASCII support, which happens to be the default
in the s390 ccw machine.
This file is missing read support for now. It can only print messages.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 92f2ca38b01578075208799dd2f060fcc3638ed4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:57:58 2013 +0200
S390: ccw firmware: Add main program
This C file is the main driving piece of the s390 ccw firmware. It
provides a search for a workable block device, sets it as the default
to boot off of and boots from it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80fea6e8930384d7d8adae0eb1a00acb7647f7ec
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:56:08 2013 +0200
S390: ccw firmware: Add start assembly
We want to write most of our code in C, so add a small assembly
stub that jumps straight into C code for us to continue booting.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d0249ce5a8d11564958262fd567d1ea770358134
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:52:53 2013 +0200
S390: IPL: Use different firmware for different machines
We have a virtio-s390 and a virtio-ccw machine in QEMU. Both use vastly
different ways to do I/O. Having the same firmware blob for both doesn't
really make any sense.
Instead, let's parametrize the firmware file name, so that we can have
different blobs for different machines.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3325995640e0a598c4c350a1a02357b422e90973
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:47:32 2013 +0200
S390: IPL: Support ELF firmware
Our firmware blob is always a raw file that we load at a fixed address
today.
Support loading an ELF blob instead that we can map high up in memory.
This way we don't have to be so conscious about size constraints.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74ad2d22c1f6e2b24412f6b2adea7d6f9a719047
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:44:39 2013 +0200
S390: Make IPL reset address dynamic
We can have different load addresses for different blobs we boot with.
Make the reset IP dynamic, so that we can handle things more flexibly.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf9b255f484fd61cbaa91faeff254140a0ecd18c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:48:46 2013 -0500
gtk: refactor menu creation
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c34688f9015c5dacc81efc4f2a0df5742d9c927c
Merge: 186b027... 859e555...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:32:17 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Liu Yuan (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
sheepdog: fix loadvm operation
sheepdog: resend write requests when SD_RES_READONLY is received
sheepdog: add helper function to reload inode
sheepdog: add SD_RES_READONLY result code
sheepdog: cleanup find_vdi_name
rbd: Fix use after free in rbd_open()
block: Disable driver-specific options for 1.5
sheepdog: implement .bdrv_co_is_allocated()
sheepdog: use BDRV_SECTOR_SIZE
sheepdog: add discard/trim support for sheepdog
block/ssh: Require libssh2 >= 1.2.8.
Message-id: 1366976682-10251-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 186b027d98a3c91c1c6dee631a027d5b2a0fce25
Merge: a1bff71... 6ea8430...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:32:13 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Ed Maste (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
bsd-user: Track change in FreeBSD SYSCTL(9) types
virtio: Fix compilation without CONFIG_VHOST_SCSI
qemu-doc: Option -ignore-environment removed.
s390x: use CONFIG_INT128 to detect __uint128_t
linux-user: fix compile error due to stray colon at end of #ifdef line
Message-id: 1366975563-16216-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 859e5553a428225de6b8ef302cdcfd68d140b926
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Thu Apr 25 20:49:39 2013 +0800
sheepdog: fix loadvm operation
Currently the 'loadvm' opertaion works as following:
1. switch to the snapshot
2. mark current working VDI as a snapshot
3. rely on sd_create_branch to create a new working VDI based on the
snapshot
This works not the same as other format as QCOW2. For e.g,
qemu > savevm # get a live snapshot snap1
qemu > savevm # snap2
qemu > loadvm 1 # This will steally create snap3 of the working VDI
Which will result in following snapshot chain:
base <-- snap1 <-- snap2 <-- snap3
^
|
working VDI
snap3 was unnecessarily created and might be annoying users.
This patch discard the unnecessary 'snap3' creation. and implement
rollback(loadvm) operation to the specified snapshot by
1. switch to the snapshot
2. delete working VDI
3. rely on sd_create_branch to create a new working VDI based on the
snapshot
The snapshot chain for above example will be:
base <-- snap1 <-- snap2
^
|
working VDI
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c31de2fdd534c065ce4710f6e8df3921e98c4f
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:54 2013 +0900
sheepdog: resend write requests when SD_RES_READONLY is received
When a snapshot is taken from out side of qemu (e.g. qemu-img
snapshot), write requests to the current vdi return SD_RES_READONLY.
In this case, the sheepdog block driver needs to update the current
inode to the latest one and resend the write requests.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ff53a0eb89afacfa1ba56b009d40be942d3bd63
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:53 2013 +0900
sheepdog: add helper function to reload inode
This adds a helper function to update the current inode state with the
specified vdi object.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a0b5490338ed0fdf55c43062c88dd7638f05d6d
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:52 2013 +0900
sheepdog: add SD_RES_READONLY result code
Sheepdog returns SD_RES_READONLY when qemu sends write requests to the
snapshot vdi. This adds the result code and makes sd_strerror() print
its error reason.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 982dcbf4cbe80fa362c1edc37b2ced1cb8bcf37b
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:51 2013 +0900
sheepdog: cleanup find_vdi_name
This makes 'filename' and 'tag' constant variables, and renames
'for_snapshot' to 'lock' to clear how it works.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3ca988d2b0ee94dc8d53eff4b1c2de4ac06a270
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 25 15:59:27 2013 +0200
rbd: Fix use after free in rbd_open()
Commit a9ccedc3 frees the QemuOpts for the driver-specific options
immediately, even though it still needs the filename string that is
contained there. This doesn't work. Move the deletion of the QemuOpts to
the end of the function where its content isn't needed any more.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 24 15:29:29 2013 +0200
block: Disable driver-specific options for 1.5
We don't want to commit to the API yet before everything is worked out.
Disable it for the 1.5 release. This commit is meant to be reverted
after the 1.5 release.
The disabling of the driver-specific options is achieved by applying the
old checks while parsing the command line.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8d71c63137600a41b5b959217c0492278536b3dc
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:35 2013 +0800
sheepdog: implement .bdrv_co_is_allocated()
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e8bfaa2faeb7c9585a5586aafaad5f3affc37814
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:34 2013 +0800
sheepdog: use BDRV_SECTOR_SIZE
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cac8f4a60fc5c372bacd59eeff0646955fb4f246
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:33 2013 +0800
sheepdog: add discard/trim support for sheepdog
The 'TRIM' command from VM that is to release underlying data storage for
better thin-provision is already supported by the Sheepdog.
This patch adds the TRIM support at QEMU part.
For older Sheepdog that doesn't support it, we return 0(success) to upper
layer.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4fc16838b8392a29644d4d2c01495e6ff447a6f0
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Fri Apr 19 09:16:39 2013 +0100
block/ssh: Require libssh2 >= 1.2.8.
libssh2 >= 1.2.8 is required to enable this block device (because
that version introduced the libssh2_session_handshake call).
Change the test to use pkg-config exclusively. If the user requests
--enable-libssh2 and the minimum version is not available, then the
following error is displayed:
$ ./configure --enable-libssh2
ERROR: libssh2 >= 1.2.8 required for --enable-libssh2
If --enable-libssh2 is not specified, then the feature is silently
disabled if sufficiently new libssh2 is not available.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6ea8430d98c48eb67e47d14dfe8c0fdb86413555
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 13:59:41 2013 -0400
bsd-user: Track change in FreeBSD SYSCTL(9) types
Originally from Garrett Cooper in FreeBSD PR ports/155558
http://www.freebsd.org/cgi/query-pr.cgi?pr=155558
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b702d2aebeb6b1392f42262f537f70e6890233a7
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 13:38:28 2013 -0400
virtio: Fix compilation without CONFIG_VHOST_SCSI
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 48c75f484de13d59df6ae0e6becfe4ad4cd41ad5
Author: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
Date: Thu Apr 25 18:41:16 2013 +0200
qemu-doc: Option -ignore-environment removed.
Has been removed in commit fc9c54124d134dbd76338a92a91804dab2df8166.
Signed-off-by: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d49b8e0b299df3f0472945eb6d33b8413d102046
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Apr 23 18:15:12 2013 +0100
s390x: use CONFIG_INT128 to detect __uint128_t
Target s390x uses ad-hoc macro magic to guess if the compiler
supports the GCC extension __uint128_t. This patch uses the
the dedicated macro CONFIG_INT128 defined by configure instead.
This fixes compilation with the CIL source code analyzer, which
uses GCC as a preprocessor but does not support __uint128_t.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7edd2cf1a2eace84e3f8753e912449ae8871802f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Apr 21 13:30:03 2013 +0100
linux-user: fix compile error due to stray colon at end of #ifdef line
Remove a stray colon from the end of a #ifdef line. Some versions
of gcc complain about this:
linux-user/syscall.c: In function â??do_syscallâ??:
linux-user/syscall.c:7606:28: error: extra tokens at end of #ifdef
directive [-Werror]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-By: Riku Voipio <riku.voipio@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a1bff71c56f2d1048244c829b63797940dd4ba0e
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Apr 23 14:27:09 2013 +0200
microblaze: Add internal base vectors reg
Configurable at CPU synthesis/instantiation.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e3351000cd682200835763caca87adf708ed1c65
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Apr 22 14:41:28 2013 +1000
Makefile: Use QEMU_FLAGS for DTC compilation
Build DTC as QEMU is built. Fixes the issue with mingw build which can't
handles DTC's default CFLAGS.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9005a51b096272e1834638f8e184706548ee7364
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Apr 22 14:40:49 2013 +1000
Makefile: Don't build shared libfdt
The submodule DTC should just build and use DTC as static (the whole
motivation for using submod is lack of widespread distro support).
The .so causes build failures on some platforms, so adjust the make
target to just build the static lib.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 5257144a7860313c8cf19271c85f76fcbd123c39
Merge: 79f2007... 1f8f987...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Apr 25 15:57:27 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: introduce query-command-line-options
Message-id: 1366922656-32545-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 79f2007578a0a205e25a6f299cc52d6732337089
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Apr 25 13:53:02 2013 +0200
qemu-char: Set foo_tag = 0 when returning FALSE from callbacks
While reviewing some patches I found this problem where tcp_chr_accept
does not clear listen_tag when returning FALSE, leading to a double
g_source_remove of the underlying source. Not really a problem unless the
id
gets re-used in between, but still something we should fix.
While at it I've also reviewed all the other code in qemu-char.c for
similar problems and found that pty_chr_timer has the same problem.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1366890782-10311-1-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4dcd8ace175a1a6bfb8945d8ae1906be051b36b
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 12:17:11 2013 -0400
Remove unnecessary FreeBSD #include
sys/param.h was included to define __FreeBSD_version, but the conditional
using it was removed by commit d05ef160453e98546a4197496dc8a3cb2defac53
(Brad Smith, "Allow clock_gettime() monotonic clock to be utilized on more
OS's"), so the include is no longer needed here.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1366906631-2680-1-git-send-email-emaste@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d3002b0463727bf8110833b9d1a6efaa28990c28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 25 09:33:19 2013 +0200
console: add dummy surface for guests without graphic card
So users get a notification instead of a crash.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5209089fcd1373c363dc424827593ffaced12203
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 23 15:44:31 2013 +0200
console: zap ds arg from register_displaychangelistener
We don't have multiple DisplayStates any more,
so passing it in as argument is not needed.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cdd5b9375744130e2f49548a3cac7be176a931ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 23 13:26:59 2013 +0200
console: switch ppm_save to qemu_open
... so it works with fdset.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 14a936490bf90df32ab83d13563efe4b4c768c3c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 07:30:40 2013 +0200
console: add qemu_console_lookup_by_device
Look up the QemuConsole for a given device, using the new link.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aa2beaa1f57ca329cfceece08cc19d52368e6a8f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 17 10:21:27 2013 +0200
console: add device link to QemuConsoles
So it is possible to figure which qemu console displays which device.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95be0669a353d7f4093876a8fe94474e39c7af9d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 17 09:45:10 2013 +0200
console: qom-ify QemuConsole
Just the minimal bits to turn QemuConsoles into Objects.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1f8f987d349f8f1bace4b47a83323b68ab0e084c
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Apr 25 17:50:35 2013 +0800
monitor: introduce query-command-line-options
Libvirt has no way to probe if an option or property is supported,
This patch introduces a new qmp command to query command line
option information. hmp command isn't added because it's not needed.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
CC: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
CC: Osier Yang <jyang@xxxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7c4869761d7f2e0a3f806a5359eea5d2473ec5d5
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Apr 23 17:15:19 2013 +0200
virtio-ccw: Check indicators location.
If a guest neglected to register (secondary) indicators but still runs
with notifications enabled, we might end up writing to guest zero;
avoid this by checking for valid indicators and only writing to the
guest and generating an interrupt if indicators have been setup.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 9953f8822cc316eec9962f0a2858c3439a80adec
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:03 2013 +0200
pc: Kill the "use flash device for BIOS unless KVM" misfeature
Use of a flash memory device for the BIOS was added in series "[PATCH
v10 0/8] PC system flash support", commit 4732dca..1b89faf, v1.1.
Flash vs. ROM is a guest-visible difference. Thus, flash use had to
be suppressed for machine types pc-1.0 and older. This was
accomplished by adding a dummy device "pc-sysfw" with property
"rom_only":
* Non-zero rom_only means "use ROM". Default for pc-1.0 and older.
* Zero rom_only means "maybe use flash". Default for newer machines.
Not only is the dummy device ugly, it was also retroactively added to
the older machine types! Fortunately, it's not guest-visible (thus no
immediate guest ABI breakage), and has no vmstate (thus no immediate
migration breakage). Breakage occurs only if the user unwisely
enables flash by setting rom_only to zero. Patch review FAIL #1.
Why "maybe use flash"? Flash didn't (and still doesn't) work with
KVM. Therefore, rom_only=0 really means "use flash, except when KVM
is enabled, use ROM". This is a Bad Idea, because it makes enabling/
disabling KVM guest-visible. Patch review FAIL #2.
Aside: it also precludes migrating between KVM on and off, but that's
not possible for other reasons anyway.
Fix as follows:
1. Change the meaning of rom_only=0 to mean "use flash, no ifs, buts,
or maybes" for pc-i440fx-1.5 and pc-q35-1.5. Don't change anything
for older machines (to remain bug-compatible).
2. Change the default value from 0 to 1 for these machines.
Necessary, because 0 doesn't work with KVM. Once it does, we can flip
the default back to 0.
3. Don't revert the retroactive addition of device "pc-sysfw" to older
machine types. Seems not worth the trouble.
4. Add a TODO comment asking for device "pc-sysfw" to be dropped once
flash works with KVM.
Net effect is that you get a BIOS ROM again even when KVM is disabled,
just like for machines predating the introduction of flash.
To get flash instead, use "--global pc-sysfw.rom_only=0".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd028f64f662c801fd5a54d0e3a1d2baeee93ea
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:02 2013 +0200
pc: Split pc_init_pci_1_0() off pc_init_pci_1_2()
Just to make the next commit easier to review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36afbc5135062ccd7d0166ffc3ddbca052d05c71
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:01 2013 +0200
pc: Inline pc_init_pci_1_3() into pc_init_pci_1_2()
Just to make the commit after next easier to review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1bfffe21a686ab273abce5ef12e8d2a3de320023
Merge: f3aa844... 57f9783...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 24 13:23:26 2013 -0500
Merge remote-tracking branch 'alon/libcacard_ccid.1' into staging
# By Alon Levy (15) and others
# Via Alon Levy
* alon/libcacard_ccid.1: (28 commits)
libcacard/cac: change big switch functions to single return point
dev-smartcard-reader: empty implementation for Mechanical (fail
correctly)
libcacard: move atr setting from macro to function
libcacard/vreader: add debugging messages for apdu
dev-smartcard-reader: copy atr protocol to ccid parameters
dev-smartcard-reader: change default protocol to T=0
dev-smartcard-reader: define structs for CCID_Parameter internals
ccid-card-passthru, dev-smartcard-reader: add debug environment
variables
ccid-card-passthru: add atr check
libcacard: change default ATR
dev-smartcard-reader: reuse usb.h definitions
dev-smartcard-reader: support windows guest
dev-smartcard-reader: remove aborts (never triggered, but just in case)
dev-smartcard-reader: nicer debug messages
dev-smartcard-reader: white space fixes
libcacard: remove default libcoolkey loading
libcacard: remove sql: prefix
libcacard: teach vscclient to use GMainLoop for portability
libcacard: vscclient to use QemuThread for portability
libcacard: split vscclient main() from socket reading
...
Message-id: 921423767.1475937.1366790789930.JavaMail.root@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3aa844bbb2922a5b8393d17620eca7d7e921ab3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 10:50:38 2013 +0200
build: include config-{, all-}devices.mak after defining CONFIG_SOFTMMU
and CONFIG_USER_ONLY
Moving the inclusions closer to Makefile, and before rules.mak, makes
Makefile and Makefile.target more consistent with each other.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1366102238-12374-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fca0a70cdb629b1184f80a7531def457f528b4ca
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:23 2013 +0200
virtio: drop unused function prototypes.
This removes the unused prototypes in virtio.h.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a1a8cc7af5741a4221e1c5bc80c41390d896ff5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:22 2013 +0200
virtio: cleanup: init and exit function.
This clean the init and the exit functions and rename
virtio_common_cleanup
to virtio_cleanup.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c819449836b926d6f9db860127211ef092da88e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:21 2013 +0200
virtio: remove virtiobindings.
This remove virtio-bindings, and use class instead.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 181103cd52710b987799ae980bb92407994243bc
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:20 2013 +0200
virtio: remove the function pointer.
This remove the function pointer in VirtIODevice, and use only
VirtioDeviceClass function pointer.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2f1078b70b6cfc98ed795f17f9d975b1dec1f65
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:19 2013 +0200
virtio-pci: cleanup.
This remove the init, exit functions as they are no longer used.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d51fcfac8aca37f5f10981d2229681474de6304d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:18 2013 +0200
virtio-bus: make virtio_x_bus_new static.
virtio_x_bus_new are only used in file scope.
So this make them static.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5d448f9dac460d0adf7d7549a9c324f50f1dd1e2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:17 2013 +0200
virtio-bus: add new functions.
This add two functions:
* virtio_bus_set_vdev_config.
* virtio_bus_set_vdev_feature.
Needed by virtio-ccw.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 611aa333b472c3fee5d4aed3b7e007621797e895
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:08:01 2013 +0200
virtio-rng: cleanup: use QOM casts.
As the virtio-rng-pci, virtio-rng-s390 and virtio-rng-ccw are
switched to the new API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 65f3b678f5b825010a1d167e82dca26ca84a199d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:08:00 2013 +0200
virtio-rng: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 46a5a89d654573425b63f8a7a613833973955f35
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:59 2013 +0200
virtio-rng: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2db26d4ca240bc0f04898253b9469a2435665084
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:58 2013 +0200
virtio-rng-ccw: switch to the new API.
Here the virtio-rng-ccw is modified for the new API. The device
virtio-rng-pci extends virtio-pci. It creates and connects a
virtio-rng-device
during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0bca1f531312037ab988b883ea3df85ddd2cc5b1
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:57 2013 +0200
virtio-rng-s390: switch to the new API.
Here the virtio-rng-s390 is modified for the new API. The device
virtio-rng-s390 extends virtio-s390-device as before. It creates and
connects a virtio-rng during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 59ccd20a9ac719cff82180429458728f03ec612f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:56 2013 +0200
virtio-rng-pci: switch to the new API.
Here the virtio-rng-pci is modified for the new API. The device
virtio-rng-pci extends virtio-pci. It creates and connects a
virtio-rng-device
during the init. The properties are not changed.
The virtio_pci_reset function, is removed as no longer used.
The virtio_pci_rst function, is renamed virtio_pci_reset.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6eac8aec02b1e9c5a626820bcca7654cb7d006a7
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:55 2013 +0200
virtio-rng: add virtio-rng device.
Create virtio-rng-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit af1a8ad6467eb7056573bc3580d3d1824a05224a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:54 2013 +0200
virtio-rng: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-rng properties. So *conf is replaced by conf.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5a37532d0897de488c35ab2db6d86647bd2a1b6f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 12:08:38 2013 +0200
input: introduce keyboard handler list
Add a linked list of keyboard handlers. Added handlers will go
to the head of the list. Removed handlers will be zapped from
the list. The head of the list will be used for events.
This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events
will be re-routed to the ps/2 kbd instead of being discarded.
[ v2: fix cut+paste bug found my Markus ]
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1366798118-3248-3-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72711efb58c13e28c89813490120b32947a2d719
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 12:08:37 2013 +0200
input: make QEMUPutLEDEntry + QEMUPutMouseEntry private
There is no need for anybody outside ui/input.c to access the
struct elements. Move the definitions, leaving only the typedefs
in the header files.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1366798118-3248-2-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3ac6b53d4e8ed6fa2ca1af87c68a8b7d5535220
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed Apr 24 18:37:22 2013 +0800
ich9: kill cmos_s3
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366799842-18550-1-git-send-email-hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57f97834efe0c208ffadc9d2959f3d3d55580e52
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 21:43:36 2013 +0200
libcacard/cac: change big switch functions to single return point
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 58aeda15abb963196faaa4a0f23c5af45840f1b0
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 17:31:10 2013 +0200
dev-smartcard-reader: empty implementation for Mechanical (fail correctly)
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 0b6a16c1a47b622b1a692ab179013d9e30e9cf3b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 16:27:43 2013 +0200
libcacard: move atr setting from macro to function
Only because qemu's checkpatch complains about it.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 7a6858962457c54be44715d6562504c765d9ea76
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:32:19 2013 +0200
libcacard/vreader: add debugging messages for apdu
Using g_debug with log domain libcacard
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 2f8f916b6d4482976bb5cf179f65aa2cfcd1aec9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:58:29 2013 +0200
dev-smartcard-reader: copy atr protocol to ccid parameters
Adds todos.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d7d218ef02d87c637d20d64da8f575d434ff6f78
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Mar 27 10:14:15 2013 +0200
dev-smartcard-reader: change default protocol to T=0
We don't support T=1 so we shouldn't advertise it by default.
Two independent changes:
* Default ATR
sets T=0. This gets overwritten by the client provided ATR later.
* Class descriptor
changes dwAdvertise dwProtocols.PPPP to 0x1 and dwProtocols.RRRR=0 per
spec.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 4942d6c39477f441a106430ab11f85806b4532f5
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:57:45 2013 +0200
dev-smartcard-reader: define structs for CCID_Parameter internals
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit b16352acf3105000e14f194b556e159d5d06cff9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:41:28 2013 +0200
ccid-card-passthru, dev-smartcard-reader: add debug environment variables
Introduces a new utility function: parse_debug_env to avoid code
duplication.
This overrides whatever debug value is set on the corresponding devices
from the command line, and is meant to ease the usage with any
management stack. For libvirt you can set environment variables by
extending the dom namespace, i.e:
<domain type='kvm' id='3'
xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<qemu:commandline>
<qemu:env name='QEMU_CCID_PASSTHRU_DEBUG' value='4'/>
<qemu:env name='QEMU_CCID_DEBUG' value='4'/>
</qemu:commandline>
</domain>
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 0e61400c1941aabc9f45d5ff961b57337c7caac6
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:39:09 2013 +0200
ccid-card-passthru: add atr check
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit a26dfd95d33d650f9f9f93b6ee6f03be925db1a8
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:35:24 2013 +0200
libcacard: change default ATR
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 693e47738d05463b2743b0a652412d33cf254977
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:31:26 2013 +0200
dev-smartcard-reader: reuse usb.h definitions
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit c5cd7c875608911ec74817d24cd12b825014ba19
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 21:40:53 2013 +0200
dev-smartcard-reader: support windows guest
By not advertising USB wakeup support (which we don't).
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 47bf53af7507986fc473cb308324340448fd85e7
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:55:07 2013 +0200
dev-smartcard-reader: remove aborts (never triggered, but just in case)
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 7e1ac5abe3fbbfee4ddfc2d9971a644bd787e055
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:50:33 2013 +0200
dev-smartcard-reader: nicer debug messages
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 4543d43c6181d90f86fb528430f250810dde03d5
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:45:49 2013 +0200
dev-smartcard-reader: white space fixes
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit ad2181f2b612cd8bf0a790faa2a1b51559f7234b
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Mar 20 14:07:49 2013 +0100
libcacard: remove default libcoolkey loading
Use only the modules defined in the NSS database.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 667e0b4b6806d53e0b46e29a15d24427ef958c78
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Mar 20 14:07:48 2013 +0100
libcacard: remove sql: prefix
For some reason, with sql:/ prefix, the PKCS11 modules are not loaded.
This patch goes on top of Alon smartcard series.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit c9495ee9eb57786f5a60d4591bb186b23f6b6bef
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:16 2013 +0100
libcacard: teach vscclient to use GMainLoop for portability
This version handles non-blocking sending and receiving from the
socket.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 930c8ad472ec00d40cfbf1e9b1395946bf0dd392
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:15 2013 +0100
libcacard: vscclient to use QemuThread for portability
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit a50b831ae1fe039b7c22793f307e0b8afdf50589
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:14 2013 +0100
libcacard: split vscclient main() from socket reading
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 5354e4d242175e067bb70732f694ae9322a81351
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:13 2013 +0100
libcacard: fix mingw64 cross-compilation
Compile and link with version.lo
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 37746c5eacf309fa019ea0fa45f776c36c561457
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:12 2013 +0100
build-sys: must link with -fstack-protector
It is needed to give that flag to the linker as well, but latest
libtool 2.4.2 still swallows that argument, so let's pass it with
libtool -Wc argument.
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to
`__stack_chk_guard'
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit d3bf825e59125bc6a0accec0dca119ea0155cb82
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:11 2013 +0100
util: move socket_init() to osdep.c
vscclient needs to call socket_init() for portability.
Moving to osdep.c since it has no internal dependency.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e2d9c5e769d59f2bca649b8286892d49bdcfc2b1
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Feb 27 21:08:06 2013 +0100
libcacard: use system config directory for nss db on win32
It's a bit nicer to look for default database under
CSIDL_COMMON_APPDATA\pki\nss rather that /etc/pki/nss.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit da000a4867749434e03896a5072321771736352a
Author: Jim Meyering <meyering@xxxxxxxxxx>
Date: Mon May 21 21:51:33 2012 +0200
ccid: declare DEFAULT_ATR table to be "static const"
Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d18c7117467aa5fae95a7c6eaffcf50618197e79
Author: Jim Meyering <meyering@xxxxxxxxxx>
Date: Mon May 21 21:56:20 2012 +0200
ccid: make backend_enum_table "static const" and adjust users
Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d0ebd78890fba2ab458ec34763dae8566ccb1b72
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Nov 21 14:16:08 2012 +0100
ccid-card-emul: do not crash if backend is not provided
Program received signal SIGSEGV, Segmentation fault.
__strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164
164 movdqu (%rsi), %xmm2
(gdb) bt
at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:477
at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:503
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e2fd2115ce26049335d66ae0ae5e5c0ad06fb498
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Sun Dec 2 22:00:55 2012 +0100
libcacard: correct T0 historical bytes size
The VCARD_ATR_PREFIX macro adds a prefix of 6 characters only.
pcsc_scan was complaining before the patch:
+ Historical bytes: 56 43 41 52 44 5F 4E 53 53
ERROR! ATR is truncated: 2 byte(s) is/are missing
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit bb71623811686ce3c34ce724f073f5c5dd95f51b
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 22 10:41:39 2013 -0400
Move TPM passthrough specific command line options to backend structure
Move the TPM passthrough specific command line options to the passthrough
backend implementation and attach them to the backend's interface
structure.
Add code to tpm.c for validating the TPM command line options.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryan <coreyb@xxxxxxxxxxxxxxxxxx>
Message-id: 1366641699-21420-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 13daf6cad05a65970381cd8b876426d55133aadf
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:43 2013 +0200
virtio-9p: cleanup: QOM casts.
As the virtio-9p-pci is switched to the new API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e8111e50557761b0d86cd5c90fe7a272aeddd7a3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:42 2013 +0200
virtio-9p: cleanup: init function.
This remove old init function as it is no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 234a336f9e308ae60ad8ef8f2662eb0a93d7ff00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:41 2013 +0200
virtio-9p-pci: switch to the new API.
Here the virtio-9p-pci is modified for the new API. The device
virtio-9p-pci extends virtio-pci. It creates and connects a
virtio-9p-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7303c43031302279ee7b5d6ea7031bf81e2e2d9
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:40 2013 +0200
virtio-9p: add the virtio-9p device.
Create virtio-9p-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 93b971c4ff0881349d4fa5a1394cc3d6faf351c3
Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Date: Tue Apr 23 13:04:16 2013 +0300
ui/gtk: Add Turkish translations
Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Message-id: 1366711456-1935-1-git-send-email-ozancag@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 571253d410d6050637ccd3b6c122a3ad61e2ab25
Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Date: Tue Apr 23 13:03:22 2013 +0300
ui/gtk: Use gtk_widget_get_window() to support both gtk2 and gtk3
This fixes build with gtk+-3.0.
Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Message-id: 1366711402-1750-1-git-send-email-ozancag@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2cfd5cc06ab14879964c8bbd5595d416490605ea
Merge: 4567367... 3f5cc97...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 23 10:33:45 2013 -0500
Merge remote-tracking branch 'kraxel/usb.81' into staging
# By Gerd Hoffmann (3) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.81:
usb-host: raise libusbx minimum version to 1.0.13
usb: better speed mismatch error reporting
ehci_free_packet: Discard finished packets when the queue is halted
xhci: remove XHCIRing->base (unused)
Message-id: 1366705929-11251-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3f5cc97e2ba00b34fd20a5553ed9d2fecf32f7e3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 12:16:44 2013 +0200
usb-host: raise libusbx minimum version to 1.0.13
Allows to remove one FIXME. Makes LIBUSB_LOG_LEVEL_WARNING build errors
go away. And starting with that version libusb has a LIBUSBX_API_VERSION
define which allows to easily #ifdef version dependencies should that
need arrive in the future.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3b7e759a4110690c9617b1ffa6a7c96a343a330d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 11:57:21 2013 +0200
usb: better speed mismatch error reporting
Report the supported speeds for device and port in the error message.
Also add the speeds to the tracepoint. And while being at it drop
the redundant error message in usb_desc_attach, usb_device_attach will
report the error anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e449f26bed42b1d8c6efefcd8dc768f23f19458f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 9 10:24:22 2013 +0200
ehci_free_packet: Discard finished packets when the queue is halted
With pipelining it is possible to encounter a finished packet when
cleaning
the queue due to a halt. This happens when a non stall error happens while
talking to a real device. In this case the queue on the usb-host side will
continue processing packets, and we can have completed packets waiting in
the queue after an error condition packet causing a halt.
There are 2 reasons to discard the completed packets at this point, rather
then trying to writing them back to the guest:
1) The guest expect to be able to cancel and/or change packets after the
packet with the error without doing an unlink, so writing them back may
confuse the guest.
2) Since the queue does not advance when halted, the writing back of these
packets will fail anyways since p->qtdaddr != q->qtdaddr, so the
ehci_verify_qtd call in ehci_writeback_async_complete_packet will fail.
Note that 2) means that then only functional change this patch introduces
is the printing of a warning when this scenario happens.
Note that discarding these packets means that the guest driver and the
device
will get out of sync! This is unfortunate, but should not be a problem
since
with a non stall error (iow an io-error) the 2 are out of sync already
anyways.
Still this patch adds a warning to signal this happening.
Note that sofar this has only been seen with a DVB-T receiver, which gives
of a MPEG-2 stream, which allows for recovering from lost packets, see:
https://bugzilla.redhat.com/show_bug.cgi?id=890320
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d04c2b75562664a28612d7481f328ee4ec51dda
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 13:03:08 2013 +0200
xhci: remove XHCIRing->base (unused)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 456736710df19c2275192269fe67a3f0b2583835
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Apr 22 17:48:40 2013 +0200
block: Fix build with tracing enabled
filename was still uninitialised when it's used as a parameter to a
tracing function, so let's move the initialisation. Also, commit c2ad1b0c
forgot to add a NULL check, which this patch adds while we're at it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366645720-11384-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e36d6ca34243fdc9f48f4bdbe5fca2b19162bfa
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 16 17:08:36 2013 -0400
tpm: Simplify creation of cancel path
Simplify the creation of the cancel path given the TPM's device path.
Given the path /dev/tpm0 build the path
/sys/class/misc/tpm0/device/cancel.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1366146516-23814-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56863d4f19c854acc5ebf5f5c1b590eb8164851a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Apr 21 14:30:03 2013 +0100
qtest: Handle addresses and values for {in, out}[bwl] as unsigned
Handle the addresses and values for {in,out}[bwl] as unsigned (ie
with strtoul), as per the protocol specification comment. This fixes
a test failure in test_i440fx_defaults on 32-bit hosts where the test
tries to write 0x80000000 and qtest was instead writing 0x7fffffff.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1366551003-16649-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 888a6bc63c94ef34026399117ebf6a1fa0e7a29a
Author: Satoru Moriya <satoru.moriya@xxxxxxx>
Date: Fri Apr 19 16:42:06 2013 +0200
Add option to mlock qemu and guest memory
In certain scenario, latency induced by paging is significant and
memory locking is needed. Also, in the scenario with untrusted
guests, latency improvement due to mlock is desired.
This patch introduces a following new option to mlock guest and
qemu memory:
-realtime mlock=on|off
Signed-off-by: Satoru Moriya <satoru.moriya@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366382526-26146-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b316774f60291f57ca9ecb6a9f0712c532cae34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:09 2013 +0200
qemu-char: do not operate on sources from finalize callbacks
Due to a glib bug, the finalize callback is called with the GMainContext
lock held. Thus, any operation on the context from the callback will
cause recursive locking and a deadlock. This happens, for example,
when a client disconnects from a socket chardev.
The fix for this is somewhat ugly, because we need to forego polymorphism
and implement our own function to destroy IOWatchPoll sources. The
right thing to do here would be child sources, but we support older
glib versions that do not have them. Not coincidentially, glib developers
found and fixed the deadlock as part of implementing child sources.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Message-id: 1366385529-10329-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdbf6e165988ab9d7c01da03b9e27bb8ac0c76aa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:08 2013 +0200
qemu-char: correct return value from chr_read functions
Even if a CharDriverState's source is blocked by the front-end,
it must not be dropped. The IOWatchPoll that wraps it will take
care of adding and removing it to the main loop. Only remove
the source when the channel is closed; and in that case, make sure
that the wrapping IOWatchPoll is removed too.
These should just be theoretical bugs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85a67692d04e15a6b7d5a0e2b9d573d8bffbe108
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:07 2013 +0200
qemu-char: simplify pty polling
There is no need to use a timer and pty_chr_read to detect a connected
pty. It is simpler to just call g_poll periodically and check for
POLLHUP.
It is done once per second, and only if the pty is disconnected, so it
is cheap enough.
Tested with "-monitor pty" and "-serial mon:pty", both of which work
correctly and do not freeze QEMU. (How to test ptys? "socat -,raw,echo=0
/dev/pts/4,raw").
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 910b63682ea72f34307b8797c4cc81a1f2a0c47f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:06 2013 +0200
qemu-char: use consistent idiom for removing sources
Always check that the source is active, and zero the tag afterwards.
The occurrence in pty_chr_state will trigger with the next patch, the
others are just theoretical.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0aa09897571c55292703b7a099d7ea79baa09950
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 22 17:42:50 2013 +1000
translate-all: fix compiler warning and linked error
The code did use profile_getclock() but did not include
include/qemu/timer.h where this function is defined. The patch fixes this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1366616571-4321-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1ab7a5acf08dcc11638b22660ed87d5f6d633c2
Merge: 2569073... 7da94ca...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:08:22 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (16) and Stefan Hajnoczi (4)
# Via Kevin Wolf
* kwolf/for-anthony:
qemu-iotests: add 053 unaligned compressed image size test
block: Allow overriding backing.file.filename
block: Remove filename parameter from .bdrv_file_open()
vvfat: Use bdrv_open options instead of filename
sheepdog: Use bdrv_open options instead of filename
rbd: Use bdrv_open options instead of filename
iscsi: Use bdrv_open options instead of filename
gluster: Use bdrv_open options instead of filename
curl: Use bdrv_open options instead of filename
blkverify: Use bdrv_open options instead of filename
blkdebug: Use bdrv_open options instead of filename
raw-win32: Use bdrv_open options instead of filename
raw-posix: Use bdrv_open options instead of filename
block: Enable filename option
block: Add driver-specific options for backing files
block: Fail gracefully when using a format driver on protocol level
qemu-iotests: Fix _filter_qemu
qemu-img: do not zero-pad the compressed write buffer
qcow: allow sub-cluster compressed write to last cluster
qcow2: allow sub-cluster compressed write to last cluster
Message-id: 1366630294-18984-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25690739f1f067b6d8b2e616d87b1d976db0db92
Merge: 6165daa... 97ebbab...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:05:14 2013 -0500
Merge remote-tracking branch 'bonzini/nbd-next' into staging
# By Stefan Hajnoczi
# Via Paolo Bonzini
* bonzini/nbd-next:
nbd: set TCP_NODELAY
nbd: use TCP_CORK in nbd_co_send_request()
nbd: unlock mutex in nbd_co_send_request() error path
Message-id: 1366381830-11267-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6165daa4c8431d9d60382352864b46f34dd61ab4
Merge: d639498... d6e5191...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:05:05 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (5) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
vhost-scsi: new device supporting the tcm_vhost Linux kernel module
virtio: simplify Makefile conditionals
virtio-scsi: create VirtIOSCSICommon
vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
scsi: VMWare PVSCSI paravirtual device implementation
scsi: avoid assertion failure on VERIFY command
Message-id: 1366381460-6041-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d639498852773a6019cf1b970dd8dc2f3791c45b
Merge: 68c0aa6... dcc6cef...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:04:21 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
monitor: fix the wrong order of releasing keys
Message-id: 1366375833-995-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7da94ca741e01a80afd65e107cc2cee160d1b2d2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 11:14:23 2013 +0200
qemu-iotests: add 053 unaligned compressed image size test
Test that qemu-img convert -c works when input image length is not a
multiple of the cluster size.
Previously an error message would be produced:
qemu-img: error while compressing sector 0: Input/output error
Now that qcow2 and qcow handle this case the test passes successfully.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1cb6f506444ddf00bb163e5ffa28ab1051b65642
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 20:27:07 2013 +0200
block: Allow overriding backing.file.filename
If a filename is passed in the driver-specific options from the command
line, the backing file path from the image is ignored now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 56d1b4d21d444619302d3f1291a133b1c2b9b072
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 20:02:37 2013 +0200
block: Remove filename parameter from .bdrv_file_open()
It is unused now in all block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ad9be64e8ac17811ff358279ef7193cc623da1a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 19:42:04 2013 +0200
vvfat: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c8c96350e0127c1d3d55c5f16978f1f5201c52e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 18:10:49 2013 +0200
sheepdog: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a9ccedc3daa06723821663c6b3b02c1760035bb9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 18:05:35 2013 +0200
rbd: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 60beb3412dfa9a6341338c93d0ef44312a9c4f66
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 17:59:59 2013 +0200
iscsi: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b489477653702ae2beb919084644a6c8b0b72c36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 17:50:16 2013 +0200
gluster: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8e6d58cd5b695045dd4a203176d2a57138e7f02a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 15:31:33 2013 +0200
curl: Use bdrv_open options instead of filename
As a bonus, going through the QemuOpts QEMU_OPT_SIZE parser for the
readahead option gives us proper error reporting that the previous use
of atoi() lacked.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 16c790926b0dda0535187a82d1b00fde19580571
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 14:40:28 2013 +0200
blkverify: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f468121290c2f632cb91f7b5e8184101e1ee0ab6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 13:37:33 2013 +0200
blkdebug: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8a79380b8ef1b02d2abd705dd026a18863b09020
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 11:34:56 2013 +0200
raw-win32: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c66a615723914405e4307e5f13a28fd6b910150e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 10:47:40 2013 +0200
raw-posix: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 035fccdf7993a5b9a40f9dec22a663d4d6edb36b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 14:34:19 2013 +0200
block: Enable filename option
This allows using the file.filename option instead of the string that
comes from -drive file=... and is passed around as a separate parameter.
The goal is to get rid of this parameter and use the options QDict more
consistently.
With this option you can access not only the top-level image, but
specify a filename for the backing file (currently only if no backing
file exists, but we'll allow overriding it later)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 31ca6d077c24b7aaa322d8930e3e5debbdb4a047
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 28 15:29:24 2013 +0100
block: Add driver-specific options for backing files
Options starting in "backing." are passed to the backing file now. If
you don't need to specify the filename for the backing file, you can add
it on the command line instead of in the image file:
$ qemu-nbd -t /tmp/test.img
$ qemu-img create -f qcow2 empty.qcow2 1G
$ qemu-system-x86_64 -drive file=empty.qcow2,backing.file.driver=nbd,\
backing.file.host=localhost
Note that this doesn't override the backing filename from the image. If
the image has one, this will fail because NBD doesn't want the options
and a filename at the same time.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 2af5ef70af9fdc823407ddc4ae14766806d4837a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 13:19:18 2013 +0200
block: Fail gracefully when using a format driver on protocol level
Specifying the wrong driver could fail an assertion:
$ qemu-system-x86_64 -drive file.driver=qcow2,file=x
qemu-system-x86_64: block.c:721: bdrv_open_common: Assertion `file !=
((void *)0)' failed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bdda92324dad963e85589e9ea74b2f2620319304
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 16 11:22:36 2013 +0200
qemu-iotests: Fix _filter_qemu
$QEMU_PROG happens to be 'qemu' in my setup, so this sed command
replaces a bit too much. Restrict it to the start of the line and to
when it's followed by a colon, i.e. the form used by error messages.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 54f106d5fd51fcf385bab2ddf125477e83758038
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:33 2013 +0200
qemu-img: do not zero-pad the compressed write buffer
bdrv_write_compressed() does not allow requests that span the end of the
device. Therefore it is useless to zero-pad the last cluster and
thereby exceed the end of the device.
Let image formats handle zero-padding the final compressed cluster, if
necessary.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 16b3c5cd9f27678bc9d6707664640653b47533b9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:32 2013 +0200
qcow: allow sub-cluster compressed write to last cluster
Compression in qcow requires image length to be a multiple of the
cluster size. Lift this requirement by zero-padding the final cluster
when necessary. The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.
Note that this is almost identical to the qcow2 version of this code.
qcow2's compression code is drawn from qcow.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f4d38bef7cc79018e2aa789b0e4c23c3a8cdfca5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:31 2013 +0200
qcow2: allow sub-cluster compressed write to last cluster
Compression in qcow2 requires image length to be a multiple of the
cluster size. Lift this requirement by zero-padding the final cluster
when necessary. The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 68c0aa6e02f79f8825c0c5dc4c7ed25d524aaa8b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Apr 17 09:16:35 2013 +0000
ui/cocoa.m: Fix recent compile breakage
Fix failures to compile introduced by recent console commits
1dbfa00503, 81c0d5a6) which removed is_graphic_console() and
vga_hw_update() without updating the cocoa UI backend to match.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 089305ac0a273e64c9a5655d26da7fe19ecee66f
Author: Pavel Dovgaluk <Pavel.Dovgaluk@xxxxxxxxx>
Date: Mon Apr 15 10:59:15 2013 +0400
i386 ROR r8/r16 instruction fix
Fixed EFLAGS corruption by ROR r8/r16 instruction located at the end of
the TB.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 21e5181f9552e3a876b488c77dc5cfeccff66414
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 20 14:48:28 2013 +0100
qdev: Drop taddr properties
Drop all the infrastructure for taddr properties (ie ones which
are 'hwaddr' sized). These are now unused, and any further desired
use would be rather questionable since device properties shouldn't
generally depend on a type that is conceptually variable based on
the target CPU. 32 or 64 bit integer properties should be used instead
as appropriate for the specific device.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 19298eca060036c3697b0fd9ae77a3ba715cc9c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 20 14:48:27 2013 +0100
hw/sm501: Use correct setter for sysbus-ohci dma-address property
The sysbus-ohci dma-address property is declared as a HEX64
property, not a TADDR, so use the correct setter for it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f4374c82b158b36bd40a5055bffa60796569a300
Merge: 32370db... af9277e...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:39:08 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
versatile_pci: Expose PCI memory space to system
arm/realview: Fix mapping of PCI regions
versatile_pci: Implement the PCI controller's control registers
versatile_pci: Implement the correct PCI IRQ mapping
versatile_pci: Put the host bridge PCI device at slot 29
versatile_pci: Use separate PCI I/O space rather than system I/O space
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
versatile_pci: Update to realize and instance init functions
versatile_pci: Expose PCI I/O region on Versatile PB
versatile_pci: Fix hardcoded tabs
commit 32370db3fb8433259435397c4d60006164c0d198
Merge: 87885c8... e91f229...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:38:48 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Correctly restore FPSCR
target-arm: Add some missing CPU state fields to VMState
target-arm: port ARM CPU save/load to use VMState
target-arm: Reinsert missing return statement in ARM mode SRS decode
commit 87885c8e57db38669dad2aa1a83577fe95f481be
Merge: f691df5... 03903ff...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:38:29 2013 +0000
Merge branch 'linux-user-for-upstream' of
git://git.linaro.org/people/rikuvoipio/qemu
* 'linux-user-for-upstream' of
git://git.linaro.org/people/rikuvoipio/qemu:
linux-user: fix setgroups/getgroups for non-UID16 archs
linux-user: fix undefined shift in copy_to_user_fdset
linux-user: change do_semop to return target errno when unsuccessful
commit d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ccf6916c843edd30ea4ecfaaac68faa865529c97
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 16:16:50 2013 +0200
vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 50787628ee343d3c149eb35c206b68429d1cfdf4
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5e9be92d775208cf6cc9bf9a592853888046239e
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi: new device supporting the tcm_vhost Linux kernel module
The WWPN specified in configfs is passed to "-device vhost-scsi-pci".
The tgpt field of the SET_ENDPOINT ioctl is obsolete now, so it is not
available from the QEMU command-line. Instead, I hardcode it to zero.
Changes in Patch-v2:
- Add vhost_scsi_get_features() in order to determine feature bits
supports by host kernel (mst + nab)
- Re-enable usage of DEFINE_VIRTIO_COMMON_FEATURES, and allow
EVENT_IDX to be disabled by host in vhost_scsi_get_features()
- Drop unused hotplug bit in DEFINE_VHOST_SCSI_PROPERTIES
Changes in Patch-v1:
- Set event_idx=off by default (nab, thanks asias)
- Disable hotplug feature bit for v3.9 tcm_vhost kernel code, need to
re-enable in v3.10 (nab)
- Update to latest qemu.git/master HEAD
Changes in WIP-V3:
- Drop ioeventfd vhost_scsi_properties (asias, thanks stefanha)
- Add CONFIG_VHOST_SCSI (asias, thanks stefanha)
- Add hotplug feature bit
Changes in WIP-V2:
- Add backend guest masking support (nab)
- Bump ABI_VERSION to 1 (nab)
- Set up set_guest_notifiers (asias)
- Set up vs->dev.vq_index (asias)
- Drop vs->vs.vdev.{set,clear}_vhost_endpoint (asias)
- Drop VIRTIO_CONFIG_S_DRIVER check in vhost_scsi_set_status (asias)
Howto:
Use the latest seabios, at least commit b44a7be17b
git clone git://git.seabios.org/seabios.git
make
cp out/bios.bin /usr/share/qemu/bios.bin
qemu -device vhost-scsi-pci,wwpn=naa.6001405bd4e8476d,event_idx=off
...
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
[ Rebase on top of VirtIOSCSICommon patch, fix bugs in feature
negotiation and irqfd masking - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e9cd423fa833533612beaa7674f988954bccb801
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 10:45:25 2013 +0200
virtio: simplify Makefile conditionals
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 292c8e50d540735c601886acc13eb0c117ee94f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 29 01:08:15 2013 +0000
virtio-scsi: create VirtIOSCSICommon
This patch refactors existing virtio-scsi code into VirtIOSCSICommon
in order to allow virtio_scsi_init_common() to be used by both internal
virtio_scsi_init() and external vhost-scsi-pci code.
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f691df528340807d42247fe79a89ea88e6303e1d
Merge: 5dff24b... ad6b40f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:38:16 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Stefan Weil (3) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
m25p80: Remove bogus include of devices.h
ssh: Remove unnecessary use of strlen function.
block/ssh: Add missing gcc format attributes
linux-user: change do_semop to return target errno when unsuccessful
w64: Fix compiler warnings (wrong format specifier)
Remove unneeded type casts
virtio.h: drop unused function prototypes
bswap: fix compiler warning
Message-id: 1366371241-23430-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dff24bebae5103810002ea76b1d03927e2148f2
Merge: b6c99f8... 22773d6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:38:05 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci: add pci test device
This adds a new device that we can use for testing PCI PIO and MMIO, with
and
without ioeventfd in different configurations. FAST_MMIO will be added
if/when
kvm supports it. Also included are minor cleanups in kvm APIs that it
needs.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 15 Apr 2013 05:42:24 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pci: add pci test device
kvm: support non datamatch ioeventfd
kvm: support any size for pio eventfd
kvm: remove unused APIs
Message-id: cover.1366272004.git.mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b6c99f8a6d66c5fa01a60483d9b012eb2b0932f2
Merge: 09dada4... 007e986...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:37:58 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Jan Kiszka (4) and Marcelo Tosatti (1)
# Via Marcelo Tosatti
* qemu-kvm/uq/master:
vmxcap: Update according to SDM of January 2013
target-i386: kvm: save/restore steal time MSR
vmxcap: Report APIC register emulation and RDTSCP control
vmxcap: Augment reported information
vmxcap: Open MSR file in unbuffered mode
Message-id: cover.1366253306.git.mtosatti@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dcc6ceffc066745777960a1f0d32f3a555924f65
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Apr 18 11:53:32 2013 -0400
virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
Because dev->actual is uint32_t, the expression 'dev->actual <<
VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when
dev->actual >= 1048576.
To reproduce:
1. Start a VM with a QMP socket and 5G of RAM
2. Connect to the QMP socket, negotiate capabilities and issue:
{ "execute":"balloon", "arguments": { "value": 1073741824 } }
3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be:
{ "timestamp": { "seconds": 1366228965, "microseconds": 245466 },
"event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } }
To fix it this commit casts it to ram_addr_t, which is ram_size's type.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 153d02e338a063ad5c51ff0725d5d88285f44121
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Apr 16 13:47:32 2013 +0800
monitor: fix the wrong order of releasing keys
(qemu) sendkey ctrl_r-scroll_lock-scroll_lock
Executing this command could not let Windows guest panic, it caused by
the wrong order of releasing keys. This problem was introduced by
commit e4c8f004c55d9da3eae3e14df740238bf805b5d6.
The right release order should be starting from last item.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e91f229a253f489f6d12b946ad7bdcdc158c5b67
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: Correctly restore FPSCR
Use the helper functions to save and restore the FPSCR, so that
we correctly propagate rounding mode and flushing behaviour into
the float_status fields. This also allows us to stop saving the
vector length/stride fields separately.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 602131e944f513f85ffa5593b020d263599cb2cd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: Add some missing CPU state fields to VMState
A number of CPU state fields were accidentally omitted from
our migration state: some OMAP specific cp15 registers, and
some related to state for load/store exclusive insns. Add them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3cc1d20823e8677038c5bb5db10910f6271b1883
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: port ARM CPU save/load to use VMState
Port the ARM CPU save/load code to use VMState. Some state is
saved in a slightly different order to simplify things -- for
example arrays are saved one after the other rather than 'striped',
and we always save all 32 VFP registers even if the CPU happens
to only have 16.
Use one subsection for each feature. This means that we don't need to
bump the version field each time that a new feature gets introduced.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
[PMM: fixed conflicts, updated to use cpu_class_set_vmsd(), updated
with new/removed fields since original patch, changed to use custom
VMStateInfo for cpsr rather than presave/postload hooks, corrected
subsection names so vmload doesn't fail]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b3284486be6898937395fac3ddbd2e68c5cb52f
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Fri Apr 19 12:24:18 2013 +0100
target-arm: Reinsert missing return statement in ARM mode SRS decode
Since patch
81465888c5306cd94abb9847e560796fd13d3c2f
target-arm: factor out handling of SRS instruction
the ARM mode SRS instruction has not worked in QEMU.
The problem is a missing return directive that was removed in the
refactoring, so after decoding the instruction, qemu would fall through
to generate an UNDEF exception for an illegal instruction.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af9277e69df688ebb8ccccb7edecc45f0f85ea51
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:21 2013 +0100
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
Drop the vpb_pci_config_addr() function -- it is unnecessary since
the size of the memory regions means the hwaddr is always within
the 24 bit size. (This function was probably a leftover from when
read/write functions were called with absolute addresses rather
than relative ones.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 89a32d32fb573b32bbe129421602c2b3c3c247ec
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
versatile_pci: Expose PCI memory space to system
The VersatilePB's PCI controller exposes the PCI memory space to the
system via three regions controlled by the mapping control registers.
Implement this so that guests can actually use MMIO-BAR PCI cards.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit a2bff788d2316c037ce5ab72468b3fda1a0527a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
arm/realview: Fix mapping of PCI regions
Fix the mapping of the PCI regions for the realview board, which were
all incorrect. (This was never noticed because the Linux kernel
doesn't actually include a PCI driver for the realview boards.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 7468d73ac9a514b33c0c2797a1238db11163b23b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
versatile_pci: Implement the PCI controller's control registers
The versatile_pci PCI controller has a set of control registers which
handle the mapping between PCI and system address spaces. Implement
these registers (though for now they have no effect since we don't
implement mapping PCI space into system memory at all).
The most natural order for our sysbus regions has the control
registers at the start, so move all the others down one.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 66a96d7018b9cbabb73c9b87b62a37e4cc46580a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:19 2013 +0100
versatile_pci: Implement the correct PCI IRQ mapping
Implement the correct IRQ mapping for the Versatile PCI controller; it
differs between realview and versatile boards, but the previous QEMU
implementation was correct only for the first PCI card on a versatile
board, since we weren't swizzling IRQs based on the slot number.
Since this change would otherwise break any uses of PCI on Linux kernels
which have an equivalent bug (since they have effectively only been
tested against QEMU, not real hardware), we implement a mechanism
for automatically detecting those broken kernels and switching back
to the old mapping. This works by looking at the values the kernel
writes to the PCI_INTERRUPT_LINE register in the config space, which
is effectively the interrupt number the kernel expects the device
to be using.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:19 2013 +0100
versatile_pci: Put the host bridge PCI device at slot 29
On real hardware the host bridge appears as a PCI device in slot 29,
so make QEMU put its host bridge in that slot too.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 967c2607496087abf84904c82e6de0cd320a3831
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Use separate PCI I/O space rather than system I/O space
Rather than overloading the system I/O space (which doesn't even make
any sense on ARM) for PCI I/O, create an memory region in the PCI
controller and use that to represent the I/O space.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 0688810b416a5a4a41aa480132e89d65f81dafc6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally
handle PCI in a more QOM-like fashion.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Update to realize and instance init functions
Update the Versatile PCI controller to use a realize function rather
than SysBusDevice::init. To reflect the fact that the 'realview_pci'
class is taking most of its implementation from 'versatile_pci' (and
to make the QOM casts work) we make 'realview_pci' a subclass of
'versatile_pci'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:17 2013 +0100
versatile_pci: Expose PCI I/O region on Versatile PB
Comments in the QEMU source code claim that the version of the PCI
controller on the VersatilePB board doesn't support the PCI I/O
region, but this is incorrect; expose that region, map it in the
correct location, and drop the misleading comments.
This change removes the only currently implemented difference
between the realview-pci and versatile-pci models; however there
are other differences in not-yet-implemented functionality, so we
retain the distinction between the two device types.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit c5c86c5346e927f55918ffdf1b09742fee7a5d8d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:17 2013 +0100
versatile_pci: Fix hardcoded tabs
There is just one line in this source file with a hardcoded tab
indent, so just fix it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit ad6b40f471cf8bf7b106032145b1b2ac105f99cf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Apr 19 12:18:05 2013 +1000
m25p80: Remove bogus include of devices.h
I think in the early revisions of this we had an instantiation helper
for the device in devices.h. This was later removed and this header was
left over. Removed
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c7a101f5297442de7cbee44f7a31428f0e85a09f
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Thu Apr 18 22:09:33 2013 +0100
ssh: Remove unnecessary use of strlen function.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6ae7d660a089502ec5f5cea133e5fd93fd82f3a8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Apr 18 22:21:05 2013 +0200
block/ssh: Add missing gcc format attributes
Now gcc will check whether format string and variable arguments match.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40508bb424971d9f39f3fb3b455a1765aa7799ee
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu Mar 21 18:57:36 2013 +0100
linux-user: change do_semop to return target errno when unsuccessful
do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f1721dfb7d3a9e464ba59a7d5f76761fd8a3ab9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Apr 13 22:45:50 2013 +0200
w64: Fix compiler warnings (wrong format specifier)
GetLastError() returns a DWORD value which is unsigned long,
so the correct format specifier is %lu.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1fe50dcb3c86e25ce482a7f67f2ac5405bced8a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Apr 12 20:53:58 2013 +0200
Remove unneeded type casts
cpu_physical_memory_read, cpu_physical_memory_write take any pointer
as 2nd argument without needing a type cast.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd1ca7e0d5f76c6787428171355bcde49133c9c1
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Apr 12 09:12:55 2013 -0400
virtio.h: drop unused function prototypes
They are unused since commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ea44910eefc3661af6b80442858102a4f8cd8034
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 15 11:47:56 2013 +1000
bswap: fix compiler warning
The bswap functions use memcpy but the bswap.h header itself does not
seem to
include it in some configuration such as cross compiling for powerpc64
on x86_64 machine.
The patch explicitly includes string.h.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit af60314291af3cabda18d27f928b0e0ff899cc76
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Wed Apr 3 09:15:11 2013 +0000
vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
This patch follows MST's recommendation to move checks for
vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations
from MemoryListener->region_[add,del]() -> vhost_set_memory() into
final MemoryListener->commit() -> vhost_commit() callback.
It addresses the case where virtio-scsi vq ioport RAM re-mapping
to read-only SeaBIOS ROM triggers a cpu_physical_memory_map()
NIL MemoryRegionSection pointer failure.
Also save vhost_dev->mem_changed_[start,end]_addr values in
vhost_set_memory() for final ranges_overlap checks. (Thanks Paolo!)
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 881d588a98bf0dce98ddb65c15aa0854c0ac41ed
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 19 10:05:46 2013 +0300
scsi: VMWare PVSCSI paravirtual device implementation
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
[ Rename files to vmw_pvscsi, fix setting of hostStatus in
pvscsi_request_cancelled - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ef8489d45927a6d35b214365e4b39ab311b48f2a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 18:50:15 2013 +0200
scsi: avoid assertion failure on VERIFY command
A verify command is not an actual read (we do not implement
compare mode) and thus does not have an AIOCB attached. Do
not crash in scsi_dma_complete.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 03903ffcfb5a7c75e52da97d00eb9d0bb0660f28
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Apr 9 05:41:33 2013 +0000
linux-user: fix setgroups/getgroups for non-UID16 archs
Don't assume target_id is a short.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9ab709be595bef9956ea550a95e14e157cb5704e
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Apr 9 01:02:34 2013 +0000
linux-user: fix undefined shift in copy_to_user_fdset
If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of
int.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit c7128c9fd58ee92cae70c7cd1d53acc529cebbbb
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu Mar 21 07:57:36 2013 +0000
linux-user: change do_semop to return target errno when unsuccessful
do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 09dada400328d75daf79e3eca1e48e024fec148d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:47 2013 +0200
configure: remove duplicate test
We already had a test to add -march=i486 when needed. Make the
existing test independent of vhost-net, so that it is also used
under Win32.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 15c08efebde85a564b68285a4b6999f673ce422f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:46 2013 +0200
configure: CONFIG_NO_XEN is duplicated
We already define it in Makefile.target. But we need to avoid a
curious double negation in order to eliminate it.
Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 2b6b7099fb17ab9efa51c430e348ee88d6fbcef2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:45 2013 +0200
configure: eliminate target_libs_softmmu
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f544a488e55d3c504b65b6209199a977df9b24b9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:44 2013 +0200
configure: move common libraries to config-host.mak
Move -lm to the end of the line, so that it can be picked up as a
dependency by pixman in the static build case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 727e52838c709f542d4306849567bf3d8c64479e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:43 2013 +0200
configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 918fc54caff20b1810c633a63bf6d6c5499bd5dd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:42 2013 +0200
elfload: use abi_llong/ullong instead of target_llong/ullong
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 6cfd9b5251c1d03c60f9ebc95fa98670db8f3e09
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:41 2013 +0200
elfload: only give abi_long/ulong the alignment specified by the target
Previously, this was done for target_long/ulong, and propagated to
abi_long/ulong via a typedef. But target_long/ulong should not
have any specific alignment, it is never used to access guest
memory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f8fd4fc4cd9138576cb1cec15c6ac9416e51eeb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:40 2013 +0200
elfload: use abi_int/uint instead of target_int/uint
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 1ddd592fd3b00227a61d5cd890c51b51847a415b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:39 2013 +0200
elfload: use abi_short/ushort instead of target_short/ushort
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 86cd7b2d486b6c80df41f48dffbdcc055a85faa1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:38 2013 +0200
elfload: use tswapreg consistently in elf_core_copy_regs
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a29f998d04a515e389ec4d5aa76ba5f585f4e540
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:37 2013 +0200
elfload: fix size of registers for N32
Registers are 64-bit in size for the MIPS n32 ABI. Define
target_elf_greg_t accordingly, and use the correct function
to do endian swaps.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit ca98ac830f4e3a7d7729ec1ff22d54d97c86dcbd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:36 2013 +0200
elfload: fix size of ABI-dependent fields in core dumps
Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32,
sparc32plus). Use abi_long/ulong for those.
Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert
them.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 5b5e30370147ce3495b7509238e88ef9a6d873ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:35 2013 +0200
configure: QEMU_INCLUDES are the same for all subtargets
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a540f158db41205c3f7bad8b214f9738dc00724d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:47:31 2013 +1000
configure/Make: Build libfdt from submodule DTC
Configure to use the DTC submodule to build libfdt when no system libfdt
is found. Prompt to install the DTC submodule if --enable-fdt is set but
no DTC can be found.
DTC has no out-of-tree build capability, so the configure will symlink
the Makefile and scripts directory in the out of tree build directory
and pass in all the needed DTC arguments to make out of tree build happen.
Ideally we fix the DTC make to support out of tree, but did it this way to
avoid commits to DTC.
Signed-off-by: David Holsgrove <david.holsgrove@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 98f6360569b1fbc1d94f6c8d7808577e4e5e0100
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:46:53 2013 +1000
dtc: add submodule
Add dtc submodule as a fallback for old distros.
Picking version 1.3.0. as this is the most recently tagged stable version.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 79f3b12f7072d592dcddfe71dd846eab3be310ea
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:46:14 2013 +1000
configure: Put cross compile flags in EXTRA_CFLAGS
The cross compile CFLAGS are needed to properly build pixman (and any
other
submodules). Only the EXTRA_CFLAGS set is passed to submodules not
QEMU_CFLAGS,
so put the cross compile flags in EXTRA_CFLAGS instead.
Signed-off-by: Peter Crosthwaite peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 007e986ff2dd140348e76feb21cde1a51ce6c5b4
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 17 11:45:50 2013 +0100
vmxcap: Update according to SDM of January 2013
This adds reporting of VMCS shadowing, #VE, IA32_SMBASE, unrestricted
VMWRITE and fixes the range of the MSEG revision ID.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 917367aa968fd4fef29d340e0c7ec8c608dffaab
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 19 23:27:20 2013 -0300
target-i386: kvm: save/restore steal time MSR
Read and write steal time MSR, so that reporting is functional across
migration.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 614413f7f9a88d97ab40ecabd1c7920fb288f820
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Feb 18 07:56:54 2013 +0100
vmxcap: Report APIC register emulation and RDTSCP control
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit ea4ee28399f8ffee4eed2d724c28d2d9879b22fa
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 13 12:44:06 2013 +0100
vmxcap: Augment reported information
Parse the Basic VMX Information MSR and add the bit for the new posted
interrupts.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit f505a4d74aae6fc8bb5502a6038b5f671aa97713
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 13 12:43:10 2013 +0100
vmxcap: Open MSR file in unbuffered mode
Python may otherwise decide to to read larger chunks, applying the seek
only on the software buffer. This will return results from the wrong
MSRs.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 1773d9ee6e7138e3956081670215e8bc0ae14828
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:02 2013 +0200
virtio-net: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17a0ca55657114c055cb407291c1163e09b29973
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:01 2013 +0200
virtio-net: cleanup: use QOM cast.
As the virtio-net-pci and virtio-net-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 89334c8b6baebb1e84cd9bb6e796683e53391769
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:00 2013 +0200
virtio-net-ccw: switch to the new API.
Here the virtio-net-ccw is modified for the new API. The device
virtio-net-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-net-device during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74b4fe3d79098b72813e461af565557bb5d35649
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:59 2013 +0200
virtio-net-s390: switch to the new API.
Here the virtio-net-s390 is modified for the new API. The device
virtio-net-s390 extends virtio-s390-device as before. It creates and
connects a virtio-net-device during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e37da3945fa2fde161e1b217f937fc318c4b7639
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:58 2013 +0200
virtio-net-pci: switch to the new API.
Here the virtio-net-pci is modified for the new API. The device
virtio-net-pci extends virtio-pci. It creates and connects a
virtio-net-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17ec5a8686143da66208273d355f2eeb09807614
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:57 2013 +0200
virtio-net: add the virtio-net device.
Create virtio-net-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:56 2013 +0200
virtio: add two functions to VirtioDeviceClass.
Recent changes need two functions to VirtioDevice. This just add them
into VirtioDeviceClass.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e6f53fd514bbdcf63a5905536ff4d0effc146742
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Apr 16 13:51:06 2013 +0200
Fix warnings suppressors to honor --disable-werror
Replace
#pragma GCC diagnostic ignored FOO
[Troublesome code...]
#pragma GCC diagnostic error FOO
by
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored FOO
[Troublesome code...]
#pragma GCC diagnostic pop
Broken in commit 3f4349d, commit 092bb30, and commit c95e308.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366113066-1340-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf2a38d41e304ccd92191327248fd32f14ff11d2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:21 2013 -0500
fw_cfg: add qtest test case
This validates some basic characteristics of fw_cfg.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-8-git-send-email-aliguori@xxxxxxxxxx
commit a875711af9518f0878e084aef00c323098b8f972
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:20 2013 -0500
i440fx-test: add test for PAM functionality
This tests PAM settings for the i440fx. This test does a lot of
byte MMIO which is fairly slow with qtest today. But the test
does complete in under 2 seconds.
We don't fully emulate PAM largely because of limitations with
KVM so we #if 0 that part of the test case.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-7-git-send-email-aliguori@xxxxxxxxxx
commit 9bda413c96c3c7cced25ee4509c74d71e40f094d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:19 2013 -0500
i440fx-test: add test to compare default register values
This test compares all of the default register values against the
spec. It turns out we deviate in quite a few places. These
places are really only visible to the BIOS though which is why
this hasn't created any problems.
The deviation actually happens in the core PCI layer so I suspect
it's not a simple fix if we really care to fix it. For now, just
disable the affected checks.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-6-git-send-email-aliguori@xxxxxxxxxx
commit 8a0743cf747c659a3443e722a832c8f21f1cc774
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:18 2013 -0500
libqos: add malloc support
This is a very simple allocator for the PC platform. It should
be possible to add backends for other platforms.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-5-git-send-email-aliguori@xxxxxxxxxx
commit 234c69c5f92f18d7692e859d2784edb17a88873f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:17 2013 -0500
libqos: add fw_cfg support
fw_cfg is needed to get the top of memory which is necessary for
doing PCI allocation and allocating RAM for DMA.
Add a PC version of fw_cfg and enough abstraction to support other
platforms.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-4-git-send-email-aliguori@xxxxxxxxxx
commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:16 2013 -0500
qtest: add libqos including PCI support
This includes basic PCI support for the PC platform. Enough
abstraction should be present to support non-PC platforms too.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-3-git-send-email-aliguori@xxxxxxxxxx
commit 8a8fd63734944bf6f7111596bd9cc9db6afb9b7c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:15 2013 -0500
qtest: don't use system command to avoid double fork
Currently we waitpid on the child process we spawn off that does
nothing more than system() another process. While this does not
appear to be incorrect, it's wasteful and confusing so get rid of
it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-2-git-send-email-aliguori@xxxxxxxxxx
commit 4aead69241e010c3cda624084e3872aa9f7dcaef
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Tue Apr 16 15:50:41 2013 -0600
migration: reflect incoming failure to shell
Management apps like libvirt don't know to pay attention to
stderr unless there is a non-zero exit status.
* migration.c (process_incoming_migration_co): Exit with non-zero
status on failure.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1366149041-626-1-git-send-email-eblake@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95e2af98d4edb59780e47da2085ea9133f6466bb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Apr 17 17:49:00 2013 +1000
qbus: remove wrong error messages
The existing code shows the "Bus '%s' is full" message even if name
is specified and different from bus->name (i.e. match=0).
The patch excludes unnecessary error message.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1366184940-13516-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bd5ac20325ed67eb8f1af719d76aad6ad80e5697
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 17 16:46:54 2013 +0800
chardev: remove the headers of Memory chardev driver
Memory chardev driver is no longer used, and Commit:
4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 has droped
it but the headers, so clean it up.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1366188414-24214-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 20781f9c0057bc00cc74b684b3dc57730cdf83f0
Merge: e0a83fc... e9d8fbf...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 17 10:14:07 2013 -0500
Merge remote-tracking branch 'bonzini/migration-writev' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/migration-writev:
qemu-file: do not use stdio for qemu_fdopen
iov: handle partial writes from sendmsg and recvmsg
iov: reorganize iov_send_recv, part 3
iov: reorganize iov_send_recv, part 2
iov: reorganize iov_send_recv, part 1
qemu-file: drop socket_put_buffer
Message-id: 1366192012-14872-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9d8fbf53a33983c81d67d18e1baa914eb16cdea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:32 2013 +0100
qemu-file: do not use stdio for qemu_fdopen
This uses system calls directly for Unix file descriptors, so that the
efficient writev_buffer can be used. Pay attention to the possibility
of partial writes in writev.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83f75c26e8e791311900d0e2a4cc9379abedb85c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:31 2013 +0100
iov: handle partial writes from sendmsg and recvmsg
Partial writes can still happen in sendmsg and recvmsg, if a
signal is received in the middle of a write. To handle this,
retry the operation with a new offset/bytes pair.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f48869ad2825b640911666bb091cedb1e1d6ad5e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:30 2013 +0100
iov: reorganize iov_send_recv, part 3
"si" and "ei" are merged in a single variable.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5209d6753c90a3d6411abd0729a9cca3775dce3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:29 2013 +0100
iov: reorganize iov_send_recv, part 2
Do not touch the "bytes" argument anymore. Instead, remember the
original length of the last iovec if we touch it, and restore it
afterwards.
This requires undoing the changes in opposite order. The previous
algorithm didn't care.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb6247a7e3e07ead908d2e7fbc8848cc2e135056
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:28 2013 +0100
iov: reorganize iov_send_recv, part 1
Once the initial part of the iov is dropped, it is not used anymore.
Modify iov/iovcnt directly instead of adjusting them with the "si"
variable.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 15711565f66de53c22c3a9faee04fc2092409ce4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:27 2013 +0100
qemu-file: drop socket_put_buffer
It is enough to implement one of socket_writev_buffer and
socket_put_buffer.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 15:50:00 2013 +0200
qom: do nothing on unparent of object without parent
Otherwise, device_unparent will fail to get a canonical path of
the object.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364910600-3418-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2f7bd829dbaf39eb14706c3e889f28b795e050ca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 16 03:50:21 2013 +0200
qdev: Fix device_add bus assumptions
Drop an unreachable fallback bus assignment to SysBus.
If no ,bus= is specified, only search busses recursively for bus type if
the DeviceClass has a bus_type specified. Handle resulting NULL cases.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366077021-28882-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit acbbc036619092fcd2c882222e1be168bd972b3e
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Apr 16 15:58:16 2013 +0530
rng random backend: check for -EAGAIN errors on read
Not handling EAGAIN triggers the assert
qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len
!= -1)
Aborted (core dumped)
This happens when starting a guest with '-device virtio-rng-pci',
issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat
/dev/random' on the host.
Reported-by: yunpingzheng <yunzheng@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
eacda84dfaf2d99cf6d250b678be4e4d6c2088fb.1366108096.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7dda5dc82a776a39a7996020c188eb2a29187117
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 9 17:43:43 2013 +0200
migration: initialize RAM to zero
Using qemu_memalign only leaves the RAM zero by chance, because libc
will usually use mmap to satisfy our huge requests. But memory will
not be zero when using MALLOC_PERTURB_ with a nonzero value. In the
case of incoming migration, this breaks a recently-introduced
invariant (commit f1c7279, migration: do not sent zero pages in
bulk stage, 2013-03-26).
To fix this, use mmap ourselves to get a well-aligned, always zero
block for the RAM. Mmap-ed memory is easy to "trim" at the sides.
This also removes the need to do something special on valgrind
(see commit c2a8238a, Support running QEMU on Valgrind, 2011-10-31),
thus effectively reverts that patch.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365522223-20153-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 86c7dba0d0ed1e9e202f77f7414ce0faf2395a90
Merge: 6f8111a... 2b2325f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:58 2013 -0500
Merge remote-tracking branch 'kraxel/usb.80' into staging
# By Gerd Hoffmann (6) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.80:
use libusb for usb-host
xhci: fix address device
xhci: use slotid as device address
xhci: fix portsc writes
xhci: add xhci_cap_write
xhci: remove leftover debug printf
usb-serial: Remove double call to qemu_chr_add_handlers( NULL )
Message-id: 1366107190-30853-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f8111a16d9cb3744a7b05726df28ee8cb6d8d30
Merge: 100c533... 75c439b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:51 2013 -0500
Merge remote-tracking branch 'spice/spice.v69' into staging
# By Hans de Goede (5) and others
# Via Gerd Hoffmann
* spice/spice.v69:
spice-qemu-char: vmc_write: Don't write more bytes then we're asked too
spice-qemu-char: Remove intermediate buffer
spice-qemu-char: Add watch support
spice-qemu-char: Remove #ifdef-ed code for old spice-server compat
virtio-console: Remove any pending watches on close
virtio-console: Also throttle when less was written then requested
spice: (32 bit only) fix surface cmd tracking destruction
qxl: add 2000x2000 and 2048x2048 video modes
qxl: add 4k + 8k resolutions
Message-id: 1366106194-28826-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 100c533220d70ae9732ba63142d71d1c48688f54
Merge: 398973f... bfe528b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:43 2013 -0500
Merge remote-tracking branch 'kraxel/pixman.v11' into staging
# By Gerd Hoffmann (22) and Igor Mitsyanko (2)
# Via Gerd Hoffmann
* kraxel/pixman.v11: (24 commits)
qxl: register QemuConsole for secondary cards
gtk: custom cursor support
console: allow pinning displaychangelisteners to consoles
console: add qemu_console_is_*
xen: re-enable refresh interval reporting for xenfb
console: gui timer fixes
console: add GraphicHwOps
console: make DisplayState private to console.c
console: move gui_update+gui_setup_refresh from vl.c into console.c
console: zap g_width + g_height
console: simplify screendump
console: give each QemuConsole its own DisplaySurface
console: rename vga_hw_*, add QemuConsole param
console: displaystate init revamp
console: add trace events
console: switch color_table_rgb to pixman_color_t
console: use pixman for font rendering
console: use pixman for fill+blit
pixman: render vgafont glyphs into pixman images
pixman: add qemu_pixman_color()
...
Message-id: 1366105178-26744-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 398973fe1f92e65f39f6a26dacc07baa0da632fc
Merge: 095b9c4... b21bfee...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:36 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Igor Mammedov (8) and others
# Via Andreas Färber
* afaerber/qom-cpu:
target-cris: Override do_interrupt for pre-v32 CPU cores
qdev: Set device's parent before calling realize() down inheritance
chain
cpu: Pass CPUState to *cpu_synchronize_post*()
target-i386: Split out CPU creation and features parsing
target-i386/cpu.c: Coding style fixes
ioapic: Replace FROM_SYSBUS() with QOM type cast
kvmvapic: Replace FROM_SYSBUS() with QOM type cast
target-i386: Split APIC creation from initialization in
x86_cpu_realizefn()
target-i386: Consolidate error propagation in x86_cpu_realizefn()
qdev: Add qdev property for bool type
target-i386: Improve -cpu ? features output
target-i386: Fix including "host" in -cpu ? output
commit 2b2325ff6491224a42e1fec99b1c39fbc521c95c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 30 16:02:11 2012 +0100
use libusb for usb-host
Reimplement usb-host on top of libusb.
Reasons to do this:
(1) Largely rewritten from scratch, nice opportunity to kill historical
cruft.
(2) Offload usbfs handling to libusb.
(3) Have a single portable code base instead of bsd + linux variants.
(4) Bring usb-host support to any platform supported by libusbx.
For now this goes side-by-side to the existing code. That is only to
simplify regression testing though, at the end of the day I want remove
the old code and support libusb exclusively. Merge early in 1.5 cycle,
remove the old code after 1.5 release or something like this.
Thanks to qdev the old and new code can coexist nicely on linux. Just
use "-device usb-host-linux" to use the old linux driver instead of the
libusb one (which takes over the "usb-host" name).
The bsd driver isn't qdev'ified so it isn't that easy for bsd.
I didn't bother making it runtime switchable, so you have to rebuild
qemu with --disable-libusb to get back the old code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a67188743bc30a3ad1358b8cd0a2a3cb64c10ff9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 15:18:52 2013 +0200
xhci: fix address device
Zero-initialize the set-address dummy USBPacket,
also add buffer to avoid sanity checks triggering.
https://bugzilla.redhat.com/show_bug.cgi?id=929019
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af203be36deb234550c3c8d2cbafbaef0f08ae1b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:59:05 2013 +0100
xhci: use slotid as device address
Is good enougth for unique device addresses and avoids the need for any
state for device addressing. Makes live migration support easier. Also
makes device->slot lookups trivial.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bdfce20df113522f389b4483ffd9d5b336e3c774
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 14:55:28 2013 +0200
xhci: fix portsc writes
Check for port reset first and skip everything else then.
Add sanity checks for PLS updates.
Add PLC notification when entering PLS_U0 state.
This gets host-initiated port resume going on win8.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6d3bc22e31bcee74dc1e05a5370cabb33b7c3fda
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 11:29:14 2013 +0200
xhci: add xhci_cap_write
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94ae9eece7c8192170a4159804e152fa32e9eacf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 13:56:53 2013 +0200
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7598b41cfa13b2469b9411eee237a5c551e0ffaf
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:25 2013 +0200
usb-serial: Remove double call to qemu_chr_add_handlers( NULL )
usb-serial has a qdev chardev property, and hw/qdev-properties-system.c
already contains:
static void release_chr(Object *obj, const char *name, void *opaque)
{
DeviceState *dev = DEVICE(obj);
Property *prop = opaque;
CharDriverState **ptr = qdev_get_prop_ptr(dev, prop);
CharDriverState *chr = *ptr;
if (chr) {
qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL);
qemu_chr_fe_release(chr);
}
}
So doing the qemu_chr_add_handlers(s->cs, NULL, NULL, NULL, NULL); from
the usb handle_destroy function too will lead to it being done twice.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 75c439bc65c07d76f5e74c734ed5432bc6114a3b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:24 2013 +0200
spice-qemu-char: vmc_write: Don't write more bytes then we're asked too
This one took me eons to debug, but I've finally found it now, oh well.
The usage of the MIN macro in this line:
last_out = MIN(len, qemu_chr_be_can_write(scd->chr));
Causes qemu_chr_be_can_write to be called *twice*, since the MIN macro
evaluates its arguments twice (bad MIN macro, bad!). And the result of
the call can change between the 2 calls since the guest may have consumed
some data from the virtio ringbuffer between the calls!
When this happens it is possible for qemu_chr_be_can_write to return less
then len in the call made for the comparision, and then to return more
then
len in the actual call for the return-value of MIN, after which we will
end
up writing len data + some extra garbage, not good.
This patch fixes this by only calling qemu_chr_be_can_write once.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b010cec86b9a4a0b63162cd27e37c2d99e90ed66
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Fri Apr 5 11:30:23 2013 +0200
spice-qemu-char: Remove intermediate buffer
virtio-serial's buffer is valid when it calls us, and we don't
access it otherwise: vmc_read is only called in response to wakeup,
or else we set datalen=0 and throttle. Then vmc_read is called back,
we return 0 (not accessing the buffer) and set the timer to unthrottle.
Also make datalen int and not ssize_t (to fit spice_chr_write signature).
HdG: Update to apply to spice-qemu-char with new gio-channel based
flowcontrol support.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ae893e5e818878caf433d716d37be9df297403fe
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:22 2013 +0200
spice-qemu-char: Add watch support
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 52fe0e75b757c7c54fd3b967c9ff70d337790195
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:21 2013 +0200
spice-qemu-char: Remove #ifdef-ed code for old spice-server compat
We now require spice-server to be >= 0.12.0 so this is no longer needed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3d6b96ebba18d016be26ffa475feea0d81801a2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:20 2013 +0200
virtio-console: Remove any pending watches on close
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9fb0532fb0c7155c0616614dc12ecccf93f8afb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:19 2013 +0200
virtio-console: Also throttle when less was written then requested
This is necessary so that we get properly woken up to write the rest.
This patch also changes the len argument to the have_data callback, to
avoid doing an unsigned signed comparison.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8bb9f51ca243551fb838a3a6a2983016ed2bbb73
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Mar 13 17:58:35 2013 +0200
spice: (32 bit only) fix surface cmd tracking destruction
No change for 64 bit arches, but for 32 bit previously we zeroed half
the surfaces cmd array, instead of all of it.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c74fb27f94821057c7929a8244cabe86adf2b8d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 4 10:15:34 2013 +0200
qxl: add 2000x2000 and 2048x2048 video modes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 095b9c4860b1351e4a0322e43708f39c79c1f34b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:34:50 2013 +1000
m25p80: Add debug message for no bdrv
If there is no backing bdrv, let the debugging developer know about it.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 28097d02078cfb708c2034f90394936209785f2e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:34:11 2013 +1000
m25p80.c: Multiple debug verbosity levels
The debug printfs on every page program/read is extremely verbose. Add
a second level of debug for this.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e9711b4d52ed07b9b754f9aa10b4a8c741815d0a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:33:32 2013 +1000
m25p80: Convert guest errors to LOG_GUEST_ERROR
Some of the debug printfs in m25p80 are really guest errors.
Changed over to qemu_log_mask(LOG_GUEST_ERROR accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 3bec0c7d461a2f0139d60e959a80641487835d5a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:32:53 2013 +1000
m25p80: Fix debug messages.
Some dodgy casts were making a mess of these msgs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 42bb9c9178ae7ac4c439172b1ae99cc29188a5c6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:28:35 2013 +1000
stream: Remove app argument hack
The uint32_t *app argument doesn't exist in real hardware. It was a hack
in
xilinx_axidma/enet to fake the (secondary) control stream connection.
Removed
the argument and added the second stream to axienet/dma.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 3630ae952a17c2107db25f397233536ef874558e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:27:55 2013 +1000
xilinx_axienet/dma: Implement rx path flow control
Implement flow control for the RX data path from
xilinx_axienet->xilinx_axidma.
On short return from axidma, then ethernet sets up the notify callback to
resume
transfer from where it left off.
This also allows the ethernet to track whether there is an in progress
transaction
and return false from ethernet can_receive() as appropriate.
If the DMA backs up or is disabled it waits for enablement. When the rx
stream IO
region is touched, the can_push() notify function is called if set.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 35e60bfdbc14ce31bba55cc82144f8a2a82ede68
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:27:16 2013 +1000
stream: Add flow control API
Add basic flow control to stream. A stream slave may return short,
indicating
that it is not capable of accepting any more data at the present time.
Polling
or a callback can be used via the can_push() function to determine when
the
slave can receive again.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 210914e29975d17e635f9e8c1f7478c0ed7a208f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:26:37 2013 +1000
xilinx_axidma: Fix rx/tx halted bit.
If there is no DMA buffer descriptor, the DMA halts, not idles.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e1500e35c22be345cd04f77fa6993770b689eaa9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:25:57 2013 +1000
xilinx_axidma: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This
is
setup for future work where a second stream slave connection is needed.
The
new child object is created at qdev init time and is linked back to the
parent
(the ethernet device itself) automatically.
Stream slave masters differentiate which slave connection they are
connected to
by linking to the proxy object rather than the parent.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:25:18 2013 +1000
xilinx_axienet: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This
is
setup for future work where a second stream slave connection is needed.
The
new child object is created at qdev init time and is linked back to the
parent
(the ethernet device itself) automatically.
Stream slave masters differentiate which slave connection they are
connected to
by linking to the proxy object rather than the parent.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b19ceaad0dee6bca619ba2de19003b50e1a8cb01
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:24:39 2013 +1000
petalogix_ml605_mmu: Attach ethernet to machine
Explicitly make the ethernet a child of the machine. This is needed to set
and use links pre-realize. Also makes the ethernet initialization
consistent
with its peer DMA.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 54ff2a399fc9453fa75f9223d7d2cd912f17fb4b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:23:59 2013 +1000
petalogix_ml605_mmu: Fix machine node attachment
Just attach devices straight to the root machine node, rather than the
"unattached node"
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e65436634dc4f3b43ba914b7e38fe696853da3ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:23:20 2013 +1000
xilinx_axidma: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. I'm
going
with Andreas suggestion to move the sysbus foo to Object::init for early
IRQ
visibility.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 897374db7db10a9c17fd4da4e089705b553b4ee1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:22:41 2013 +1000
xilinx_axidma: Register reset properly
Register the reset function as the Device::reset function rather than
explicitly call it from the sysbus::init.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit cbde584f58b484a8200eb578a5ba81057488f0eb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:22:02 2013 +1000
xilinx_axidma: Defined and use type cast macro
Standard QOM cast macro. Replaces usages of FROM_SYSBUS
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 42e8a283f50da698e8bff7ed36b8b39e21d70eaa
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:21:23 2013 +1000
xilinx_axidma: typedef XilinxAXIDMA struct
Typedef xilinx_axidma's object state struct to shorten the repeated
usages of
struct XilinxAXIDMA.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b2d9dfe94cc9a27e0b59d892ae8e3ec223ff9514
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:20:44 2013 +1000
xilinx_axienet: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. Im
going
with Andreas suggestion to move the sysbus foo to Object::init for early
IRQ
visibility.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:20:06 2013 +1000
xilinx_axienet: Register reset properly
Register the reset function and the Device::reset function rather than
explicitly call it from the sysbus::init.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f0e7a81c0ca122126e92a9f06b9599f04a0eaebb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:19:27 2013 +1000
xilinx_axienet: Defined and use type cast macro
Standard QOM cast macro. Replaces usages of FROM_SYSBUS
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 545129e58965dcedf229dac3ed7ea1235a9838f2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:18:47 2013 +1000
xilinx_axienet: typedef XilinxAXIEnet struct
Typedef xilinx_axienets object state struct to shorten the repeated
usages of
struct XilinxAXIEnet.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bfe528b9b99d52693a55f2b803039d68a97bcfb2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 16:59:58 2013 +0100
qxl: register QemuConsole for secondary cards
Hook secondary qxl cards properly into the qemu console subsystem.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 09:11:41 2013 +0100
gtk: custom cursor support
Makes gtk ui play nicely with qxl (and vmware_svga)
as you can actually see your pointer now ;)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 284d1c6b3bf4ece6278f4b9831c7192e3777290c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 15 15:45:54 2013 +0100
console: allow pinning displaychangelisteners to consoles
DisplayChangeListener gets a new QemuConsole field, which can be set to
non-NULL before registering. This will pin the QemuConsole, so that
particular DisplayChangeListener will not follow console switches.
spice+gtk (which don't support text console input anyway) are switched
over to be pinned to console 0, which usually is the graphical display.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 81c0d5a66295024d0a42e3d28efcd102a32f93c3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 14 14:27:08 2013 +0100
console: add qemu_console_is_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dea1b0bdd8b0bb9d76a012fd0f234ba1768a4a93
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 15:01:02 2013 +0100
xen: re-enable refresh interval reporting for xenfb
xenfb informs the guest about the gui refresh interval so it can avoid
pointless work. That logic was temporarely disabled for the
DisplayState reorganization. Restore it now, with a proper interface
for it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4bcb199fb15f9f079ef280e7e6f9ccdfaa49ced
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 15 11:53:47 2013 +0100
qxl: add 4k + 8k resolutions
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0f7b2864d0d0c3ef2801f9214d8c510c80a220d1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 14 11:56:16 2013 +0100
console: gui timer fixes
Make gui update rate adaption code in gui_update() actually work.
Sprinkle in a tracepoint so you can see the code at work. Remove
the update rate adaption code in vnc and make vnc simply use the
generic bits instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 380cd056ec0e7fc8bbd553cdcb061d3ca612bb82
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 14:04:18 2013 +0100
console: add GraphicHwOps
Pass a single GraphicHwOps struct pointer to graphic_console_init,
instead of a bunch of function pointers.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 27be55872dd747c733a42a3d90864d9f59272d26
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 12:25:25 2013 +0100
console: make DisplayState private to console.c
With gui_* being moved to console.c nobody outside console.c needs
access to DisplayState fields any more. Make the struct private.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 98a9ad9082284df62fb5b9355dd1901639de8268
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 12:17:13 2013 +0100
console: move gui_update+gui_setup_refresh from vl.c into console.c
Pure code motion, no functional changes.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 36671fbd06f31efc592c37acda3f8a75599e48e0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 10:14:52 2013 +0100
console: zap g_width + g_height
We have a surface per QemuConsole now, so there is no need to keep
track of the QemuConsole size any more as we can query the surface
size directly at any time.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2c62f08ddbf3fa80dc7202eb9a2ea60ae44e2cc5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 14:48:31 2013 +0100
console: simplify screendump
Screendumps are alot simpler as we can update non-active
QemuConsoles now. So we only need to update the QemuConsole
we want write out, then dump the DisplaySurface content into
a ppm file. Done.
No console switching needed. No special support code in the
gfx card emulation needed. Zap it all. Also move ppm_save
out of the vga code and next to the qmp_screendump function.
For now screen dumping is limited to console #0 (like it used
to be), even though it is dead simple to extend it to other
consoles. I wanna finish the console cleanup before setting
new qapi interfaces into stone.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
commit 321f048d248472f1e90559976bb917d869981c68
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 14:39:22 2013 +0100
console: give each QemuConsole its own DisplaySurface
Go away from the global DisplaySurface, give one to each QemuConsole
instead. With this patch applied it is possible to call
graphics_hw_* functions with qemu consoles which are not the current
foreground console.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1dbfa005032d4fa5d7a5242da856d3487c907431
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 13:44:38 2013 +0100
console: rename vga_hw_*, add QemuConsole param
Add QemuConsole parameter to vga_hw_*, so the interface allows to update
non-active consoles (the actual code can't handle this yet, see next
patch). Passing NULL is allowed and updates the active console, like
the functions do today.
While touching all vga_hw_* calls anyway rename that to the functions to
hardware-neutral graphics_hw_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 64840c66b702cc4c809c72d8ad5d26861dd7fd8d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 17:08:29 2013 +0100
console: displaystate init revamp
We have only one DisplayState, so there is no need for the "next"
linking, rip it. Also consolidate all displaystate initialization
into init_displaystate(). This function is called by vl.c after
creating the devices (and thus all QemuConsoles) and before
initializing DisplayChangeListensers (aka gtk/sdl/vnc/spice ui).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 437fe1061be3da49b0b05ed2f0c9c50e2255c3fe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 16:04:52 2013 +0100
console: add trace events
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e27bd65a72dece59e93914d3ffa8653ce0c70511
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 8 08:43:24 2013 +0100
console: switch color_table_rgb to pixman_color_t
Now that all text console rendering uses pixman we can easily
switch the color tables to use pixman_color_t directly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 15:44:10 2013 +0100
console: use pixman for font rendering
Zap homegrown font rendering code, use pixman calls instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 68db6dc5310df9bb0d8d4ed8f5138b0c5c6415be
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 15:43:23 2013 +0100
console: use pixman for fill+blit
Zap homegrown pixel shuffeling code, use pixman calls instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b762795257353760e8c69e144188ef7ab2b84c37
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 15:23:48 2013 +0100
pixman: render vgafont glyphs into pixman images
Add helper functions to create pixman mask images for glyphs
and to render these glyphs into a pixman image.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 867c538f988d326f6b447acde867e5de5a5014a0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 14:14:17 2013 +0100
pixman: add qemu_pixman_color()
Helper function to map qemu colors (32bit integer + matching PixelFormat)
into pixman_color_t.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit eb2f9b024d68884a3b25e63e4dbf90b67f8da236
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 11:44:21 2013 +0100
hw/vmware_vga.c: various vmware vga fixes.
Hardcode depth to 32 bpp. It effectively was that way before because
that is the default surface depth, this just makes it explicit in the
code.
Rename depth to new_depth to make it consistent with the new_width +
new_height names. In theory we can make new_depth changeable (i.e.
allow the guest to fill in -- say -- 16 there). In practice the guests
don't try, the X-Server refuses to start if you ask it to use 16bpp
depth (via DefaultDepth in the Screen section).
Always return the correct rmask+gmask+bmask values for the given
new_depth.
Fix mode setting to also verify at new_depth to make sure we have a
correct DisplaySurface, even if the current video mode happes to be
16bpp (set by vgabios via bochs vbe interface). While being at it
switch over to use qemu_create_displaysurface_from, so the surface is
backed by guest-visible video memory and we save a memcpy.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7a6404cd8be97d73d1fc272dda82445c19f05aa1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:53:35 2013 +0100
hw/vmware_vga.c: add tracepoints for mmio reads+writes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 17866fc888445ec7d2568645df45bb47e6be01de
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Tue Mar 19 23:44:56 2013 +0400
hw/vmware_vga.c: fix screen resize bug introduced after console revamp
In vmsvga display update function, a pointer to DisplaySurface must be
acquired
after a call to vmsvga_check_size since this function might replace
current
DisplaySurface with a new one.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 522fccbe71e35efc96f66cb475f778c2ce02e9fc
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Tue Mar 19 23:44:55 2013 +0400
exynos4210_fimd.c: fix display resize bug introduced after console revamp
In exynos4210 display update function, we were acquiring DisplaySurface
pointer before calling screen resize function, not paying attention that
resize
procedure can replace current DisplaySurface with newly allocated one.
Right thing to do is to initialize DisplaySurface AFTER a call to resize
function.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b21bfeead284cf212d88dfa25171fee122407bc2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 19:59:39 2013 +0100
target-cris: Override do_interrupt for pre-v32 CPU cores
Instead of forwarding from cris_cpu_do_interrupt() to do_interruptv10(),
override CPUClass::do_interrupt with crisv10_cpu_do_interrupt() in the
newly introduced class_init functions.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a7ddba527c0b9dd32dfa7e35fa41701f990a3db4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:56 2013 +0200
qdev: Set device's parent before calling realize() down inheritance chain
Currently device_set_realized() sets parent only after device was
realized,
but qdev_device_add() sets it before device is realized.
Make behavior consistent and alter device_set_realized() to behave like
qdev_device_add().
It will allow to set link<> properties in realize() method in classes
inherited from DEVICE.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3f24a58fa7dacd82cb72393367be207b0dab16b4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:41 2013 +0200
cpu: Pass CPUState to *cpu_synchronize_post*()
... so it could be called without requiring CPUArchState.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7f833247df4b68719413b5dccc5f84944f442cb3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:40 2013 +0200
target-i386: Split out CPU creation and features parsing
Move CPU creation and features parsing into a separate cpu_x86_create()
function, so that board would be able to set board-specific CPU
properties before CPU is realized.
Keep cpu_x86_init() for compatibility with the code that uses cpu_init()
and doesn't need to modify CPU properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd13e08804c8c33c6021c0e27787422534d3b321
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Apr 11 17:07:23 2013 -0300
target-i386/cpu.c: Coding style fixes
* Add braces to 'if' statements;
* Remove last TAB character from the source.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Changed whitespace]
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f16a69f7fce97186fd352c79201b1d0145c02d66
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:37:00 2013 +0200
ioapic: Replace FROM_SYSBUS() with QOM type cast
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1fc3e66581f638ba72d93c1a4912cfa573dd187
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:59 2013 +0200
kvmvapic: Replace FROM_SYSBUS() with QOM type cast
... and define type name and type cast macro for kvmvapic according
to accepted convention.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3c64d6a1874f94246af91963927fb4d924332f1
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:54 2013 +0200
target-i386: Split APIC creation from initialization in
x86_cpu_realizefn()
When APIC is hotplugged during CPU hotplug, device_set_realized()
calls device_reset() on it. And if QEMU runs in KVM mode, following
call chain will fail:
apic_reset_common()
-> kvm_apic_vapic_base_update()
-> kvm_vcpu_ioctl(cpu->kvm_fd,...)
due to cpu->kvm_fd not being initialized yet.
cpu->kvm_fd is initialized during qemu_init_vcpu() but x86_cpu_apic_init()
can't be moved after it because kvm_init_vcpu() -> kvm_arch_reset_vcpu()
relies on APIC to determine if CPU is BSP for setting initial
env->mp_state.
So split APIC device creation from its initialization and realize APIC
after CPU is created, when it's safe to call APIC's reset method.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4dc1f449ab22bb79ea3894bd90b154c30d73573e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:53 2013 +0200
target-i386: Consolidate error propagation in x86_cpu_realizefn()
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 72cc5137759ce1393c9eeac81b677947d618351d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Mar 7 17:16:18 2013 +0100
qdev: Add qdev property for bool type
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
[AF: Use new qdev_prop_set_after_realize()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3af60be28c35257e3ad1fc6ef1c415b09bdc8545
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 27 10:15:51 2013 +0100
target-i386: Improve -cpu ? features output
We were missing a bunch of feature lists. Fix this by simply dumping
the meta list feature_word_info.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21ad77892d321f15325d77f6fab700864af61f49
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 24 17:01:02 2013 +0100
target-i386: Fix including "host" in -cpu ? output
kvm_enabled() cannot be true at this point because accelerators are
initialized much later during init. Also, hiding this makes it very hard
to discover for users. Simply dump unconditionally if CONFIG_KVM is set.
Add explanation for "host" CPU type.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22773d6066a7f01a95f78c270edf9dbd2e755ac3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 31 15:31:14 2013 +0300
pci: add pci test device
This device is used for kvm unit tests,
currently it supports testing performance of ioeventfd.
Using updated kvm unittest, here's an example output:
mmio-no-eventfd:pci-mem 8796
mmio-wildcard-eventfd:pci-mem 3609
mmio-datamatch-eventfd:pci-mem 3685
portio-no-eventfd:pci-io 5287
portio-wildcard-eventfd:pci-io 1762
portio-datamatch-eventfd:pci-io 1777
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 24a6e7f4d91e9ed5f8117ecb083431a23f8609a0
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Sun Apr 14 14:07:00 2013 +0200
virtio-balloon: fix dynamic properties.
To keep compatibility with the old virtio-balloon-x, add the dynamic
properties
to virtio-balloon-pci and virtio-balloon-ccw.
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1365941220-8114-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ceb193d30fe9b1cda0dc73bddb8051659926fb9
Merge: a907cf5... c72dd2d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 17:06:04 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
* bonzini/hw-dirs:
exec: remove useless declarations from memory-internal.h
memory: move core typedefs to qemu/typedefs.h
include: avoid useless includes of exec/ headers
sysemu: avoid proliferation of include/ subdirectories
tpm: reorganize headers and split hardware part
configure: fix TPM logic
acpi.h: make it self contained
acpi: move declarations from pc.h to acpi.h
hw: Add lost ARM core again
Fix failure to create q35 machine
Add linux-headers to QEMU_INCLUDES
arm: fix location of some include files
Conflicts:
configure
aliguori: trivial conflict in configure output
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a907cf59d8a41ecb909ad4367cd016c7d71f8546
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Mon Apr 15 21:28:17 2013 +0200
Allow qtest to be used together with a virtual CPU
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1366054097-14132-1-git-send-email-edgar.iglesias@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe6c211781f80ef4fc246269cecbbc21981089f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 15 18:34:10 2013 +0200
qdev: Fix QOM unrealize behavior
Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare
"realized" property) setting realized = true would register the device's
VMStateDescription, but realized = false would not unregister it. Fix
that.
Moving the code from unparenting also revealed that we were calling
DeviceClass::init through DeviceClass::realize as interim solution but
DeviceClass::exit still at unparenting time with a realized check.
Make this symmetrical by implementing DeviceClass::unrealize to call it,
while we're setting realized = false in the unparenting path.
The only other unrealize user is mac_nvram, which can safely override it.
Thus, mark DeviceClass::exit as obsolete, new devices should implement
DeviceClass::unrealize instead.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366043650-9719-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e0e367bad7170e264916cdcba4306f79f47bb95c
Merge: e6b6367... 39dc85b...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 15 22:51:32 2013 +0200
Merge branch 'tcg-ppc64' of git://github.com/rth7680/qemu
* 'tcg-ppc64' of git://github.com/rth7680/qemu: (33 commits)
tcg-ppc64: Handle deposit of zero
tcg-ppc64: Implement mulu2/muls2_i64
tcg-ppc64: Implement add2/sub2_i64
tcg-ppc64: Use getauxval for ISA detection
tcg-ppc64: Implement movcond
tcg-ppc64: Use ISEL for setcond
tcg-ppc64: Use MFOCRF instead of MFCR
tcg-ppc64: Cleanup i32 constants to tcg_out_cmp
tcg-ppc64: Use TCGType throughout compares
tcg-ppc64: Use I constraint for mul
tcg-ppc64: Implement deposit
tcg-ppc64: Handle constant inputs for some compound logicals
tcg-ppc64: Implement compound logicals
tcg-ppc64: Implement bswap64
tcg-ppc64: Implement bswap16 and bswap32
tcg-ppc64: Implement rotates
tcg-ppc64: Streamline qemu_ld/st insn selection
tcg-ppc64: Use automatic implementation of ext32u_i64
tcg-ppc64: Improve and_i64 with constant
tcg-ppc64: Improve and_i32 with constant
...
commit e6b636779b51c97e67694be740ee972c52460c59
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Mar 19 11:20:20 2013 +0000
Add -f FMT / --format FMT arg to qemu-nbd
Currently the qemu-nbd program will auto-detect the format of
any disk it is given. This behaviour is known to be insecure.
For example, if qemu-nbd initially exposes a 'raw' file to an
unprivileged app, and that app runs
'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0'
then the next time the app is started, the qemu-nbd will now
detect it as a 'qcow2' file and expose /etc/shadow to the
unprivileged app.
The only way to avoid this is to explicitly tell qemu-nbd what
disk format to use on the command line, completely disabling
auto-detection. This patch adds a '-f' / '--format' arg for
this purpose, mirroring what is already available via qemu-img
and qemu commands.
qemu-nbd --format raw -p 9000 evil.img
will now always use raw, regardless of what format 'evil.img'
looks like it contains
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
[Use errx, not err. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39dc85b98561ea3de2b029f43a3a2db95c57afa3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 12:47:22 2013 -0700
tcg-ppc64: Handle deposit of zero
The TCG optimizer does great work when inserting constants, being able
to fold the open-coded deposit expansion to just an AND or an OR. Avoid
a bit the regression caused by having the deposit opcode by expanding
deposit of zero as an AND.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6645c147db4bb84b1b24c49be9398be22902923b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 16:20:51 2013 -0800
tcg-ppc64: Implement mulu2/muls2_i64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6c858762de60ffff80011251b5fe1ae93cbcd2c8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 14:26:52 2013 -0800
tcg-ppc64: Implement add2/sub2_i64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1e6e9aca157bb8bc4bef60374e1f584d742e7fb2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 18 09:11:15 2013 -0800
tcg-ppc64: Use getauxval for ISA detection
Glibc 2.16 includes an easy way to get feature bits previously
buried in /proc or the program startup auxiliary vector. Use it.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 027ffea9728704d9e23ae52baf51a1bcfbf34680
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 13:00:05 2013 -0800
tcg-ppc64: Implement movcond
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 70fac59a2ae334c5994037b45a76f8dc9f034ab5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 15:16:10 2013 -0700
tcg-ppc64: Use ISEL for setcond
There are a few simple special cases that should be handled first.
Break these out to subroutines to avoid code duplication.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6995a4a063d3ab3ceb21aad8c8a78f4cfc5e4140
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 15:09:52 2013 -0700
tcg-ppc64: Use MFOCRF instead of MFCR
It takes half the cycles to read one CR register instead of all 8.
This is a backward compatible addition to the ISA, so chips prior
to Power 2.00 spec will simply continue to read the entire CR register.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 991041a4eb8895390d816375021dccfd12c81752
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 14:14:23 2013 -0700
tcg-ppc64: Cleanup i32 constants to tcg_out_cmp
Nothing else in the call chain ensures that these
constants don't have garbage in the high bits.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4c314da6d1b438c815533380981880fe3f49b1ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 14:58:27 2013 -0700
tcg-ppc64: Use TCGType throughout compares
The optimization/bug being fixed is that tcg_out_cmp was not applying the
right type to loading a constant, in the case it can't be implemented
directly. Rather than recomputing the TCGType enum from the arch64 bool,
pass around the original TCGType throughout.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ef809300fcf300a3efef479734e9456dc5b7581c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 09:45:11 2013 -0800
tcg-ppc64: Use I constraint for mul
The mul_i32 pattern was loading non-16-bit constants into a register,
when we can get the middle-end to do that for us. The mul_i64 pattern
was not considering that MULLI takes 64-bit inputs.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 33de9ed2235f8729c36110906c6806b361f96a24
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 08:39:30 2013 -0800
tcg-ppc64: Implement deposit
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 37251b98db28ff606479f53ff59ec0724348c40b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 13:48:38 2013 -0800
tcg-ppc64: Handle constant inputs for some compound logicals
Since we have special code to handle and/or/xor with a constant,
apply the same to andc/orc/eqv with a constant.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ce1010d6e3080aae0ba597cb9cce07dbf6ec5a5a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 07:49:13 2013 -0800
tcg-ppc64: Implement compound logicals
Mostly copied from the ppc32 port.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68aebd45b1bc13828029e60d12147222ddef3259
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 21:41:54 2013 -0800
tcg-ppc64: Implement bswap64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d221582009d942de77a538d21b09c9120929dc5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 21:16:38 2013 -0800
tcg-ppc64: Implement bswap16 and bswap32
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 313d91c778e9a2a684d5aacc09750421a6612416
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 19:24:06 2013 -0800
tcg-ppc64: Implement rotates
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 49d9870a54161b0c2cd29a8b70cf5aa6d3aed469
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 2 00:58:14 2013 -0800
tcg-ppc64: Streamline qemu_ld/st insn selection
Using a table to look up insns of the right width and sign.
Include support for the Power 2.06 LDBRX and STDBRX insns.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28f2dba6dc451daf462456adc4edfeb3d911fb12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 13:36:07 2013 -0500
tcg-ppc64: Use automatic implementation of ext32u_i64
The enhancements to and immediate obviate this.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 637af30c764e08763e28908d01e5f73efb5e2318
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 23:58:17 2013 -0800
tcg-ppc64: Improve and_i64 with constant
Use RLDICL and RLDICR.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9249dff4dc233f9377e7a3025aa124d8941b096
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 23:43:42 2013 -0800
tcg-ppc64: Improve and_i32 with constant
Use RLWINM
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dce74c57bbf9839e72a2f83e3d994d4dd86f93c6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 20:22:05 2013 -0800
tcg-ppc64: Tidy or and xor patterns.
Handle constants in common code; we'll want to reuse that later.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 148bdd23738a2919dda101908f9cfd94f253ef66
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 07:30:20 2013 -0700
tcg-ppc64: Allow constant first argument to sub
Using SUBFIC for 16-bit signed constants.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee924fa6b36330fb2d7c383df6436fcac77e1f23
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:17:17 2013 -0800
tcg-ppc64: Improve constant add and sub ops.
Improve constant addition -- previously we'd emit useless addi with 0.
Use new constraints to force the driver to pull full 64-bit constants
into a register.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3d582c6179c853cf27e3c7a19575b6c9b94bd154
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:51:53 2013 -0800
tcg-ppc64: Rearrange integer constant constraints
We'll need a zero, and Z makes more sense for that. Make sure we
have a full compliment of signed and unsigned 16 and 32-bit tests.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 421233a1469123cc51ddd19849f7db4b6bd380e7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 15:52:49 2013 -0800
tcg-ppc64: Cleanup tcg_out_movi
The test for using movi32 was sub-optimal for TCG_TYPE_I32, comparing
a signed 32-bit quantity against an unsigned 32-bit quantity.
When possible, use addi+oris for 32-bit unsigned constants. Otherwise,
standardize on addi+oris+ori instead of addis+ori+rldicl.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 752c1fdb6d3e7cc03157af213837f3b081b03858
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 11:13:28 2013 -0700
tcg-ppc64: Fix setcond_i32
We weren't ignoring the high 32 bits during a NE comparison.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2fd8eddcab144d29f9f58c842ad7a7fd65147394
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:08:50 2013 -0800
tcg-ppc64: Introduce and use TAI and SAI
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e916c287e023c57f05689f908cc4579a6b53245
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:19:05 2013 -0800
tcg-ppc64: Introduce and use tcg_out_shri64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a9564b964f2fec444cd422343bc1cc370c60dee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:12:14 2013 -0800
tcg-ppc64: Introduce and use tcg_out_shli64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e5e06024ff722057db928ce5da0b0de64768bc8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:06:30 2013 -0800
tcg-ppc64: Introduce and use tcg_out_ext32u
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9e555b735c8c0077bcf88ae92d6a0a26c38b437e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:00:45 2013 -0800
tcg-ppc64: Introduce and use tcg_out_rlw
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aceac8d68537b96aa2ef8e8ba246bfaf179975dd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 14:48:37 2013 -0800
tcg-ppc64: Use TCGReg everywhere
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66d4f6a32bf5aa0e3e20c1da11ecc75f8b566899
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 11:16:21 2013 -0800
disas: Disassemble all ppc insns for the host
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c72dd2d04bd28f7ec6b073316270258684ba5fc3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 18:26:41 2013 +0200
exec: remove useless declarations from memory-internal.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b421d9c6aba0ba3338c00b56cf45edbc150c42f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 9 11:10:27 2013 +0200
memory: move core typedefs to qemu/typedefs.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0bc3cd624f1d59456cad769bb07e84066a2ddaf9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 17:29:59 2013 +0200
include: avoid useless includes of exec/ headers
Headers in include/exec/ are for the deepest innards of QEMU,
they should almost never be included directly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dccfcd0e5f8f37360ebda11ccc4dab164c04d5a3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 16:55:25 2013 +0200
sysemu: avoid proliferation of include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bdee56f5466a724f043e6cfcfcf69866cc48cc94
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 18:28:41 2013 +0200
tpm: reorganize headers and split hardware part
The TPM subsystem does not have a full front-end/back-end separation.
The sole available backend, tpm_passthrough, depends on the data
structures of the sole available frontend, tpm_tis.
However, we can at least try to split the user interface (tpm.c) from the
implementation (hw/tpm). The patches makes tpm.c not include tpm_int.h,
which is shared between tpm_tis.c and tpm_passthrough.c; instead it
moves more stuff to tpm_backend.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ca5aa4f4c4a8bcc73988dd52a536241d35e5223
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 15:23:27 2013 +0200
qemu-char: another io_add_watch_poll fix
After attaching the source, we have to remove the reference we hold
to it, because we do not hold anymore a pointer to the source.
If we do not do this, removing the source will not finalize it and
will not drop the "real" I/O watch source.
This showed up when backporting the new flow control patches to older
versions of QEMU that still used select. The whole select then failed
with EBADF (poll instead will reporting POLLNVAL on a single pollfd)
and QEMU froze.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365600207-21685-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5990ff46759d918309dc10409a7d7ee83467642
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:36 2013 +0200
virtio-serial: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76017fd2ea9bbd24850deb0bf665ef65c920d7f3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:35 2013 +0200
virtio-serial: cleanup: use QOM casts.
As the virtio-serial-pci and virtio-serial-s390 are switched to the new
API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 34b95b2c647e6e66adcf877d06ea8b7911d31e80
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:34 2013 +0200
virtio-serial: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6acf69cd4fcc089f6c2415912431c04e096b5d5e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:33 2013 +0200
virtio-serial-ccw: switch to the new API.
Here the virtio-serial-ccw is modified for the new API. The device
virtio-serial-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-serial during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55169140020c431bae446280858bd25e1e54f366
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:32 2013 +0200
virtio-serial-s390: switch to the new API.
Here the virtio-serial-s390 is modified for the new API. The device
virtio-serial-s390 extends virtio-s390-device as before. It creates and
connects a virtio-serial during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7f7464afdb9f6f792de080ca4b3c520168513ad
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:31 2013 +0200
virtio-serial-pci: switch to the new API.
Here the virtio-serial-pci is modified for the new API. The device
virtio-serial-pci extends virtio-pci. It creates and connects a
virtio-serial during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2cd2b016a145c57204ab629d2876b7e0a931ab12
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:30 2013 +0200
virtio-serial: add the virtio-serial device.
Create virtio-serial which extends virtio-device, so it can be connected
on virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f574fa8b0700bd5a3a400dbdc3bd514eaf53e005
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 12:04:48 2013 +0200
virtio: fix broken aliases.
This fix the broken aliases, by renaming the devices.
So: * virtio-blk => virtio-blk-device.
* virtio-balloon => virtio-balloon-device.
* virtio-scsi => virtio-scsi-device.
All virtio-*-pci, virtio-*-s390, virtio-*-ccw didn't change.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1365501888-14602-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fd02979d7f0fc58519f0119120797cba2a9fe70
Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Date: Mon Apr 8 23:08:13 2013 +0200
Update Makefile to actually install the new efi-enabled nic roms that are
used by default.
Commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f made a switch use the
efi-enabled nic roms by default.
This patch updates the Makefile to install the roms so they can actually
be used.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Message-id: 1365455293-7084-1-git-send-email-linux@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3718c7f0914c39d048a00f609baa4f47f7fc727f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 11:12:50 2013 +0300
acpi.h: make it self contained
Headers shouldn't assume another header is included,
pull in everything necessary.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130415081250.GA7374@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 97ebbab0e324831dff47dbfa4bed55808cb3ec74
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:48 2013 +0200
nbd: set TCP_NODELAY
Disable the Nagle algorithm to reduce latency. Note this means we must
also use TCP_CORK when sending header followed by payload to avoid
fragmenting lots of little packets. The previous patch took care of
that.
Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Tested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0fcece25c0b1b79b39d1dff5c2c55b88feae7eef
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:47 2013 +0200
nbd: use TCP_CORK in nbd_co_send_request()
Use TCP_CORK to defer packet transmission until both the header and the
payload have been written.
Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6760c47aa42ce30efdd12c132f73c8749c575995
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:46 2013 +0200
nbd: unlock mutex in nbd_co_send_request() error path
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Apr 15 13:54:07 2013 +0200
target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR
The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format.
Otherwise, the results are unpredictable. Once the operands were corrected
in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became
visible.
This change corrects the tests for MAQ_SA_W.PHL/MAQ_SA_W.PHR and fixes
sign-related issue in mipsdsp_mul_q15_q15. It also removes unnecessary
comment.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
commit e3d142d073d02f0a3a4aad79eb838c15b6f99c01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 12 16:37:52 2013 +0100
fpu: Correct edgecase in float64_muladd
In handling float64_muladd, if we end up doing a subtraction of the
product and c, and the 128 bit result of this subtraction happens to
have its most significant bit in bit 63, we weren't handling this
correctly when attempting to normalize to put the most significant
bit into bit 126. We would end up doing a right shift by a negative
number (undefined behaviour in C) so at best we would return an
incorrect result to the guest. MSB in bit 63 has to be handled as a
special case separately from MSB in 0..62 and MSB in 63..126. (MSB
in 127 is not possible.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 3b8acc11d3f60792f9f716f2a93c258e729af980
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 18 16:37:50 2013 +0100
configure: fix TPM logic
A non-native i386 or x86_64 emulator should not have TPM passthrough
support, since the TPM is only present for those hosts.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e53339cf7cf90cf5c7a6bca64d0e7c0956f53a66
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 11:12:50 2013 +0300
acpi.h: make it self contained
Headers shouldn't assume another header is included,
pull in everything necessary.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0445259ba686f9ddf395f700c7d5b1ac400a451c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 09:19:22 2013 +0300
acpi: move declarations from pc.h to acpi.h
Functions defined in acpi/ should be declared in
acpi.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 174d5d990c7b08e75677402a71c834b000171c94
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Apr 14 22:52:50 2013 +0200
hw: Add lost ARM core again
Commit 0434e30afb6175212389811e0b28b948eb3c1e40 accidentally removed
the compilation of arm11mpcore.c.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 35b2028f47eef4e20752f94f7cff650d828bfaee
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed Apr 10 16:43:09 2013 +0800
Fix failure to create q35 machine
This is a regression introduced by c0907c9e6417c. How to reproduce:
$ qemu-system-x86_64 -nodefaults -vnc :0 -M q35
qemu-system-x86_64: Unknown device 'q35-pcihost' for default sysbus
Aborted (core dumped)
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd123245b98fd6e13d829878f25b30a9417f4bfc
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Apr 10 10:29:47 2013 +0200
Add linux-headers to QEMU_INCLUDES
virtio/dataplane/vring.c requires the Linux headers and is built for all
targets. So we need to add the corresponding include to QEMU_INCLUDES to
avoid that outdated distribution headers are used.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bd2be1500337f0349f70802e4d8d43f5aca61477
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 9 15:26:55 2013 +0100
arm: fix location of some include files
The recent rearrangement of include files had some minor errors:
devices.h is not ARM specific and should not be in arm/
arm.h should be in arm/
Move these two headers to correct this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit db08dc213ba87d16c34c235f5c83f70f0239f023
Merge: c530b14... dc7588c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 08:02:41 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
rbd: add an asynchronous flush
iotests: Add 'check -ssh' option to test Secure Shell block device.
block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush
to disk.
block: Add support for Secure Shell (ssh) block device.
ide: refuse WIN_READ_NATIVE_MAX on empty device
qemu-iotests: filter QEMU_PROG in 051.out
qemu-iotests: Add test for -drive options
qemu-iotests: A few more bdrv_pread/pwrite tests
block: Introduce bdrv_pwritev() for qcow2_save_vmstate
savevm: Implement block_writev_buffer()
block: Introduce bdrv_writev_vmstate
Conflicts:
savevm.c
aliguori: add f->pos parameter to writev_buffer().
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c530b1423b86f1589c49bccb460a75cb87322562
Merge: b25ce10... c85a128...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 07:49:21 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michal Novotny (2) and Eric Blake (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi: use valid JSON in schema
Revert "New QMP command query-cpu-max and HMP command cpu_max"
New cpu-max field in query-machines QMP command output
Message-id: 1365775103-18737-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b25ce104a2ea690d77b1803cc829fee3142b310d
Merge: e2ec3f9... 4d11724...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 07:46:39 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Paolo Bonzini
# Via Juan Quintela
* quintela/migration.next:
migration: simplify writev vs. non-writev logic
migration: drop is_write complications
migration: use a single I/O operation when writev_buffer is not defined
migration: set f->is_write and flush in add_to_iovec
Message-id: 1365512961-15623-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc7588c1eb3008bda53dde1d6b890cd299758155
Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Date: Fri Mar 29 13:03:23 2013 -0700
rbd: add an asynchronous flush
The existing bdrv_co_flush_to_disk implementation uses rbd_flush(),
which is sychronous and causes the main qemu thread to block until it
is complete. This results in unresponsiveness and extra latency for
the guest.
Fix this by using an asynchronous version of flush. This was added to
librbd with a special #define to indicate its presence, since it will
be backported to stable versions. Thus, there is no need to check the
version of librbd.
Implement this as bdrv_aio_flush, since it matches other aio functions
in the rbd block driver, and leave out bdrv_co_flush_to_disk when the
asynchronous version is available.
Reported-by: Oliver Francke <oliver@xxxxxxxx>
Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 342809e807ecb55551e579942f535966251cbe27
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:55 2013 +0100
iotests: Add 'check -ssh' option to test Secure Shell block device.
Note in order to run these tests on ssh, you must be running a local
ssh daemon, and that daemon must accept loopback connections, and
ssh-agent has to be set up to allow logins on the local daemon. In
other words, the following command should just work without demanding
any passphrase:
ssh localhost
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:54 2013 +0100
block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to
disk.
libssh2_sftp_fsync is an extension to libssh2 to support fsync(2) over
sftp, which is itself an extension of OpenSSH.
If both libssh2 and the ssh daemon support it, this will allow
bdrv_flush_to_disk to commit changes through to disk on the remote
server.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0a12ec87a513b31eb3b6e035d30649e483322270
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:53 2013 +0100
block: Add support for Secure Shell (ssh) block device.
qemu-system-x86_64 -drive file=ssh://hostname/some/image
QEMU will ssh into 'hostname' and open '/some/image' which is made
available as a standard block device.
You can specify a username (ssh://user@host/...) and/or a port number
(ssh://host:port/...). You can also use an alternate syntax using
properties (file.user, file.host, file.port, file.path).
Current limitations:
- Authentication must be done without passwords or passphrases, using
ssh-agent. Other authentication methods are not supported.
- Uses a single connection, instead of concurrent AIO with multiple
SSH connections.
This is implemented using libssh2 on the client side. The server just
requires a regular ssh daemon with sftp-server support. Most ssh
daemons on Unix/Linux systems will work out of the box.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aad64f3193cbdc3741d10afa0237b6833e46e94e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:51:01 2013 +0200
ide: refuse WIN_READ_NATIVE_MAX on empty device
What is the highest addressable sector on an empty CD-ROM? Nothing is
addressable so produce an error.
This patch prevents a divide-by-zero in ide_set_sector() since
s->sectors and s->heads would be 0. Not to mention that a sector=-1
argument would be nonsense.
Note that WIN_READ_NATIVE_MAX can be triggered using hdparm -N 1024
/dev/cdrom. The LBA bit will be set to 1 though, so the only easy way
to go down the ide_set_sector() CHS code path which divides by zero is
to comment out the s->select & 0x40 case for testing.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit c09b437b5fab487edd924e09d1732062d7dcf093
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 10:15:17 2013 +0200
qemu-iotests: filter QEMU_PROG in 051.out
Filter the name of the QEMU executable so the output can be diffed no
matter what QEMU_PROG is (e.g. qemu-system-x86_64).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 47e5df2146e8b6cd1c093720461928e66f824222
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 15:56:13 2013 +0200
qemu-iotests: Add test for -drive options
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf07aecf955453de7570c66fa0e582c83f2aac4c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:56 2013 +0200
qemu-iotests: A few more bdrv_pread/pwrite tests
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8d3b1a2d0b34a95800c482e1414c63f469ac4973
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:55 2013 +0200
block: Introduce bdrv_pwritev() for qcow2_save_vmstate
Directly pass the QEMUIOVector on instead of linearising it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05fcc84888cfabec2267851415b66395a73a0f5f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:54 2013 +0200
savevm: Implement block_writev_buffer()
Instead of breaking up RAM state into many small chunks, pass the iovec
to the block layer for better performance.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf8074b3825f7229a20c60e679511592bde41340
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:53 2013 +0200
block: Introduce bdrv_writev_vmstate
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41cb62c2d9a5a2668165fdd6f195f54ad30e5396
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 16:52:25 2013 +0300
kvm: support non datamatch ioeventfd
Adding restrictions just adds code.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 44c3f8f7c77ff24edbd4e682c12a8f1f50a20ae9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 00:54:45 2013 +0300
kvm: support any size for pio eventfd
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 500ffd4a29bda2109ab07fadc0f767473dab6010
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 00:05:21 2013 +0300
kvm: remove unused APIs
There are only used internally now, move them
out of header and out of stub.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e2ec3f976803b360c70d9ae2ba13852fa5d11665
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:21 2013 +0200
qjson: to_json() case QTYPE_QSTRING is buggy, rewrite
Known bugs in to_json():
* A start byte for a three-byte sequence followed by less than two
continuation bytes is split into one-byte sequences.
* Start bytes for sequences longer than three bytes get misinterpreted
as start bytes for three-byte sequences. Continuation bytes beyond
byte three become one-byte sequences.
This means all characters outside the BMP are decoded incorrectly.
* One-byte sequences with the MSB are put into the JSON string
verbatim when char is unsigned, producing invalid UTF-8. When char
is signed, they're replaced by "\\uFFFF" instead.
This includes \xFE, \xFF, and stray continuation bytes.
* Overlong sequences are happily accepted, unless screwed up by the
bugs above.
* Likewise, sequences encoding surrogate code points or noncharacters.
* Unlike other control characters, ASCII DEL is not escaped. Except
in overlong encodings.
My rewrite fixes them as follows:
* Malformed UTF-8 sequences are replaced.
Except the overlong encoding \xC0\x80 of U+0000 is still accepted.
Permits embedding NUL characters in C strings. This trick is known
as "Modified UTF-8".
* Sequences encoding code points beyond Unicode range are replaced.
* Sequences encoding code points beyond the BMP produce a surrogate
pair.
* Sequences encoding surrogate code points are replaced.
* Sequences encoding noncharacters are replaced.
* ASCII DEL is now always escaped.
The replacement character is U+FFFD.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d50c8e947180174acb02bad9ff95e0aee6249ea
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:20 2013 +0200
check-qjson: Test noncharacters other than U+FFFE, U+FFFF in strings
Test cases cover the two noncharacters in the BMP. Add tests for the
other 64 noncharacters.
Three existing test cases involve noncharacters U+FFFF and U+10FFFF.
Instead of deleting them as now duplicates, adjust them to use U+FFFC
and U+10FFFFD.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d6244e2ce48b353402eff271d382ee6fd47ce166
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:19 2013 +0200
check-qjson: Improve a few comments, delete bogus ones
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cb2744ea343d8cb96bab0389f6b7d6e1a3ddf6c1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:18 2013 +0200
unicode: New mod_utf8_codepoint()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 75312e745ad1b672cbabdc3022f6e7c8eff69b00
Merge: d640045... 0727b86...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 14:31:54 2013 +0200
Merge branch 'mingw' of git://qemu.weilnetz.de/qemu
* 'mingw' of git://qemu.weilnetz.de/qemu:
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
Release SMP restriction on Windows
Ensure good ordering of memory instruction in cpu_exec
Check effective suspension of TCG thread
commit d640045a3ede028293b83e57e9ae1ce4f81044b8
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:31 2013 +0200
target-i386: add AES-NI instructions
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 5d6f5cdd8ae3a67a07012b4f3fcb5db7a6117766
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:31 2013 +0200
aes: make Td[0-5] and Te[0-5] tables non static
Remove static attribute to Td[0-5] and Te[0-5] tables so that they
can be used outside of aes.c. Change their type from u32 to uint32_t,
to keep the u32 udef local to aes.c. Prefix them with AES_ so that they
do not conflict with other symbols.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 753d9b82c5a18182294980f4fc1081d7926aae83
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
aes: move aes.h from include/block to include/qemu
Move aes.h from include/block to include/qemu to show it can be reused
by other subsystems.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 309b4de122c387e0f75624307fcd9896be7ec8fe
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
disas/i386.c: disassemble aes-ni instructions
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
target-i386: enable PCLMULQDQ on Westmere CPU
The PCLMULQDQ instruction has been introduced on the Westmere CPU.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e71827bc0ed50edb31bee6050bc96b3bd1e0c055
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
target-i386: add pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8dbd3fc37593c81a04a62cb4266ba9127de4498a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
disas/i386.c: disassemble pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2f493fee18a62104caddfabaa2712b076528cede
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 9 16:51:24 2013 +0200
sh7750: Change cpu field type to SuperHCPU
This brings us a step closer to QOM'ified SH7750 SoC and
fixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass)
assuming SuperHCPU type for SUPERH_CPU_GET_CLASS().
Fix Coding Style issues while at it (indentation, braces).
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 06f3ed26983a04df74729d748a7b05400d8f3386
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 9 16:51:23 2013 +0200
shix: Catch CPU initialization errors
Print an error message as done for the r2d machine and exit.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 396a14a3be17edbcdf33ad2c94d6e1069464f9e0
Merge: 0a9c234... c30d1ae...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:50:34 2013 +0200
Merge branch 'trivial-patches' of git://github.com/stefanha/qemu
* 'trivial-patches' of git://github.com/stefanha/qemu:
cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC)
Typo, spelling and grammatical fixes
linux-user: pass correct host flags to eventfd2 call
target-moxie: Fix VMState registration
commit 0a9c2341de2e735166084538d000ed80182ff404
Merge: 4b7b054... ee79c35...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:50:06 2013 +0200
Merge branch 'tci' of git://qemu.weilnetz.de/qemu
* 'tci' of git://qemu.weilnetz.de/qemu:
tci: Make tcg temporaries local to tcg_qemu_tb_exec
tci: Delete unused tb_ret_addr
tci: Avoid code before declarations
tci: Use a local variable for env
tci: Use 32-bit signed offsets to loads/stores
commit 4b7b05468289531dae80ec81d0f08021ed92f123
Merge: 93b48c2... b879f30...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:49:20 2013 +0200
Merge branch 'tcg-s390' of git://github.com/rth7680/qemu
* 'tcg-s390' of git://github.com/rth7680/qemu:
tcg-s390: Fix merge error in tgen_brcond
tcg-s390: Use all 20 bits of the offset in tcg_out_mem
tcg-s390: Use load-address for addition
tcg-s390: Cleanup argument shuffling fixme in softmmu code
tcg-s390: Use risbgz for andi
tcg-s390: Remove constraint letters for and
tcg-s390: Implement deposit opcodes
tcg-s390: Implement movcond opcodes
tcg-s390: Implement mulu2_i64 opcode
tcg-s390: Implement add2/sub2 opcodes
tcg-s390: Remove useless preprocessor conditions
tcg-s390: Properly allocate a stack frame.
tcg-s390: Fix movi
commit 0727b867542eea7fedfd2c53568e9782627fd3bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Feb 20 14:43:31 2013 +0100
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
These are needed for any of the Win32 alarm timer implementations.
They are not tied to mmtimer exclusively.
Jacob tested this patch with both mmtimer and Win32 timers.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Jacob Kroon <jacob.kroon@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 1046127d1fcc69359b3f5a44de08e6c5b16c90bc
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:55 2013 +0200
Release SMP restriction on Windows
The previous patches make QEMU SMP safe on Windows, we can now release
the restriction.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ec9bd89fa48147e1d16e078217513c1235f9132a
Author: Olivier Hainque <hainque@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:54 2013 +0200
Ensure good ordering of memory instruction in cpu_exec
The IO thread, when it senses cpu_single_env == 0, expects exit_request
to be checked later on. A compiler scheduling constraint is not strong
enough to ensure this on modern architecture. A memory fence is needed
as well.
Signed-off-by: Olivier Hainque <hainque@xxxxxxxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ed9164a3549f93204d6b096136cda2ce54e9f03a
Author: Olivier Hainque <hainque@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:53 2013 +0200
Check effective suspension of TCG thread
On multi-core systems, SuspendThread does not guaranty immediate thread
suspension. We add busy loop to wait for effective thread suspension
after call to ThreadSuspend().
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit c85a128480a3d05d2002728c449a32e32663e7de
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Wed Apr 10 13:12:44 2013 -0600
qapi: use valid JSON in schema
* qapi-schema.json: JSON doesn't allow trailing commas.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 315f9e1a8f596a37853bbed4647954029f9350db
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Tue Apr 9 16:23:39 2013 +0200
Revert "New QMP command query-cpu-max and HMP command cpu_max"
This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked by
Luiz. The patch has been obsoleted by extending MachineInfo structure
by cpu-max field.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c72e768836d78c9d844428b541f7d27d54e7653d
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Mon Apr 8 18:21:02 2013 +0200
New cpu-max field in query-machines QMP command output
Alter the query-machines QMP command to output information about
maximum number of CPUs for each machine type with default value
set to 1 in case the number of max_cpus is not set.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c30d1aea1478cd55e8cfdf866afa39cd00bb4ea1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 11 21:21:46 2013 +0100
cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC)
The CONFIG_DEBUG_EXEC define compiles out a single qemu_log_mask()
call, which is a pretty trivial cost even for something in the main
cpu_exec() loop. Having this be conditionally defined means that
'-d exec' on a non-debug build will silently do nothing. Drop the
define and the configure machinery that sets it, in favour of just
always allowing this log option to be enabled at runtime. As a
concession to the mainloopiness, we use qemu_loglevel_mask()+qemu_log()
rather than qemu_log_mask() to avoid the function call overhead.
Note that DEBUG_DISAS is always defined, so removing the
'|| defined(CONFIG_DEBUG_EXEC)' from those conditionals makes
no behavioural change for that logging.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e03ba136377ff0038276ba493473127338c68ebc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 9 12:48:19 2013 +0100
Typo, spelling and grammatical fixes
Minor fixes to documentation and code comments.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5947c697ce71898015ae1c6ac5d23d1ecc388552
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx>
Date: Mon Apr 8 20:26:10 2013 +0200
linux-user: pass correct host flags to eventfd2 call
This change makes conversion of TARGET_O_NONBLOCK and TARGET_O_CLOEXEC
flags
to host flags before calling eventfd for TARGET_NR_eventfd2.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 183543cdb68a0f2e1ff1c68d37338037dcc9d6c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 16:51:46 2013 +0100
target-moxie: Fix VMState registration
Register the CPU VMState in the correct way, via cpu_class_set_vmsd(),
rather than doing it in two different wrong ways (once by providing
cpu_save and cpu_load functions, and once by setting the vmsd field in
DeviceClass).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee79c356ffe18eea90ea4bbde2057cebe6bb654f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:55 2013 +0000
tci: Make tcg temporaries local to tcg_qemu_tb_exec
We're moving away from the temporaries stored in env. Make sure we can
differentiate between temp stores and possibly bogus stores for extra
call arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way
of the parameter passing registers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 4699ca6dbf335b0c38e291a530c6ad85e599253d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:54 2013 +0000
tci: Delete unused tb_ret_addr
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit dea8fde8b8cb1ab14e15308aadbf88eeccd4e873
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:53 2013 +0000
tci: Avoid code before declarations
This only valid with c99 extensions enabled, and easy to avoid.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7648746844a7775566ada1db1c117943aaf64b83
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:52 2013 +0000
tci: Use a local variable for env
Since we have total conversion away from global AREG0, we do not
need a global variable named "env". Retain that name as the
function parameter inside the interpreter.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 03fc0548b70393b0c8d43703591a9e34fb8e3123
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:51 2013 +0000
tci: Use 32-bit signed offsets to loads/stores
Since the change to tcg_exit_req, the first insn of every TB is
a load with a negative offset from env.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 4d1172472cdf28a444321ca8b165ce7326eb919e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:57 2013 +0200
migration: simplify writev vs. non-writev logic
Check f->iovcnt in add_to_iovec, f->buf_index in qemu_put_buffer/byte.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d9658c4732a88efc42ab43bda69ae9f62559205b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:56 2013 +0200
migration: drop is_write complications
The same QEMUFile is never used for both read and write. Simplify
the logic to simply look for presence or absence of the right ops.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:55 2013 +0200
migration: use a single I/O operation when writev_buffer is not defined
The recent patches to use vectored I/O for RAM migration caused a
regression in savevm speed. To restore previous performance,
add data to the buffer in qemu_put_buffer_async whenever writev_buffer
is not available in the QEMUFile.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit af74db72d33e4776d7d1430b57d0bf065a6f03df
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:54 2013 +0200
migration: set f->is_write and flush in add_to_iovec
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 93b48c201eb6c0404d15550a0eaa3c0f7937e35e
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 9 10:22:35 2013 +0200
virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1365495755-10902-1-git-send-email-hdegoede@xxxxxxxxxx
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47b5264eb3e1cd2825e48d28fd0d1b239ed53974
Merge: 1f8010f... 47b43a1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 13:12:32 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/hw-dirs: (35 commits)
hw: move private headers to hw/ subdirectories.
MAINTAINERS: update for source code movement
hw: move last file to hw/arm/
hw: move hw/kvm/ to hw/i386/kvm
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
hw: move other devices to hw/misc/, configure with default-configs/
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
hw: move interrupt controllers to hw/intc/, configure with
default-configs/
hw: move DMA controllers to hw/dma/, configure with default-configs/
hw: move VFIO and ivshmem to hw/misc/
hw: move PCI bridges to hw/pci-* or hw/ARCH
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
hw: move timer devices to hw/timer/, configure with default-configs/
hw: move ISA bridges and devices to hw/isa/, configure with
default-configs/
hw: move char devices to hw/char/, configure via default-configs/
hw: move more files to hw/xen/
hw: move SCSI controllers to hw/scsi/, configure via default-configs/
hw: move SSI controllers to hw/ssi/, configure via default-configs/
hw: move I2C controllers to hw/i2c/, configure via default-configs/
...
Message-id: 1365442249-18259-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1f8010f0790b53e5a75dbbd3e14868759ac00e6c
Merge: 7c2acc7... 389dd80...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 13:12:25 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman
# Via Stefan Hajnoczi
* stefanha/net:
vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped
vmxnet3: iPXE compatibility fixes
Message-id: 1365435829-23535-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47b43a1f414c5b3eb9eb7502d0b0be0d134259ba
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 18 17:36:02 2013 +0100
hw: move private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can be
kept in hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8d8b636d28a97af7bf43c3267d07f87b9530939a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:19:30 2013 +0100
MAINTAINERS: update for source code movement
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit aacf8895e13c3763ce6d30a4e673ebcc6326d9ff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 18:49:23 2013 +0100
hw: move last file to hw/arm/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 54976b75fb159ca175636b7fef1cd08130cb662f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move hw/kvm/ to hw/i386/kvm
Peter requested the KVM GIC to be in hw/intc.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0434e30afb6175212389811e0b28b948eb3c1e40
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e28bee8ee654b81f4688a505e56ade0692174b5c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 3 18:06:08 2013 +0200
hw: move other devices to hw/misc/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 914e29d28052dbe5a4f41b71eaf8c7bb19ac0929
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5193899a5a7de923c77cbc4e5019e5009294245e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7702e47c21e9e7c9962a25de03caa999ea4cd2ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:12:12 2013 +0100
hw: move interrupt controllers to hw/intc/, configure with
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d2c0bd845847820e4abd99638aa2e9b90611a5bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:54:35 2013 +0100
hw: move DMA controllers to hw/dma/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ba25df88cc004dffad908b54a71ad8510551e6d2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:41:36 2013 +0100
hw: move VFIO and ivshmem to hw/misc/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c0907c9e6417cb959dfd9ef6873221536ec91351
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:06:20 2013 +0100
hw: move PCI bridges to hw/pci-* or hw/ARCH
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ac5c6510b609c123d6b394b2de16462ac7c395f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:54:35 2013 +0100
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3bd884511f8dc44a01e32878b2972443a16db70d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:38:25 2013 +0100
hw: move timer devices to hw/timer/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 47934d0aadc075b05ce2d9e8a44fa6a46edd1afa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:13:04 2013 +0100
hw: move ISA bridges and devices to hw/isa/, configure with
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9944d320016914912133b348b6fbbb18c7417035
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:35:34 2013 +0100
hw: move char devices to hw/char/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 80b4ecc86dd5ccd779f96c8bd11feb031d327614
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:25:08 2013 +0100
hw: move more files to hw/xen/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53a5500244a9d38505174bac56d81a8be2979f39
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:39:38 2013 +0100
hw: move SCSI controllers to hw/scsi/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 31e17060829f26292d4095c93e3408d740ce6f3d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:20:08 2013 +0100
hw: move SSI controllers to hw/ssi/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53ed424e09f555598f7af286787a76d9c397e812
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:07:03 2013 +0100
hw: move I2C controllers to hw/i2c/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:59:04 2013 +0100
hw: move display devices to hw/display/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 34b8f63ea1aa0941f11c6c032f8e1716269a0449
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:55:19 2013 +0100
hw: move audio devices to hw/audio/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7b2478956a1aece1c79ece8dec250ed91c09903b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:55:04 2013 +0100
hw: move block devices to hw/block/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d7e35d4a8495bfb3aa0dfd6319fcc499f43a175c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:33:56 2013 +0100
hw: move NICs to hw/net/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:30:44 2013 +0100
hw: move MC146818RTC to hw/timer/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a100107d5612ba568c817f22c628b2c9eeb431bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:27:44 2013 +0100
hw: move watchdogs to hw/watchdog, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ddf2bcfc63e7c73cc37f870599ee61f9204bde66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:46:43 2013 +0100
hw: make all of hw/pci/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit aaa4d1df2e18e7b3aa996836a6256eab13d4267a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:23:23 2013 +0100
hw: make all of hw/usb/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9a1179dc864ae71dec212c5da482451bcd4a4fcb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:22:39 2013 +0100
hw: make all of hw/ide/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6e7907468fd05b8a641a715ebb110fc1903a604e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:42:31 2013 +0100
hw: move virtio devices to hw/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 49ab747f668f421138d5b40d83fa279c4c5e278d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 1 13:59:19 2013 +0100
hw: move target-independent files to subdirectories
This patch tackles all files that are compiled once, moving
them to subdirectories of hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce3b494cb504f96992f2d37ebc8f56deed202b06
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 18:54:12 2013 +0100
moxie: configure with default-configs file
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1fd6bb44ed7ddd875e0d37d17685621f1ef27823
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 11:59:48 2013 +0100
hw: make subdirectories for devices
Prepare the new directory structure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0d09e41a51aa0752b1ce525ce084f7cd210e461b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 17:06:20 2013 +0100
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bb585a784e9ad69207315d694e7dad2c422f6baa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 3 17:53:21 2013 +0200
build: enable using $(CONFIG_FOO) on the rhs of config files
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7c2acc7062fe863cb71ff5849bb121deafe8df4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 12:11:27 2013 +0100
configure: Don't fall back to gthread coroutine backend
The gthread coroutine backend is broken and does not produce a working
QEMU; it is only useful for some very limited debugging situations.
Clean up the backend selection logic in configure so that it now runs
"if on windows use windows; else prefer ucontext; else sigaltstack".
To do this we refactor the configure code to separate out "test
whether we have a working ucontext", "pick a default if user didn't
specify" and "validate that user didn't specify something invalid",
rather than having all three of these run together. We also simplify
the Makefile logic so it just links in the backend the configure
script selects.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1365419487-19867-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76ad07a4938aac69cb12bfdf52c3bf612c85e4df
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 12:11:26 2013 +0100
configure: Provide and use convenience error reporting function
Provide a convenience function for reporting an error and exiting,
and update various places in the configure script to use it.
This allows us to be a little more consistent about how format
our error messages and makes the calling code shorter.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365419487-19867-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e885b25275fb6763eb947b1e53b2d6911b967a8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 15:03:15 2013 +0200
qemu-char: really fix behavior on can_read = 0
I misread the glib manual, g_source_remove does not let you re-attach
the source later. This behavior (called "blocking" the source in glib)
is present in glib's source code, but private and not available outside
glib; hence, we have to resort to re-creating the source every time.
In fact, g_source_remove and g_source_destroy are the same thing,
except g_source_destroy is O(1) while g_source_remove scans a potentially
very long list of GSources in the current main loop. Ugh. Better
use g_source_destroy explicitly, and leave "tags" to those dummies who
cannot track their pointers' lifetimes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365426195-12596-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9a7cfee1280cc70ba0db2eb528ea3e5a072c80e
Merge: 2a7a239... ce7f7cc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 10:37:06 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-4-2-13' into staging
# By Laszlo Ersek (2) and others
# Via Michael Roth
* mdroth/qga-pull-4-2-13:
qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows
qga schema: document generic QERR_UNSUPPORTED
qga schema: mark optional GuestLogicalProcessor.can-offline with
#optional
qga: add windows implementation for guest-set-time
qga: add windows implementation for guest-get-time
commit 2a7a239ff09aa87cc3682a976c7a57d9ea1321d7
Merge: 9196dd4... aa1c9e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 10:36:40 2013 -0500
Merge remote-tracking branch 'kraxel/usb.79' into staging
# By Gerd Hoffmann (7) and Hans de Goede (3)
# Via Gerd Hoffmann
* kraxel/usb.79:
usb-tablet: Don't claim wakeup capability for USB-2 version
usb: update docs for bus name change
usb-hub: report status changes only once
usb-hub: limit chain length
xhci: zap unused name field
xhci: remove unimplemented printfs
xhci: remove leftover debug printf
xhci: fix numintrs sanity checks
usb-redir: Add flow control support
usb-redir: Fix crash on migration with no client connected
commit 389dd80795c646c914ab3c4366c9409e309f0e4f
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Thu Mar 28 10:53:30 2013 +0200
vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped
Byte swap is redundant because shared memory reading functions
already swap bytes when required
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e948fd38556f872f40ac588ec9008c099010007
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Thu Mar 28 10:53:29 2013 +0200
vmxnet3: iPXE compatibility fixes
iPXE vmxnet3 driver makes a few assumptions regarding device operation
that were missed during testing with Linux and Windows drivers.
This patch adds following logic:
1. Additional GET commands processing added
2. Max number of RX chunks should be set to 1 when driver passes 0
via corresponding shared memory field
3. Enforecement for max chunks number added
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9196dd411d580c27f85daa209ff9a501d719ebc0
Merge: 893986f... 32aea75...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 6 12:53:54 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
hw/nand.c: Fix nand erase operation
cadence_uart: Flush queued characters on reset
pl330: Don't inhibit ES bits on INTEN
pflash_cfi01: Implement migration support
pflash_cfi01: Drop unused 'bypass' field
hw/arm_gic_common: Use vmstate struct rather than save/load functions
arm_gic: Fix sizes of state fields in preparation for vmstate support
vmstate: Add support for two dimensional arrays
hw/onenand.c: fix migration of dynamically allocated buffer "otp"
hw/sd.c: fix migration of dynamically allocated buffer "buf"
vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro
hw/arm_mptimer: Save the timer state
pl050: Don't send always-constant is_mouse field
hw/arm/nseries: don't print to stdout or stderr
commit b879f3084650410709051202e0e834b903b0858c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Apr 5 14:10:28 2013 -0400
tcg-s390: Fix merge error in tgen_brcond
When the TCG condition codes were re-organized last year,
we failed to update all of the "old-style" tests for unsigned.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 78c9f7c5b09408b4cac69a4fee97a118c8a89f6c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 14:37:42 2013 -0400
tcg-s390: Use all 20 bits of the offset in tcg_out_mem
This can save one insn, if the constant has any bits in 32-63 set,
but no bits in 21-31 set. It never results in more insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0db921e6d8660a2491c173a2821e30924018d4bb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 14:23:26 2013 -0400
tcg-s390: Use load-address for addition
Since we're always in 64-bit mode, load address performs a full
64-bit add. Use that for 3-address addition, as well as for
larger constant addends when we lack extended-immediates facility.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 65a62a753c90611d07497a586e0343fe8f7154cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 13:04:26 2013 -0400
tcg-s390: Cleanup argument shuffling fixme in softmmu code
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f0bffc27304ddaad255538da851d52ebb59e020d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 12:28:22 2013 -0400
tcg-s390: Use risbgz for andi
This is immediately usable by the tlb lookup code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 07ff798313a8263a9e50d3411631538cb263d129
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 11:47:54 2013 -0400
tcg-s390: Remove constraint letters for and
Since we have a free temporary and can always just load the constant, we
ought to do so, rather than spending the same effort constraining the
const.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5690ea43322b487071aa22e51f005a542b015d1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 09:30:58 2013 -0400
tcg-s390: Implement deposit opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 96a9f093f8d71bc672e68da100e6a449ada75638
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 17:28:52 2013 -0400
tcg-s390: Implement movcond opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 36017dc68aa8c345d10ad7ba7bc3dba580f3f035
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:50:29 2013 -0400
tcg-s390: Implement mulu2_i64 opcode
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3790b9180a070eab619438dc0fd83de33ec8cbbd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:41:45 2013 -0400
tcg-s390: Implement add2/sub2 opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a01fc30da4d4b6f16889429518eeefe382bc4d42
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:39:50 2013 -0400
tcg-s390: Remove useless preprocessor conditions
We only support 64-bit code generation for s390x.
Don't clutter the code with ifdefs that suggest otherwise.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a4924e8bb533fb537d82a463b6465d80adaea0f5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 25 20:54:30 2013 -0700
tcg-s390: Properly allocate a stack frame.
Set TCG_TARGET_CALL_STACK_OFFSET properly for the abi. Allocate the
standard TCG_STATIC_CALL_ARGS_SIZE. And while we're at it, allocate
space for CPU_TEMP_BUF_NLONGS.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a22971f99f4846a0947f35548b7f3f76159339f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 25 13:45:32 2013 -0700
tcg-s390: Fix movi
The code to load the high 64 bits assumed that the insn used to
load the low 64 bits zero-extended. Enforce that.
commit 893986fe94eb229f2317f50fac0e35e068eb66ba
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 08:46:00 2013 -0500
main-loop: drop the BQL if the I/O appears to be spinning
The char-flow refactoring introduced a busy-wait that depended on
an action from the VCPU thread. However, the VCPU thread could
never take that action because the busy-wait starved the VCPU thread
of the BQL because it never dropped the mutex while running select.
Paolo doesn't want to drop this optimization for fear that we will
stop detecting these busy waits. I'm afraid to keep this optimization
even with the busy-wait fixed because I think a similar problem can
occur just with heavy I/O thread load manifesting itself as VCPU pauses.
As a compromise, introduce an artificial timeout after a thousand
iterations but print a rate limited warning when this happens. This
let's us still detect when this condition occurs without it being
a fatal error.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1365169560-11012-1-git-send-email-aliguori@xxxxxxxxxx
commit d185c094b404b4ff392b77d1244c0233da7d53bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 5 17:59:33 2013 +0200
qemu-char: eliminate busy waiting on can_read returning zero
The character backend refactoring introduced an undesirable busy wait.
The busy wait happens if can_read returns zero and there is data available
on the character device's file descriptor. Then, the I/O watch will
fire continuously and, with TCG, the CPU thread will never run.
1) Char backend asks front end if it can write
2) Front end says no
3) poll() finds the char backend's descriptor is available
4) Goto (1)
What we really want is this (note that step 3 avoids the busy wait):
1) Char backend asks front end if it can write
2) Front end says no
3) poll() goes on without char backend's descriptor
4) Goto (1) until qemu_chr_accept_input() called
5) Char backend asks front end if it can write
6) Front end says yes
7) poll() finds the char backend's descriptor is available
8) Backend handler called
After this patch, the IOWatchPoll source and the watch source are
separated. The IOWatchPoll is simply a hook that runs during the prepare
phase on each main loop iteration. The hook adds/removes the actual
source depending on the return value from can_read.
A simple reproducer is
qemu-system-i386 -serial mon:stdio
... followed by banging on the terminal as much as you can. :) Without
this patch, emulation will hang.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365177573-11817-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91b53e4407ed8379d2d40f88a585e0b767681927
Merge: 54baa6f... f1922e3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:52:48 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Peter Crosthwaite (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
xilinx_zynq: Cleanup ssi_create_slave
petalogix_ml605_mmu: Cleanup ssi_create_slave()
target-s390: Fix SRNMT
linux-user: Don't omit comma for strace of rt_sigaction()
test-visitor-serialization: Fix some memory leaks
commit 54baa6f3c07a155939a6edda6d17706a6e9ab11c
Merge: 5098699... 9246ce8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:52:32 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-04-05' into staging
# By Alex Bligh (2) and Felipe Franciosi (2)
# Via Stefano Stabellini
* sstabellini/xen-2013-04-05:
Allow xen guests to plug disks of 1 TiB or more
Introduce 64 bit integer write interface to xenstore
Xen PV backend: Disable use of O_DIRECT by default as it results in
crashes.
Xen PV backend: Move call to bdrv_new from blk_init to blk_connect
commit 5098699a51756f7e8934dc035112c8f8aa2a0ec3
Merge: 150a470... c2b6ff5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:49:10 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (4) and Kevin Wolf (3)
# Via Kevin Wolf
* kwolf/for-anthony:
qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount
qcow2: Return real error in qcow2_update_snapshot_refcount
block: clean up I/O throttling wait_time code
block: drop duplicated slice extension code
block: keep I/O throttling slice time constant
block: fix I/O throttling accounting blind spot
usb-storage: Forward serial number to scsi-disk
commit c2b6ff51e4a3ad1f7ec5dbc94970e9778b31d718
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 12:57:10 2013 +0200
qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount
It ignored the error code, and at least the 'goto fail' is obvious
nonsense as it creates an endless loop (if the next attempt doesn't
magically succeed) and leaves the in-memory L1 table in big-endian
instead of converting it back.
In error cases, there's no point in writing an updated L1 table, so
skip this part for them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c2bc78b6a975ea2dcd7eee9f0dce22cc060cdcdc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 12:51:31 2013 +0200
qcow2: Return real error in qcow2_update_snapshot_refcount
This fixes the error message triggered by the following script:
cat > /tmp/blkdebug.cfg <<EOF
[inject-error]
event = "cluster_free"
errno = "28"
immediately = "off"
EOF
$qemu_img create -f qcow2 test.qcow2 10G
$qemu_img snapshot -c snap test.qcow2
$qemu_img snapshot -d snap blkdebug:/tmp/blkdebug.cfg:test.qcow2
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0775437fafc5c733564645a22f75490770bf41f7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:22 2013 +0200
block: clean up I/O throttling wait_time code
The wait_time variable is in seconds. Reflect this in a comment and use
NANOSECONDS_PER_SECOND instead of BLOCK_IO_SLICE_TIME * 10 (which
happens to have the right value).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e660fb8b3ccc94652774d5895d122c0f13aecb89
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:21 2013 +0200
block: drop duplicated slice extension code
The current slice is extended when an I/O request exceeds the limit.
There is no need to extend the slice every time we check a request.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ae29d6c64bd8d55873a2cb1df50ae4321b497447
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:20 2013 +0200
block: keep I/O throttling slice time constant
It is not necessary to adjust the slice time at runtime. We already
extend the current slice in order to carry over accounting into the next
slice. Changing the actual slice time value introduces oscillations.
The guest may experience large changes in throughput or IOPS from one
moment to the next when slice times are adjusted.
Reported-by: Benoît Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5905fbc9c94ccd744c1b249472eafcc2d827548a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:19 2013 +0200
block: fix I/O throttling accounting blind spot
I/O throttling relies on bdrv_acct_done() which is called when a request
completes. This leaves a blind spot since we only charge for completed
requests, not submitted requests.
For example, if there is 1 operation remaining in this time slice the
guest could submit 3 operations and they will all be submitted
successfully since they don't actually get accounted for until they
complete.
Originally we probably thought this is okay since the requests will be
accounted when the time slice is extended. In practice it causes
fluctuations since the guest can exceed its I/O limit and it will be
punished for this later on.
Account for I/O upon submission so that I/O limits are enforced
properly.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 76534da749ceb3b4c13ec09b173bcf6d6c2e36d4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 3 12:41:46 2013 +0200
usb-storage: Forward serial number to scsi-disk
usb-storage takes care to fetch the USB serial number from -drive
options, but it neglected to pass its own 'serial' property to the
scsi-disk it creates. With this patch, the 'serial' qdev property and
the 'serial' option in -drive behave the same and correctly apply the
serial number on both USB and SCSI level.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 32aea752f47f30c00878dcc323ac4debf0c9e645
Author: Wendy Liang <wendy.liang@xxxxxxxxxx>
Date: Wed Apr 3 15:33:08 2013 +1000
hw/nand.c: Fix nand erase operation
Usually, nand erase operation has only 2 or 3 address cycles.
We need to mask s->addr to zero unset stale high-order bytes in the nand
address
before using it as the erase address.
This fixes the NAND erase operation in Linux.
[PC: Generalised to work for any number of address cycles rather than
just 3]
Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1364967188-26711-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1db8b5efe0c2b5000e50691eea61264a615f43de
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 3 14:52:21 2013 +1000
cadence_uart: Flush queued characters on reset
Reset can be used to empty the rx-fifo. As the fifo full condition is
used to return false from can_receive, queued rx data should be flushed
on reset accordingly.
Cc: Wendy Liang <jliang@xxxxxxxxxx>
Cc: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Message-id:
494c1e005e225c915d295ddfd75d992ad2dabc3c.1364964526.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fd7f8a99f3b08640a7fe2b2f3c3e6b68068b4983
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 2 17:59:29 2013 +0000
pl330: Don't inhibit ES bits on INTEN
This if-else logic inhibits setting of the event status (ES) bits
when interrupts are enabled. This is incorrect. ES should be set
regardless on INTEN state. INTEN only inhibits the signalling of
events to PL330 threads, not setting of the ES register.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9246ce881128df2a69178779c1ef33c83df3c70d
Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx>
Date: Fri Apr 5 15:47:59 2013 +0000
Allow xen guests to plug disks of 1 TiB or more
The current xen backend driver implementation uses int64_t variables
to store the size of the corresponding backend disk/file. It also uses
an int64_t variable to store the block size of that image. When writing
the number of sectors (file_size/block_size) to xenstore, however, it
passes these values as 32 bit signed integers. This will cause an
overflow for any disk of 1 TiB or more.
This patch changes the xen backend driver to use a 64 bit integer write
xenstore function.
Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 10bb3c623478117aee5117c312736f10833decc2
Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx>
Date: Fri Apr 5 15:37:32 2013 +0000
Introduce 64 bit integer write interface to xenstore
The current implementation of xen_backend only provides 32 bit integer
functions to write to xenstore. This patch adds two functions that
allow writing 64 bit integers (one generic function and another for
the backend only).
This patch also fixes the size of the char arrays used to represent
these integers as strings (originally 32 bytes, however no more than
12 bytes are needed for 32 bit integers and no more than 21 bytes are
needed for 64 bit integers).
Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit c1a88ad1f4ac994cd70695bf08141d161e21533e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Fri Apr 5 15:45:15 2013 +0000
Xen PV backend: Disable use of O_DIRECT by default as it results in
crashes.
Due to what is almost certainly a kernel bug, writes with O_DIRECT may
continue to reference the page after the write has been marked as
completed, particularly in the case of TCP retransmit. In other
scenarios, this "merely" risks data corruption on the write, but with
Xen pages from domU are only transiently mapped into dom0's memory,
resulting in kernel panics when they are subsequently accessed.
This brings PV devices in line with emulated devices. Removing
O_DIRECT is safe as barrier operations are now correctly passed
through.
See:
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
for more details.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 86f425db3b1c4b6c4a2927eaec35627f9ab2e703
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Fri Apr 5 15:45:10 2013 +0000
Xen PV backend: Move call to bdrv_new from blk_init to blk_connect
This commit delays the point at which bdrv_new (and hence blk_open
on the underlying device) is called from blk_init to blk_connect.
This ensures that in an inbound live migrate, the block device is
not opened until it has been closed at the other end. This is in
preparation for supporting devices with open/close consistency
without using O_DIRECT. This commit does NOT itself change O_DIRECT
semantics.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d8d24fb78cf21205bf672d85231712dc1f0bbb39
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
pflash_cfi01: Implement migration support
Add a vmstate to pflash_cfi01, so that it can be live migrated.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363717469-30980-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 5d79b80b335c5f65f148d1bb1672d9d534ace73b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
pflash_cfi01: Drop unused 'bypass' field
For pflash_cfi01 the 'bypass' field is set to zero and never changes,
so remove it (it is a leftover from pflash_cfi02, where bypass is
implemented).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363717469-30980-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 2e19a7035a8e721f32610c8d22223ab748c4232f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
hw/arm_gic_common: Use vmstate struct rather than save/load functions
Update the GIC save/restore to use vmstate rather than hand-rolled
save/load functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1363975375-3166-4-git-send-email-peter.maydell@xxxxxxxxxx
commit c3037774be5329e584d4d709b9df7e1799bba215
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
arm_gic: Fix sizes of state fields in preparation for vmstate support
In preparation for switching to vmstate for migration support, fix
the sizes of various GIC state fields. In particular, we replace all
the bitfields (which VMState can't deal with) with straightforward
uint8_t values which we do bit operations on. (The bitfields made
more sense when NCPU was set differently in different situations,
but we now always model at the architectural limit of 8.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363975375-3166-3-git-send-email-peter.maydell@xxxxxxxxxx
commit bd7f92e59e7f40ddaeda40e55f7818c8121ecf1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
vmstate: Add support for two dimensional arrays
Add support for migrating two dimensional arrays, by defining
a set of new macros VMSTATE_*_2DARRAY paralleling the existing
VMSTATE_*_ARRAY macros. 2D arrays are handled the same for actual
state serialization; the only difference is that the type check
has to change for a 2D array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1363975375-3166-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b79269b78d0182fa7f4e23b779010145d0b4eaea
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
hw/onenand.c: fix migration of dynamically allocated buffer "otp"
VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state,
not
for buffers allocated dynamically. Change to
VMSTATE_BUFFER_POINTER_UNSAFE macro,
which will do migration right.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1362923278-4080-4-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5f00679ee98b1643ff652bbf982dffe1b432596e
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
hw/sd.c: fix migration of dynamically allocated buffer "buf"
VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state,
not
for buffers allocated dynamically. Change to
VMSTATE_BUFFER_POINTER_UNSAFE macro,
which will do migration right.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1362923278-4080-3-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8070568b9aa8d93b3729ab7e9ca0ef8a6351d2bd
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro
Macro could be used to migrate a dynamically allocated buffer of known
size.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1362923278-4080-2-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 28092a23e6e2cb8298c1381f4f046842ffd376eb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
hw/arm_mptimer: Save the timer state
Add a missing VMSTATE_TIMER() entry to the arm_mptimer vmstate
description; this omission meant that we would probably hang on reload
when the timer failed to fire.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363967348-3044-1-git-send-email-peter.maydell@xxxxxxxxxx
commit e8945b4f2a65fc2872cc31a5141e136fd27d0af8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
pl050: Don't send always-constant is_mouse field
The is_mouse field of the pl050 state structure is constant (it tracks
whether this is a 'pl050_keyboard' or 'pl050_mouse'), so there's
no need to include it in the VMState structure.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363628480-29306-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 591f73f642a5f3c822c3efaae8d83a174371a4f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
hw/arm/nseries: don't print to stdout or stderr
Remove various bits of printing to stdout or stderr from the
nseries code, replacing it with a qemu log message where there's
an appropriate log category, and just dropping the output for
some of the more debug-like printing.
In particular, this will get rid of the 'mipid_reset' message
you currently get from 'make check'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363368565-24546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 150a470b64c548b7539ea47526f345f15ebac355
Merge: d05ef16... 4bf0bb8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 08:55:14 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
chardev: drop the Memory chardev driver
hmp: human-monitor-command: stop using the Memory chardev driver
Monitor: Make output buffer dynamic
qstring: add qstring_get_length()
commit f1922e36e267eae0c9d70e8660830e081878bdfc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 4 11:04:12 2013 +1000
xilinx_zynq: Cleanup ssi_create_slave
With the recent m25p80 cleanup there is no need to use
ssi_create_slave_no_init() anymore. Just use ssi_create_slave().
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e641080fdc1e81290564e1e9ec4fe7637011fa82
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 4 11:04:11 2013 +1000
petalogix_ml605_mmu: Cleanup ssi_create_slave()
With the recent m25p80 cleanup there is no need to use
ssi_create_slave_no_init() anymore. Just use ssi_create_slave().
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b90a86629dcc075be294524696e6199266f72ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Mar 30 10:03:25 2013 -0700
target-s390: Fix SRNMT
Fallthough into abort = oops.
Cc: qemu-trivial@xxxxxxxxxx
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Apr 2 15:29:29 2013 -0400
chardev: drop the Memory chardev driver
It's not used anymore since the last commit.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 48c043d0d1835c64b571c484a9f229fe6d220287
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Apr 2 15:07:33 2013 -0400
hmp: human-monitor-command: stop using the Memory chardev driver
The Memory chardev driver was added because, as the Monitor's output
buffer was static, we needed a way to accumulate the output of an
HMP commmand when ran by human-monitor-command.
However, the Monitor's output buffer is now dynamic, so it's possible
for the human-monitor-command to use it instead of the Memory chardev
driver.
This commit does that change, but there are two important
observations about it:
1. We need a way to signal to the Monitor that it shouldn't call
chardev functions when flushing its output. This is done
by adding a new flag to the Monitor object called skip_flush
(which is set to true by qmp_human_monitor_command())
2. The current code has buffered semantics: QMP clients will
only see a command's output if it flushes its output with
a new-line character. This commit changes this to unbuffered,
which means that QMP clients will see a command's output
whenever the command prints anything.
I don't think this will matter in practice though, as I believe
all HMP commands print the new-line character anyway.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e1f2641b5926d20f63d36f0de45206be774da8da
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Mar 25 13:52:26 2013 -0400
Monitor: Make output buffer dynamic
Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush()
to retry on qemu_chr_fe_write() errors. However, the Monitor's output
buffer can keep growing while the retry is not issued and this can
cause the buffer to overflow.
To reproduce this issue, just start qemu and type on the Monitor:
(qemu) ?
This will cause an assertion to trig.
To fix this problem this commit makes the Monitor buffer dynamic,
which means that it can grow as much as needed.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 54d49ac99227aff646ac940abfab3417f5cb1693
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Mar 25 13:46:37 2013 -0400
qstring: add qstring_get_length()
Long overdue.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit abe20840166e6f04d3ab60f8d53a2ff5907bd942
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 28 14:33:24 2013 +0000
linux-user: Don't omit comma for strace of rt_sigaction()
Pass the 'last' parameter of print_signal() through to
print_raw_param(); this fixes a problem where we weren't printing
the comma separator for strace of rt_sigaction() when the signal
was an unnamed (ie realtime) one:
6856 rt_sigaction(230xf6fff870,0xf6fff8fc) = 0
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2bd01ac1e238c76e201ba21f314cec46437d2c5a
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 28 11:18:40 2013 -0400
test-visitor-serialization: Fix some memory leaks
This patch fixes some of the memory leaks in test-visitor-serialization
but not all of them.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d05ef160453e98546a4197496dc8a3cb2defac53
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Thu Apr 4 20:37:53 2013 -0400
Allow clock_gettime() monotonic clock to be utilized on more OS's
Allow the clock_gettime() code using monotonic clock to be utilized on
more POSIX compliannt OS's. This started as a fix for OpenBSD which was
listed in one function as part of the previous hard coded list of OS's
for the functions to support but not in the other.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 20130405003748.GH884@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c5a98cf333997616147a161ef4e4cf71bb9bd00a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:22 2013 +0100
pc_acpi_init(): don't bail as soon as failing to find default DSDT
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-11-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3a4a4697aacdd58b77f8bca6f2c0ce307b213506
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:21 2013 +0100
Introduce IO_APIC_DEFAULT_ADDRESS for 0xfec00000
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-10-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dab8623430926a8c55a149c22b2b8e2edb786ae3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:20 2013 +0100
extract/unify the constant 0xfee00000 as APIC_DEFAULT_ADDRESS
A common dependency of the constant's current users:
- hw/apic_common.c
- hw/i386/kvmvapic.c
- target-i386/cpu.c
is "target-i386/cpu.h".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-9-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 23084327dc5c2f42e8a1c3e39ec565e344c7f52e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:19 2013 +0100
like acpi_table_install(), acpi_table_add() should propagate Errors
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-8-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e980f2bf0a39cb524259bb70084e0f75b92c8f39
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:18 2013 +0100
acpi_table_add(): extract and reimplement internals
The new function acpi_table_install() installs any blob the caller passes
in. In the next patches this function will be promoted from helper role to
extern.
Reimplementing the logic should make it easier to understand. It also
removes a buffer overflow when
has_header &&
cumulative_file_size < ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE
(In that case the g_realloc() call in the read() loop used to shrink the
"acpi_tables" array, causing an out-of-bounds read access when copying the
header out of "acpi_tables".)
The new code isn't more daring alignment-wise than its predecessor:
"acpi_table_header" is packed, and the uint32_t fields are at offsets 6,
26, and 34.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-7-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c764a9dfc0d480c21f325480aa2e69581841858
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:17 2013 +0100
acpi_table_add(): accept QemuOpts and parse it with OptsVisitor
As one consequence, strtok() -- which modifies its argument -- is replaced
with g_strsplit().
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-6-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ccbad5c7b61c46c1b69b8089b8965cd69c0a8de
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:16 2013 +0100
qapi schema: add AcpiTableOptions
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-5-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 445d9cae371960671c1d762330d0d498c352dd3c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:15 2013 +0100
acpi_table_add(): report fatal errors through an internal Error object
The upcoming changes will need a cleanup section at the end of the
function, plus OptsVisitor reports errors via Error. For now keep
channeling any Errors to stderr.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-4-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb88a4ea79193cdbfb9b27bf9deb36c88ec9b6dc
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:14 2013 +0100
change element type from "char" to "unsigned char" in ACPI table data
The data is binary, not textual.
Also, acpi_table_add() abuses the "char *f" pointer -- which normally
points to file names to load -- to poke into the table. Introduce "char
unsigned *table_start" for that purpose.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-3-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4d8b3c6302fe50e9192854d8affda883e078fd4d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:13 2013 +0100
strip some whitespace
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-2-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9936159ff601562a7bb16b5b9c7713e6cec9559
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:41 2013 +0100
ipoctal232: Convert to use chardev properties directly
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Message-id: 1364412581-3672-4-git-send-email-hdegoede@xxxxxxxxxx
Cc: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 456d60692310e7ac25cf822cc1e98192ad636ece
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:40 2013 +0100
qemu-char: Call fe_claim / fe_release when not using qdev chr properties
chardev-frontends need to explictly check, increase and decrement the
avail_connections "property" of the chardev when they are not using a
qdev-chardev-property for the chardev.
This fixes things like:
qemu-kvm -chardev stdio,id=foo -device isa-serial,chardev=foo \
-mon chardev=foo
Working, where they should fail. Most of the changes here are due to
old hardware emulation code which is using serial_hds directly rather then
a qdev-chardev-property.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364412581-3672-3-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44c473decd4de5559487430f876de53c607b1e9d
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:39 2013 +0100
qemu-char: Add qemu_chr_fe_claim / _release helper functions
Add qemu_chr_fe_claim / _release helper functions for properly dealing
with
avail_connections.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364412581-3672-2-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4dbb9ed3263e0f48282a2fc3d05099ba63e5b0e2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 3 14:04:09 2013 +1000
xilinx_axienet: pump events as appropriate
When the conditions blocking receiving are cleared, check for buffered rx
packets.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bd4a47330ed5b9661205dd4ac2023e452b856bf9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 11:28:25 2013 +0200
po: Update German translation
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a23da65924fffc6390f74e75afd33f5300091b4e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 11:28:24 2013 +0200
po/Makefile: Fix dependency for %.mo
Otherwise make will refuse to build updated .po files.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ec3960148f95dd90e94511a6a64838bc3f474bcc
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Feb 22 22:57:52 2013 +0800
help: add docs for missing 'queues' option of tap
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1361545072-30426-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 560e63965232e37d1916a447125cf91c18a96930
Author: Bruce Rogers <brogers@xxxxxxxx>
Date: Tue Apr 2 12:41:40 2013 -0600
acpi: initialize s4_val used in s4 shutdown
While investigating why a 32 bit Windows 2003 guest wasn't able to
successfully perform a shutdown /h, it was discovered that commit
afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 inadvertently dropped the
initialization of the s4_val used to handle s4 shutdown.
Initialize the value as before.
Signed-off-by: Bruce Rogers <brogers@xxxxxxxx>
Message-id: 1364928100-487-1-git-send-email-brogers@xxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a509d632c877f7b5fa07368879b8ae5919a6d345
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Apr 2 17:48:12 2013 -0300
target-i386: Check for host features before filter_features_for_kvm()
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce",
as it has moved kvm_check_features_against_host() after the
filter_features_for_kvm() call. filter_features_for_kvm() removes all
features not supported by the host, so this effectively made
kvm_check_features_against_host() impossible to fail.
This patch changes the call so we check for host feature support before
filtering the feature bits.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Message-id: 1364935692-24004-1-git-send-email-ehabkost@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8243b0464b247ff460178a15f1fe306ef9c70b49
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Apr 2 22:14:51 2013 +0200
tpm: Fix several compiler warnings (redefined data types)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1364933691-21197-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eabb21aac9665097676b97fa3e053ae2982eba1e
Merge: 162cbbd... 044d4e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 3 15:05:52 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-04-03' into staging
# By Hanweidong (1) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-04-03:
xen-mapcache: pass the right size argument to test_bits
xen-mapcache: replace last_address_index with a last_entry pointer
commit 044d4e1aae539bd4214175bd9591b3de7986cf18
Author: Hanweidong <hanweidong@xxxxxxxxxx>
Date: Tue Apr 2 13:22:41 2013 +0000
xen-mapcache: pass the right size argument to test_bits
Compute the correct size for test_bits().
qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache()
with size is 0 if the requested address is in the RAM. Then
xen_map_cache() will pass the size 0 to test_bits() for checking if the
corresponding pfn was mapped in cache. But test_bits() will always
return 1 when size is 0 without any bit testing. Actually, for this
case, test_bits should check one bit. So this patch introduced a
__test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE,
then test_bits can work correctly with __test_bit_size
>> XC_PAGE_SHIFT as its size.
Signed-off-by: Zhenguo Wang <wangzhenguo@xxxxxxxxxx>
Signed-off-by: Weidong Han <hanweidong@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit e2deee3ea6136b6189e8cfd26379420b9a398d96
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Apr 2 13:23:40 2013 +0000
xen-mapcache: replace last_address_index with a last_entry pointer
Replace last_address_index and last_address_vaddr with a single pointer
to the last MapCacheEntry used.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit aa1c9e971e80d25b92908dce3dec7c38b49480ea
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 2 19:15:05 2013 +0200
usb-tablet: Don't claim wakeup capability for USB-2 version
Our ehci code does not implement wakeup support, so claiming support for
it with usb-tablet in USB-2 mode causes all tablet events to get lost.
http://bugzilla.redhat.com/show_bug.cgi?id=929068
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9618633a86cc74b33f178f05154d4edbc08c0fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 2 12:15:24 2013 +0200
usb: update docs for bus name change
At some point the default usb bus name changed from 'usb.0' to
'usb-bus.0' (probably as part of the qom conversion). Update
the usb documentation accordingly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a309ee6e0a256f690760abfba44fceaa52a7c2f3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 12:40:11 2013 +0100
usb-hub: report status changes only once
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c24e4aac3bd7dd6591e26b77985e5d3915ecbe4b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 11:40:02 2013 +0100
usb-hub: limit chain length
USB supports up to 5 hubs chained.
Catch attempts to chain more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4b7b2afae773f00c785724261079ef211fd6021b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:55:53 2013 +0100
xhci: zap unused name field
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0ab966cfcc7000baa2e7ef6df7771e73a2eb8a88
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 12:49:42 2013 +0100
xhci: remove unimplemented printfs
Replace them with a tracepoint, so they don't spam stderr by default.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 61803996def82a05d8634dd9087f1712d04863fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 11:42:51 2013 +0100
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c94a7c6979cafa7a71f32b35e0ff71ed00c61a89
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 09:18:20 2013 +0100
xhci: fix numintrs sanity checks
Make sure numintrs is a power of two, msi requires this.
https://bugzilla.redhat.com/show_bug.cgi?id=918035
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c874ea97b9d0d079e9d65ef033b95afef0ed6532
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 19 14:54:38 2013 +0100
usb-redir: Add flow control support
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3713e1485e6eace7d48b9c790602cfd92c616e5f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Mar 15 11:52:37 2013 +0100
usb-redir: Fix crash on migration with no client connected
If no client is connected on the src side, then we won't receive a
parser during migrate, in this case usbredir_post_load() should be a nop,
rather then to try to derefefence the NULL dev->parser pointer.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d
Merge: 9d4563c... 9b938c7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 2 14:07:35 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Stefan Hajnoczi
# Via Luiz Capitulino
* luiz/queue/qmp:
chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
qemu-socket: set passed fd non-blocking in socket_connect()
net: ensure "socket" backend uses non-blocking fds
oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
commit 9d4563c415683e4d06c84a46e8d178a680fdcb7b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 17:57:56 2013 +0200
configure: remove unset variables
These variables have not been set for a long time. Do not
include them in config-host.mak.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364918276-11866-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b938c7262e403f5467110609cb20ef1ae6e9df2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:46 2013 +0100
chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
When we receive a file descriptor over a UNIX domain socket the
O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on
QEMU file descriptor users like migration, SPICE, VNC, block layer, and
others to set non-blocking only when necessary.
This change ensures we don't accidentally expose O_NONBLOCK in the QMP
API. QMP clients should not need to get the non-blocking state
"correct".
A recent real-world example was when libvirt passed a non-blocking TCP
socket for migration where we expected a blocking socket. The source
QEMU produced a corrupted migration stream since its code did not cope
with non-blocking sockets.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1a751ebfbb2d7a696b889d8208cb5ffc83c090b1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:45 2013 +0100
qemu-socket: set passed fd non-blocking in socket_connect()
socket_connect() sets non-blocking on TCP or UNIX domain sockets if a
callback function is passed. Do the same for file descriptor passing,
otherwise we could unexpectedly be using a blocking file descriptor.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fc13fa00eaff6797c67abc9b0f748b346f238986
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:44 2013 +0100
net: ensure "socket" backend uses non-blocking fds
There are several code paths in net_init_socket() depending on how the
socket is created: file descriptor passing, UDP multicast, TCP, or UDP.
Some of these support both listen and connect.
Not all code paths set the socket to non-blocking. This patch addresses
the file descriptor passing and UDP cases which were missing
socket_set_nonblock(fd) calls.
I considered moving socket_set_nonblock(fd) to a central location but it
turns out the code paths are different enough to require non-blocking at
different places.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f9e8cacc5557e4372401da74141f833fcacda038
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:43 2013 +0100
oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets.
Rename to qemu_set_nonblock() just like qemu_set_cloexec().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ce7f7cc2715145eadf1ac45a5dae63f535fc8bbf
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Mar 22 16:31:07 2013 -0400
qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows
Today we reset fd_counter if it wraps, but it's better to abort()
instead, as fd_counter should never reach INT64_MAX.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fixed typo: s/resonable/reasonable/
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9481ecd737b91d507baf347287c62efe6760784f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 15 19:07:51 2013 +0100
qga schema: document generic QERR_UNSUPPORTED
Part of the wording was shamelessly stolen from Michael Roth's email.
Suggested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c964c9e0985e71527bac47c8351008c3dc18c1b8
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 15 19:07:50 2013 +0100
qga schema: mark optional GuestLogicalProcessor.can-offline with #optional
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b8f954fea019801370954fe85c32df49edf6397d
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 15 17:29:05 2013 +0800
qga: add windows implementation for guest-set-time
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3f2a6087de291dc96a2c4975139da27649cf32ff
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 15 17:29:04 2013 +0800
qga: add windows implementation for guest-get-time
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c707582b78d01d81fe4e470fd812334be145882d
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 26 10:24:06 2013 +0800
VMXNET3: initialize rx_ridx to eliminate compile warning
Gcc report "hw/vmxnet3.c:972: error: â??rx_ridxâ?? may be used
uninitialized in this function", so fix it.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Message-id: 1364264646-27542-1-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1ee58290d7cc2c6b1231fd701987c1753ad9ae3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Mar 27 11:36:14 2013 -0500
qdev: only send deleted event if device was realized
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364402174-16580-1-git-send-email-aliguori@xxxxxxxxxx
commit 8f0605cc9caacbcc647a6df9ae541ed2da4b9bb0
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 28 07:26:21 2013 -0400
QOM-ify the TPM support
QOM-ified the TPM support with much code borrowed from the rng
implementation.
All other TPM related code moves will be provided in a subsequent patch.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Message-id: 1364469981.24703.1.camel@d941e-10
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 684a096eafbe37ab6c9a1fdb5e0185f04098b166
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 29 11:39:50 2013 -0500
qemu-char: rewrite io_channel_send_all and drop the '_all' suffix
The current code is oddly written and have equally odd semantics.
Despite the '_all' suffix, upon EAGAIN the result will be a partial
write but instead of returning the partial write, we return EAGAIN.
Change the behavior to write as much as we can until we get an EAGAIN
returning a partial write if we do.
Reported-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364575190-731-1-git-send-email-aliguori@xxxxxxxxxx
commit d819cdccffe08f6e12b4c2dec8f4aa381f0cd687
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Mar 30 15:21:40 2013 +0100
ui/gtk: Set QEMU window icon
The QEMU icon which is already used for SDL
is now also loaded by GTK.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1364653300-26813-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77cfd14c9f5742136e7968aee5c305e50b8891ac
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:06 2013 +0200
po: add French translation
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-6-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b6926e4e3cc102fb434fd16917a1044119eadd3
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:05 2013 +0200
po: update existing translation files
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-5-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1b33b354b43c8a3cc176bd4d7a021a1eac423ebc
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:04 2013 +0200
po/Makefile: correctly pass QEMU version
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-4-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f84756554e32d97db3aa949db1dd58c7eea62375
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:03 2013 +0200
po/Makefile: simplify
In the hope we get more translations, we should not have to modify
po/Makefile for each of them.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-3-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8da9ee847799b8d7de4679d4de17d66d4dedb56
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:02 2013 +0200
gtk: make more messages translatable
Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-2-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4690579e9bafa0a2a49d7b12dae905279a552cd6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Mar 20 18:16:34 2013 +0800
append the terminating '\0' to bootorder string
Problem was introduced in commit c8a6ae8b. The last terminating
'\0' was lost, use the right length 5 ("HALT\0").
Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1363774594-21001-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a130c6b2b1b9c45836a51e90c847baedcb3125d3
Merge: 5d45de9... 6dcfdba...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 2 08:12:16 2013 -0500
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20130401.0'
into staging
vfio-pci pull request 20130401
# gpg: Signature made Mon 01 Apr 2013 02:40:45 PM CDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20130401.0:
vfio: cleanup includes
vfio: Add bootindex support
vfio-pci: Move devices to D0 on reset
vfio-pci: Add extra debugging
qemu vfio-pci: Graphics device quirks
qemu vfio-pci: Add support for VGA MMIO and I/O port access
vfio-pci: Add PCIe capability mangling based on bus type
vfio-pci: Generalize PCI config mangling
linux-headers: Update to v3.9-rc2
commit 5d45de9796539f95eb6b1201588362981f8cb2d4
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Mar 28 22:59:03 2013 +0100
microblaze: Add support for the sleep insn
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 6dcfdbad69aa510bc87b4a2585a597e028ca4eaa
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:40 2013 -0600
vfio: cleanup includes
Starting to get messy, put the back in alphabetical order.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c29029dd8829827ef8af3a6fb18f9df929ffc6b7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:24 2013 -0600
vfio: Add bootindex support
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit ba66181828a5e5b0bbc117c4e999ca559a87456e
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:08 2013 -0600
vfio-pci: Move devices to D0 on reset
Guests may leave devices in a low power state at reboot, but we expect
devices to be woken up for the next boot. Make this happen.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 82ca891283a08cddd659b534592fe00f2159bc74
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:34:56 2013 -0600
vfio-pci: Add extra debugging
Often when debugging it's useful to be able to disable bypass paths
so no interactions with the device are missed. Add some extra debug
options to do this. Also add device info on read/write BAR accesses,
which is useful when debugging more than one assigned device. A
couple DPRINTFs also had redundant "vfio:" prefixes.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7076eabcbf38d514ecd47c8190d3d162573ceacc
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:34:40 2013 -0600
qemu vfio-pci: Graphics device quirks
Graphics cards have a number of different backdoors. Some of these
are alternative ways to get PCI BAR addresses, some of them are
complete mirrors of PCI config space available through MMIO and
I/O port access. These quirks cover a number of ATI Radeon and
Nvidia devices. On the ATI/AMD side, this should enable HD5450
and HD7850 and hopefully a host of devices around those generations.
For Nvidia, my card selection is much more dated. A 8400gs works
well with both the Window shipped driver and the Nvidia downloaded
driver. A 7300le works as well, with the caveat that generating
the Window experience index with the Nvidia driver causes the card
to reset several times before generating a BSOD. An NVS 290 card
seems to run well with the shipped Windows driver, but generates
a BSOD with the Nvidia driver. All of the Nvidia devices work with
the Linux Nvidia proprietary driver and nouveau, the HD5450 works
with either radeon or fglrx, HD7850 works with vesa and fglrx (not
supported by radeon). Extremely limited 3D testing.
Device reset is also an issue with graphics. It's unfortunately
very common that the devices offer no means to reset the card or
doesn't seem effective. Nvidia devices are pretty good about being
able to get the device to a working state through the VGA BIOS init,
Radeon devices less so, and often require a host reboot. Work
remains to be done here.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit f15689c7e4422d5453ae45628df5b83a53e518ed
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:33:44 2013 -0600
qemu vfio-pci: Add support for VGA MMIO and I/O port access
Most VGA cards need some kind of quirk to fully operate since they
hide backdoors to get to other registers outside of PCI config space
within the registers, but this provides the base infrastructure. If
we could identity map PCI resources for assigned devices we would need
a lot fewer quirks.
To enable this, use a kernel side vfio-pci driver that incorporates
VGA support (v3.9), and use the -vga none option and add the x-vga=on
option for the vfio-pci device. The "x-" denotes this as an
experimental feature. You may also need to use a cached copy of the
VGA BIOS for your device, passing it to vfio-pci using the romfile=
option.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 96adc5c7c2178d02f0db2db368ba3e4aacef931a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
vfio-pci: Add PCIe capability mangling based on bus type
Windows seems to pay particular interest to the PCIe header type of
devices and will fail to load drivers if we attach Endpoint devices or
Legacy Endpoint devices to the Root Complex. We can use
pci_bus_is_express and pci_bus_is_root to determine the bus type and
mangle the type appropriately:
* Legacy PCI
* No change, capability is unmodified for compatibility.
* PCI Express
* Integrated Root Complex Endpoint -> Endpoint
* PCI Express Root Complex
* Endpoint -> Integrated Root Complex Endpoint
* Legacy Endpoint -> none, capability hidden
We also take this opportunity to explicitly limit supported devices
to Endpoints, Legacy Endpoints, and Root Complex Integrated Endpoints.
We don't currently have support for other types and users often cause
themselves problems by assigning them.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 4b5d5e87c7ab2e979a2cad6c8e01bcae55b85f1c
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
vfio-pci: Generalize PCI config mangling
Kernel-side vfio virtualizes all of config space, but some parts are
unique to Qemu. For instance we may or may not expose the ROM BAR,
Qemu manages MSI/MSIX, and Qemu manages the multi-function bit so that
single function devices can appear as multi-function and vica versa.
Generalize this into a bitmap of Qemu emulated bits.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 010ca0b3fb9bebd6ad53c1db0266dd7b39f700c7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
linux-headers: Update to v3.9-rc2
Unedited scripts/update-linux-headers.sh run against v3.9-rc2 tag
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 174d4d215fb49b4d43196e62f22c2533431b260e
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 24 01:52:07 2013 +0100
tcg/mips: Implement muls2_i32
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c334a3880c02d1d8299ed54057e3fffd99ad2048
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: use clz32/ctz32 instead of reinventing the wheel
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 83f7dc28ca7cb422f88caf3923bf078abb4e4dea
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: enable SSE4.1 and SSE4.2 in TCG mode
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e4eba27e29114842978234a44c92b2a945a6b46d
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions with "Masked(-)" polarity
valids can equals to -1 if the reg/mem string is empty. Change the
expression to have an empty xor mask in that case.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 75c9527e190231fbc2fd8470e132f360e70206be
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal ordered" mode
The inner loop should only change the current bit of the result, instead
of the whole result.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b27a6cacb73ca006c6995ca5c3db7347333ba7f4
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal each" mode
pcmpXstrX instructions in "Equal each" mode force both invalid element
pair to true. It means (upper - MAX(valids, validd)) bits should be set
to 1, not (upper - MAX(valids, validd) + 1).
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 649ad05ed4133d3a48d43881aa9351c024d9cdc1
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Ranges" mode
Fix the order of the of the comparisons to match the "Intel 64 and
IA-32 Architectures Software Developer's Manual".
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2b8d7e9d728fe2b7c8ffb9859368fb2b5c0bf833
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrm instructions
pcmpXstrm instructions returns their result in the XMM0 register and
not in the first operand.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 93e3c0ae69ae73d7f04ac378c5df6e98c7faa6dd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstri instructions
ffs1 returns the first bit set to one starting counting from the most
significant bit.
pcmpXstri returns the most significant bit set to one, starting counting
from the least significant bit.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit da5156cd9a62274839d6fa685cc52614886cc722
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpgtq instruction
The "Intel 64 and IA-32 Architectures Software Developer's Manual" (at
least recent versions) clearly says that the comparison is signed.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 34c6addd4b22583e7b408c0d1452eab753cbfb62
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.1: fix pinsrb instruction
gen_op_mov_TN_reg() loads the value in cpu_T[0], so this temporary should
be used instead of cpu_tmp0.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c7b4c36714a442ae5abd26de293cb5e967be6e12
Merge: e63d28d7... b0d62a3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 1 10:36:09 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Dunrong Huang (1) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
hw/tcx: Remove unused 'addr' field and the property that sets it
hw/i386/pc: format load_linux function
configure: show debug-info option in --help output
commit e63d28d7dbfcec81214aecc9ff0aaee46e87aa44
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:23 2013 +0000
sysbus: Remove sysbus_add_memory and sysbus_del_memory
Remove the sysbus_add_memory and sysbus_del_memory functions. These
are trivial wrappers for mapping a memory region into the system
memory space, and have no users now. Sysbus devices should never map
their own memory regions anyway; the correct API for mapping an mmio
region is for the creator of the device to use sysbus_mmio_map.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363358063-23973-6-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c31bc98e3bcf52fe1cd4b9b7a70869330eae80ea
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 28 18:43:04 2013 +0000
hw/milkymist-softusb: set buffer in softusb_read_{dmem, pmem} error path
Make sure we set the buffer to something in the softusb_read_{dmem,pmem}
error paths, since the caller will use the buffer unconditionally.
(Newer gcc is smart enough to spot this and complain about 'may be
used uninitialized'.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1364496184-11994-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c34e120554c31d45bdfbac08a5c1d9ef92a62020
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:22 2013 +0000
milkymist-softusb: Don't map RAM memory regions in the device itself
Don't map the pmem and dmem RAM memory regions in the milkymist-softusb
device itself. Instead just expose them as sysbus mmio regions which
the device creator can map appropriately. This allows us to drop the
pmem_base and dmem_base properties. Instead of going via
cpu_physical_memory_read/_write when the device wants to access the
RAMs, we just keep a host pointer to the memory and use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1363358063-23973-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 20cf850c6ac5bf1ef13de1da93a5c8b5ea28b304
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:21 2013 +0000
milkymist-minimac2: Just expose buffers as a sysbus mmio region
Just expose the register buffers memory as a standard sysbus mmio
region which the creator of the device can map, rather than
providing a qdev property which the creator has to set to the
base address and then doing the mapping in the device's own
init function.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1363358063-23973-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a86f200aeb66a4f402b22241a5d8360f02bfc090
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:20 2013 +0000
musicpal: qdevify musicpal-misc
Make musicpal-misc into its own (trivial) qdev device, so we
can get rid of the abuse of sysbus_add_memory().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363358063-23973-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:19 2013 +0000
sysbus: make SysBusDeviceClass::init optional
Make the SysBusDeviceClass::init optional, for devices which
genuinely don't need to do anything here. In particular, simple
devices which can do all their initialization in their
instance_init method don't need either a DeviceClass::realize
or SysBusDeviceClass::init method.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363358063-23973-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5357406415571b3f03d05b60a143afdea2b9b1b9
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Sun Mar 31 09:35:53 2013 +0800
target-moxie: set do_interrupt to a target-specific helper function
The value of "do_interrupt" member of CPUClass shoule be set to a
target-specific function, or it will lead to a segfault like below:
$ moxie-softmmu/qemu-system-moxie -M moxiesim
Segmentation fault
Cc: Anthony Green <green@xxxxxxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-of-by: Anthony Green <green@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5e3a0f418c4d57399778cee0b55aebfb663b6425
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 29 18:20:20 2013 +0100
w32: Fix build with older gcc (unresolved symbol)
The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support
__sync_val_compare_and_swap by default.
Using -march=i686 fixes that and should also result in better code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e06335b9515f0508f33846e58b2028dfa4fc9983
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 24 09:04:48 2013 +0100
target-moxie: Fix pointer-to-integer conversion (MinGW-w64)
The type cast must use tcg_target_long instead of long.
This makes a difference for hosts where sizeof(long) != sizeof(void *).
Cc: Anthony Green <green@xxxxxxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9721215126a8ef46abd2e762efd6aa5ff6b92b9
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:39 2013 +0000
piix_pci: Fix C99 comments
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-4-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d93a8a435cbd7f874ef71d4da5677c5f88d8435a
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:38 2013 +0000
piix_pci: Use DEVICE() and ISA_BUS()
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-3-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57a0f0c651a63d3e1e02d74e5c59d2648037b087
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:37 2013 +0000
piix_pci: Clean up i440FX object handling
Define and use I440FX_PCI_DEVICE() instead of using DO_UPCAST().
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-2-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 226ecabfbd410c7b2041385ea4b6f083a09ce8a2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 22 17:57:48 2013 +0100
qemu-bridge-helper: force usage of a very high MAC address for the bridge
Linux uses the lowest enslaved MAC address as the MAC address of
the bridge. Set MAC address to a high value so that it does not
affect the MAC address of the bridge.
Changing the MAC address of the bridge could cause a few seconds
of network downtime.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1363971468-21154-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2900af5969c8d54d48872cd707a4a0e71e6fa57e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:15 2013 +0100
virtio-balloon: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c96caced3ffd9e5a078f3f5b5d373a40faf7dc3a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:14 2013 +0100
virtio-balloon: cleanup: QOM casts.
As the virtio-balloon-pci is switched to the new API, we can use QOM
casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:13 2013 +0100
virtio-balloon: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30bff6a0f1d12742475a980708cfa82be56a881f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:12 2013 +0100
virtio-balloon-ccw: switch to the new API.
Here the virtio-balloon-ccw is modified for the new API. The device
virtio-balloon-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-balloon during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e378e88dfc2dec2a60a856dd478a4edfbc88efd0
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:11 2013 +0100
virtio-balloon-pci: switch to the new API.
Here the virtio-balloon-pci is modified for the new API. The device
virtio-balloon-pci extends virtio-pci. It creates and connects a
virtio-balloon during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ab461b534b34838d1b21c056ab37413f54fefa6
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:10 2013 +0100
virtio-balloon: add the virtio-balloon device.
Create virtio-balloon which extends virtio-device, so it can be connected
on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fde245ca7ea790495db370cd260259595dbdf874
Merge: 837df37... 5d186eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 28 12:57:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Peter Lieven (1)
# Via Stefan Hajnoczi
* stefanha/block: (23 commits)
block: Fix direct use of protocols as driver for bdrv_open()
qcow2: Gather clusters in a looping loop
qcow2: Move cluster gathering to a non-looping loop
qcow2: Allow requests with multiple l2metas
qcow2: Use byte granularity in qcow2_alloc_cluster_offset()
qcow2: Prepare handle_alloc/copied() for byte granularity
qcow2: handle_copied(): Implement non-zero host_offset
qcow2: handle_copied(): Get rid of keep_clusters parameter
qcow2: handle_copied(): Get rid of nb_clusters parameter
qcow2: Factor out handle_copied()
qcow2: Clean up handle_alloc()
qcow2: Finalise interface of handle_alloc()
qcow2: handle_alloc(): Get rid of keep_clusters parameter
qcow2: handle_alloc(): Get rid of nb_clusters parameter
qcow2: Factor out handle_alloc()
qcow2: Decouple cluster allocation from cluster reuse code
qcow2: Change handle_dependency to byte granularity
qcow2: Improve check for overlapping allocations
qcow2: Handle dependencies earlier
qcow2: Remove bogus unlock of s->lock
...
commit 837df37e881e14ffdb05c2b912b2ad30b851c9d3
Merge: e280ff5... 7e86600...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 28 12:57:32 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By LluÃs Vilanova (7) and others
# Via Stefan Hajnoczi
* stefanha/tracing:
vl: add runstate_set tracepoint
.gitignore: rename trace/generated-tracers.dtrace
.gitignore: add trace/generated-events.[ch]
trace: rebuild generated-events.o when configuration changes
trace: [stderr] Port to generic event information and new control
interface
trace: [simple] Port to generic event information and new control
interface
trace: [default] Port to generic event information and new control
interface
trace: [monitor] Use new event control interface
trace: Provide a detailed event control interface
trace: Provide a generic tracing event descriptor
trace: [tracetool] Explicitly identify public backends
commit 7e8660032cd21c1bdc4160b8fab7deec62e1aa12
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 22 17:26:59 2013 +0900
vl: add runstate_set tracepoint
This patch enables us to know RunState transition. It will be userful
for investigation when the trouble occured in special event such like
live migration, shutdown, suspend, and so on.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a46b24fd5dfd6814bafa65e51d8da86ce8eef7f5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 16:10:12 2013 +0100
.gitignore: rename trace/generated-tracers.dtrace
For a while the file was called trace/generated-tracers-dtrace.dtrace
but today it's called trace/generated-tracers.dtrace.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 878e63e6c568d4eb147d1adde297325f3aa28c51
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 16:10:11 2013 +0100
.gitignore: add trace/generated-events.[ch]
Don't display autogenerated files in git-status(1).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a7373b1f61d106ef5c9710eb56e942f513dc512d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 15:52:15 2013 +0100
trace: rebuild generated-events.o when configuration changes
Make sure to rebuild generated-events.o when ./configure options change.
This prevents linker errors when a stale generated-events.o gets linked
with code compiled against fresh headers. For example, try building
with ./configure --enable-trace-backend=stderr followed by ./configure
--enable-trace-backend=dtrace.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c6f18b9195b4251f32b6ac8e149b449354c1c93b
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:48:00 2013 +0100
trace: [stderr] Port to generic event information and new control
interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 60481e210d1f5f9e97d4d5db82b9afb8d3df7acf
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:55 2013 +0100
trace: [simple] Port to generic event information and new control
interface
The backend is forced to dump event numbers using 64 bits, as
TraceEventID is
an enum.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd068a953ccb54a00e7b1cf2d8961498c7d74bd4
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:49 2013 +0100
trace: [default] Port to generic event information and new control
interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ca285c3fca7c3d2b77b133e82f7a3592ccc7f5d3
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:43 2013 +0100
trace: [monitor] Use new event control interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b1bae816c4c0743e37ee9e797a503610c34e3073
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:38 2013 +0100
trace: Provide a detailed event control interface
This interface decouples event obtaining from interaction.
Events can be obtained through three different methods:
* identifier
* name
* simple wildcard pattern
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 45be2f5d0dcdd314cd0c70a11220e5e09a44d654
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:32 2013 +0100
trace: Provide a generic tracing event descriptor
Uses tracetool to generate a backend-independent tracing event description
(struct TraceEvent).
The values for such structure are generated with the non-public "events"
backend ("events-c" frontend).
The generation of the defines to check if an event is statically enabled
is also
moved to the "events" backend ("events-h" frontend).
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 93fba1618ddbbef8bedd8d684cf356586c94bbb1
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:26 2013 +0100
trace: [tracetool] Explicitly identify public backends
Public backends are those printed by "--list-backends" and thus
considered valid
by the configure script.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d186eb03eb37b257e29a4731ca484362d5fc4e4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 27 17:28:18 2013 +0100
block: Fix direct use of protocols as driver for bdrv_open()
bdrv_open_common() implements direct use of protocols by copying the
pre-opened BlockDriverStates to bs using bdrv_swap(). It did however
first set some fields in bs, which end up in file after the swap. When
bdrv_open() destroys file, it appears to be open, and because it isn't,
qemu could segfault while trying to close it.
Reorder the operations to return immediately in such cases so that file
is correctly detected as closed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ecdd5333ab9ed3f2b848066aaaef02c027b25e36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 27 11:43:49 2013 +0100
qcow2: Gather clusters in a looping loop
Instead of just checking once in exactly this order if there are
dependendies, non-COW clusters and new allocation, this starts looping
around these. This way we can, for example, gather non-COW clusters after
new allocations as long as the host cluster offsets stay contiguous.
Once handle_dependencies() is extended so that COW areas of in-flight
allocations can be overwritten, this allows to continue with gathering
other clusters (we wouldn't be able to do that without this change
because we would have missed a possible second dependency in one of the
next clusters).
This means that in the typical sequential write case, we can combine the
COW overwrite of one cluster with the allocation of the next cluster as
soon as something like Delayed COW gets actually implemented. It is only
by avoiding splitting requests this way that Delayed COW actually starts
improving performance noticably.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c3b32d25620c26e26fd590c198ec6d9cf91da57
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:12 2013 +0100
qcow2: Move cluster gathering to a non-looping loop
This patch is mainly to separate the indentation change from the
semantic changes. All that really changes here is that everything moves
into a while loop, all 'goto done' become 'break' and at the end of the
loop a new 'break is inserted.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88c6588c5165da1526f735ed850861c5b74670bd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:11 2013 +0100
qcow2: Allow requests with multiple l2metas
Instead of expecting a single l2meta, have a list of them. This allows
to still have a single I/O request for the guest data, even though
multiple l2meta may be needed in order to describe both a COW overwrite
and a new cluster allocation (typical sequential write case).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 710c2496d8cecc92568d439a3cf9d5874b3a55e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:10 2013 +0100
qcow2: Use byte granularity in qcow2_alloc_cluster_offset()
This gets rid of the nb_clusters and keep_clusters and the associated
complicated calculations. Just advance the number of bytes that have
been processed and everything is fine.
This patch advances the variables even after the last operation even
though they aren't used any more afterwards to make things look more
uniform. A later patch will turn the whole thing into a loop and then
it actually starts making sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 411d62b04b4cd2d3a6cea310689dbafa2479bc28
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:09 2013 +0100
qcow2: Prepare handle_alloc/copied() for byte granularity
This makes handle_alloc() and handle_copied() return byte-granularity
host offsets instead of returning always the cluster start. This is
required so that qcow2_alloc_cluster_offset() can stop aligning
everything to cluster boundaries.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e62daaf67958e8274547ddac87cb0a177a869216
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:08 2013 +0100
qcow2: handle_copied(): Implement non-zero host_offset
Look only for clusters that start at a given physical offset.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c53ede9f6d8f0de7939eea676c1398c4073ff35e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:07 2013 +0100
qcow2: handle_copied(): Get rid of keep_clusters parameter
Now *bytes is used to return the length of the area that can be written
to without performing an allocation or COW.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit acb0467f8df7e9dbc8bbcb9a2e1e8cfe17f79691
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:06 2013 +0100
qcow2: handle_copied(): Get rid of nb_clusters parameter
handle_copied() uses its bytes parameter now to determine how many
clusters it should try to find.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0af729ec007ea4d103a2e3f3fc5db522610a2290
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:05 2013 +0100
qcow2: Factor out handle_copied()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 83baa9a4719b42bc28d525fa28af643523cc2bf3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:04 2013 +0100
qcow2: Clean up handle_alloc()
Things can be simplified a bit now. No semantic changes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c37f4cd71d99b7658d238bd8399048fc6e506958
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:03 2013 +0100
qcow2: Finalise interface of handle_alloc()
The interface works completely on a byte granularity now and duplicated
parameters are removed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3b8e2e260c8cee63c9253718983a6682dc2771d7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:02 2013 +0100
qcow2: handle_alloc(): Get rid of keep_clusters parameter
handle_alloc() is now called with the offset at which the actual new
allocation starts instead of the offset at which the whole write request
starts, part of which may already be processed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f5bc63509471299176066d5f63bb8ff2e15af279
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:01 2013 +0100
qcow2: handle_alloc(): Get rid of nb_clusters parameter
We already communicate the same information in *bytes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 10f0ed8b2f0d3e9f0476b6f00868dd13b524066a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:00 2013 +0100
qcow2: Factor out handle_alloc()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 037689d8969c493d39153fd920ad81e161b0d55c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:59 2013 +0100
qcow2: Decouple cluster allocation from cluster reuse code
This moves some code that prepares the allocation of new clusters to
where the actual allocation happens. This is the minimum required to be
able to move it to a separate function in the next patch.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 65eb2e35c07632eb5d26f15a57461e321bacb883
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:58 2013 +0100
qcow2: Change handle_dependency to byte granularity
This is a more precise description of what really constitutes a
dependency. The behaviour doesn't change at this point because the COW
area of the old request is still aligned to cluster boundaries and
therefore an overlap is detected wheneven the requests touch any part of
the same cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d9d74f4177af59bec23baa480d640709f56df0aa
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:57 2013 +0100
qcow2: Improve check for overlapping allocations
The old code detected an overlapping allocation even when the
allocations didn't actually overlap, but were only adjacent.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 17a71e58238138c3f02be7e9f5dc8de5d72a9a9d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:56 2013 +0100
qcow2: Handle dependencies earlier
Handling overlapping allocations isn't just a detail of cluster
allocation. It is rather one of three ways to get the host cluster
offset for a write request:
1. If a request overlaps an in-flight allocations, the cluster offset
can be taken from there (this is what handle_dependencies will evolve
into) or the request must just wait until the allocation has
completed. Accessing the L2 is not valid in this case, it has
outdated information.
2. Outside overlapping areas, check the clusters that can be written to
as they are, with no COW involved.
3. If a COW is required, allocate new clusters
Changing the code to reflect this doesn't change the behaviour because
overlaps cannot exist for clusters that are kept in step 2. It does
however make it easier for later patches to work on clusters that belong
to an allocation that is still in flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ee6439e27d15c528fde6d9da1e4c238a23b6b7a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:55 2013 +0100
qcow2: Remove bogus unlock of s->lock
The unlock wakes up the next coroutine, but the currently running
coroutine will lock it again before it yields, so this doesn't make a
lot of sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c349ca4bb2dbca53c15147d283ea9f6c94376c6c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:54 2013 +0100
qcow2: Fix "total clusters" number in bdrv_check
This should be based on the virtual disk size, not on the size of the
image.
Interesting observation: With some VM state stored in the image file,
percentages higher than 100% are possible, even though snapshots
themselves are ignored. This is a qcow2 bug to be fixed another day: The
VM state should be discarded in the active L2 tables after completing
the snapshot creation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f74928192e8e8a16f64b6208171eb13af890bbc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:53 2013 +0100
qemu-iotests: More concurrent allocation scenarios
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 142c6b1a89c3af769fbab6a22f51eefa7a3b0330
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Mar 21 13:07:10 2013 +0100
vl.c: call bdrv_init_with_whitelist() before cmdline parsing
commit 4d454574 "qemu-option: move standard option definitions
out of qemu-config.c" broke support for commandline option
groups that where registered during bdrv_init(). In particular
support for -iscsi options was broken since that commit.
Fix by moving the bdrv_init_with_whitelist() before command
line argument parsing.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b0d62a3d8e1ea9eccd246829a03e2d23f0982431
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 26 12:35:09 2013 +0000
hw/tcx: Remove unused 'addr' field and the property that sets it
Remove the 'addr' field from TCXState (since it is completely unused),
also the qdev property which sets it. This seems to be a relic from
many years past; devices don't need to know where they are mapped.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0f9d76e5a9a396a2209761265ba6d98ce89b6a32
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Mar 26 16:43:19 2013 +0800
hw/i386/pc: format load_linux function
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9941afdef4fc898ed1588468095d1e36574427a1
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Sun Mar 24 15:05:27 2013 +0800
configure: show debug-info option in --help output
"--enable-debug-info" and "--disable-debug-info" were not shown
in --help output.
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e280ff5e9159ed227a117339c1157143627cab96
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:03 2013 +0100
spice-qemu-char: Drop hackish vmc_register on spice_chr_write
Now that the core takes care of fe_open tracking we no longer need this
hack.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-12-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc6b815d9e34778aa7fbe785ecfa0b216c96f576
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 26 11:08:02 2013 +0100
virtio-serial: propagate guest_connected to the port on post_load
When migrating a host with with a spice agent running the mouse becomes
non operational after the migration due to the agent state being
inconsistent between the guest and the client.
After migration the spicevmc backend on the destination has never been
notified
of the (non 0) guest_connected state. Virtio-serial holds this state
information and migrates it, this patch properly propagates this
information
to virtio-console and through that to interested chardev backends.
rhbz #725965
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-11-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b2c1394af13b46a72cd27ff580cdd1d9bb1e8934
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:01 2013 +0100
virtio-serial: Consolidate guest_open/guest_close into set_guest_connected
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-10-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a59bcd31c91397f8c67b6902e7716d626c5070e6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:00 2013 +0100
qemu-char: add_handlers: Don't re-send the be_open event on unregister
Resending the be_open event only is useful when a frontend is
registering, not
when it is unregistering.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-9-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85d91e3295f3af21e4d4a19f1f6691c0bf2ed10c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:59 2013 +0100
qemu-char: Move incrementing of avail_connections to
qdev-properties-system
The decrement of avail_connections is done in qdev-properties-system move
the increment there too for proper balancing of the calls.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-8-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 574b711a92db094a2d4e7ca707f3b34437a64246
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:58 2013 +0100
qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-7-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e25daa87ac98c9070365b42dcfc070e47fca934
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:57 2013 +0100
qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-6-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 190832289fe670f764fb277e4dcaf00f94ca6553
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:56 2013 +0100
qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers
Most frontends can't really determine if the guest actually has the
frontend
side open. So lets automatically generate fe_open / fe_close as soon as a
frontend becomes ready (as signalled by calling qemu_chr_add_handlers) /
becomes non ready (as signalled by setting all handlers to NULL).
And allow frontends which can actually determine if the guest is
listening to
opt-out of this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-5-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c0c4bd2cfae0fb83696000f1bfc355f22e2b41cb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:55 2013 +0100
qemu-char: Add fe_open tracking
Add tracking of the fe_open state to struct CharDriverState.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-4-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fee204fd46016c168ca4d404d04e2c06b8b34770
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:54 2013 +0100
qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open
To better reflect that it is for handling a backend being opened.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-3-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16665b943b23e953220df257e7e04e669aa384d5
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:53 2013 +0100
qemu-char: Rename opened to be_open
Rename the opened variable to be_open to reflect that it contains the
opened state of the backend.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-2-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 99835e00849369bab726a4dc4ceed1f6f9ed967c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 14:34:32 2013 +0100
compiler: fix warning with GCC 4.8.0
GCC 4.8.0 introduces a new warning:
block/qcow2-snapshot.c: In function 'qcow2_write_snapshotsâ??:
block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253'
locally defined but not used [-Werror=unused-local-typedefs]
QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) !=
^
cc1: all warnings being treated as errors
(Caret diagnostics aren't perfect yet with macros... :)) Work around it
with __attribute__((unused)).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364391272-1128-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 404e7a4f4af753bd2aef649adf79e7434fb6dc31
Merge: 18501ae... 6214e73...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 16:16:43 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,pci,qom
Work by Alex to support VGA assignment,
pci and virtio fixes by Stefan, Jason and myself, and a
new qmp event for hotplug support by myself.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Alex Williamson (13) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (23 commits)
pcie: Add endpoint capability initialization wrapper
roms: switch oldnoconfig to olddefconfig
pcie: Mangle types to match topology
pci: Create and use API to determine root buses
pci: Create pci_bus_is_express helper
pci: Q35, Root Ports, and Switches create PCI Express buses
pci: Allow PCI bus creation interfaces to specify the type of bus
pci: Move PCI and PCIE type defines
pci: Create and register a new PCI Express TypeInfo
exec: assert that RAMBlock size is non-zero
pci: refuse empty ROM files
pci_bridge: Remove duplicate IRQ swizzle function
pci_bridge: Use a default map_irq function
pci: Fix INTx routing notifier recursion
pci_bridge: drop formatting from source
pci_bridge: factor out common code
pci: Teach PCI Bridges about VGA routing
pci: Add PCI VGA helpers
virtio-pci: guest notifier mask without non-irqfd
virtio-net: remove layout assumptions for mq ctrl
...
commit 6214e73cc5b75a4f8d89a70d71727edfa47a81b3
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Mar 19 12:11:24 2013 -0600
pcie: Add endpoint capability initialization wrapper
Fix the awkward API of mangling the caller specified PCIe type and
just provide an interface to initialize an endpoint device. This
will pick either a regular endpoint or integrated endpoint based on
the bus and return pcie_cap_init to doing exactly what is asked.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Mar 21 14:04:21 2013 +0200
roms: switch oldnoconfig to olddefconfig
When a new option is added that qemu does not know
about, the prudent thing is to use the default not
force it to "no".
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit eb28cb1bb0cb156aef7e613395af403bba0e7f30
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:35 2013 -0600
pcie: Mangle types to match topology
Windows will fail to start drivers for devices with an Endpoint type
PCIe capability attached to a Root Complex (code 10 - Device cannot
start). The proper type for such a device is Root Complex Integrated
Endpoint. Devices don't care which they are, so do this conversion
automatically.
This allows the Windows driver to load for nec-usb-xhci when attached
to pcie.0 of a q35 machine.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0889464a5050c25611d08ca33d8447796c88c7f7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:29 2013 -0600
pci: Create and use API to determine root buses
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8c0bf9e24242c89c1abbd708c714dd2a89febbd2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:23 2013 -0600
pci: Create pci_bus_is_express helper
For testing the bus type.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit afb661eb902f4ad1456d57b31cdd02f0b4aac33f
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:17 2013 -0600
pci: Q35, Root Ports, and Switches create PCI Express buses
Convert q35, ioh3420, xio3130_upstream, and xio3130_downstream to
use the new TYPE_PCIE_BUS.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 60a0e44320cc2601236450fbe95d952830192a1d
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:11 2013 -0600
pci: Allow PCI bus creation interfaces to specify the type of bus
No change to any types.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cf09458d644934976aa64e88bb41ef9a4cc2766a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:05 2013 -0600
pci: Move PCI and PCIE type defines
Move these so that we can reference them from a more common header
instead of including pci_bus.h everywhere.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3a861c466cee46fed042d76100fa0fd9644f3091
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:00:59 2013 -0600
pci: Create and register a new PCI Express TypeInfo
This will allow us to differentiate Express and Legacy buses.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 49cd9ac6a1929467e2df5783a5183fc7708ec3ff
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 11 10:20:21 2013 +0100
exec: assert that RAMBlock size is non-zero
find_ram_offset() does not handle size=0 gracefully. It hands out the
same RAMBlock offset multiple times, leading to obscure failures later
on.
Add an assert to warn early if something is incorrectly allocating a
zero size RAMBlock.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8c7f3dd05e4f1ee90000c89e428e69ae2e6bd691
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 11 10:20:20 2013 +0100
pci: refuse empty ROM files
A zero size ROM file is invalid and should produce a warning.
Attempting to use a zero size file ends up hitting an assertion
qemu_ram_set_idstr() because RAMBlocks with duplicate addresses are
allocated - due to zero size the allocator doesn't increment the next
available RAMBlock offset.
Also convert __FUNCTION__ to __func__ while we're touching this code.
There are no other __FUNCTION__ instances in pci.c anymore.
Reported-by: Milos Ivanovic <milosivanovic@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ea7cfed68bb4f26fc65b078ab735a4097e9b4fe2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 16:17:00 2013 -0700
pci_bridge: Remove duplicate IRQ swizzle function
pci_bridge_dev_map_irq_fn() is identical to pci_swizzle_map_irq_fn(),
which is now the default for all PCI bridges. We can therefore remove
this function and the pci_bridge_map_irq() call that used it.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 659fefeed36a4b58191595cebab2dbc003788d90
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 16:16:54 2013 -0700
pci_bridge: Use a default map_irq function
The PCI bridge spec defines a default swizzle for translating INTx
IRQs from secondary bus to primary. Use this by default for any
bridge that doesn't set a function.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e5368f0da75c1c668e85398aa930be2f4273e684
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 11:29:19 2013 -0700
pci: Fix INTx routing notifier recursion
For some reason we recurse to fire the INTx routing notifier for each
child of a bus, for each possible device of a bus. That means that if
we add a root port, the notifier gets called for that bridge 256
times. If we add an upstream switch behind that root port, 256^2. But
of course we need a downstream switch, 256^3. This starts to be
noticeable. Stop the insanity.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 600d05b9aa4b4d23775fc17968dd6b581928001d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 4 11:31:21 2013 +0200
pci_bridge: drop formatting from source
We use the same formatting for all files, it
doesn't make sense to have formatting directives only
in pci bridge header.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45eb768c706d3a5fbe55224c589e8b4e252781d9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 4 11:23:49 2013 +0200
pci_bridge: factor out common code
Reuse common code in pcie_port, override the hardwired-to-0
bits per PCI Express spec.
No functional change but makes the code easier to follow.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ba7d8515c1e929baccea9f53d06d131fd2b007a1
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Mar 3 10:21:32 2013 -0700
pci: Teach PCI Bridges about VGA routing
Each PCI Bridge has a set of implied VGA regions that are enabled when
the VGA bit is set in the bridge control register. This allows VGA
devices behind bridges. Unfortunately with VGA Enable, which we
formerly allowed but didn't back, comes along some required VGA
baggage. VGA Palette Snooping is required, along with VGA 16-bit
decoding. We don't yet have support for palette snooping.
We also don't have support for 10-bit VGA aliases, the default mode, but
we enable the register, even on root ports, to avoid confusing guests.
Fortunately there's likely nothing from this century that requires these
features, so the missing bits are noted with TODOs.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e01fd687185444944b0b5b0f8c739ae4b33eb029
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Mar 3 10:21:26 2013 -0700
pci: Add PCI VGA helpers
Allow devices to register VGA memory regions for handling PCI spec
defined VGA I/O port and MMIO areas. PCI will attach these to the
bus address spaces and enable them according to the device command
register value.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a38b2c49bfd3f1cfc2aadd08cd049af16a342b1e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 13 21:37:08 2013 +0200
virtio-pci: guest notifier mask without non-irqfd
non-irqfd setups are currently broken with vhost:
we start up masked and nothing unmasks the interrupts.
Fix by using mask notifiers, same as the irqfd path.
Sharing irqchip/non irqchip code is always a good thing,
in this case it will help non irqchip benefit
from backend masking optimization.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8f7c533e20d1681feeb665109301151bdb739b4
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Mar 6 13:50:27 2013 +0800
virtio-net: remove layout assumptions for mq ctrl
Following commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a (virtio-net:
remove layout assumptions for ctrl vq), this patch makes multiqueue ctrl
handling not rely on the layout of descriptors.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15054fce2df8592dec70bba23faf126f0f372f81
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 11 15:11:04 2013 +0200
qmp: add path to device_deleted event
Add QOM path to device deleted event. It now becomes useful to report
it for devices which don't have an ID assigned.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e998fa8df828ef68ea540a12917d10b4d335c1dd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 18 21:01:37 2013 +0200
qom: call class destructor before unparent
It seems more logical to have destruction flow start with the subclass
and move up to the base class. This ensures object has a valid
canonical path when destructor is called.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 18501ae6e825d8da72369fd091018ef71071bd87
Merge: fad5593... 500f006...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 13:38:00 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Peter Lieven (9) and others
# Via Juan Quintela
* quintela/migration.next: (22 commits)
Use qemu_put_buffer_async for guest memory pages
Add qemu_put_buffer_async
Use writev ops if available
Store the data to send also in iovec
Update bytes_xfer in qemu_put_byte
Add socket_writev_buffer function
Add QemuFileWritevBuffer QemuFileOps
migration: use XBZRLE only after bulk stage
migration: do not search dirty pages in bulk stage
migration: do not sent zero pages in bulk stage
migration: add an indicator for bulk state of ram migration
migration: search for zero instead of dup pages
bitops: unroll while loop in find_next_bit()
buffer_is_zero: use vector optimizations if possible
cutils: add a function to find non-zero content in a buffer
move vector definitions to qemu-common.h
savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition
savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32
savevm: Add VMSTATE_FLOAT64 helpers
savevm: Add VMSTATE_UINTTL_EQUAL helper
...
commit fad5593ca646010d3cb83f7926d78dd30c20c610
Merge: 0fbf01f... b57ed9b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 13:34:38 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Queue sanity check for notify hypercall.
commit b57ed9bf075e33cdd2f9eb545ff555301dd57221
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Mar 26 17:32:44 2013 +0100
virtio-ccw: Queue sanity check for notify hypercall.
Verify that the virtio-ccw notify hypercall passed a reasonable
value for queue.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0fbf01fe911e84c588be41636570f46f597113d6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 10:04:43 2013 -0500
qtest: use synchronous I/O for char device
Peter reported that rtc-test would periodically hang. It turns out
this was due to an EAGAIN occurring on qemu_chr_fe_write.
Instead of heavily refactoring qtest, just use a synchronous version
of the write operation for qemu_chr_fe_write to address this problem.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd18720a294bd7244ffda719677dd9c737317b67
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 10:04:17 2013 -0500
char: introduce a blocking version of qemu_chr_fe_write
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e769bdc26ded6d7681cddd9f67c5f87a4b5ba53c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:15:14 2013 +0000
hw/qdev: Abort rather than ignoring errors adding device properties
Instead of ignoring any errors that occur when adding properties
to a new device in device_initfn(), check for them and abort if any
occur. The most likely cause is accidentally adding a duplicate
property, which is a programming error by the device author.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364217314-7400-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 54852b03711f06c5f24af72de583346922176947
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:15:13 2013 +0000
qom: Detect attempts to add a property that already exists
Detect attempts to add a property to an object if one of
that name already exists, and report them as errors.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364217314-7400-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b000dfbd42e8aac9af66ae0ed787ef1021bea29f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:40:44 2013 +0000
hw/qdev-properties.c: Improve diagnostic for setting property after
realize
Now we have error_setg() we can improve the error message emitted if
you attempt to set a property of a device after the device is realized
(the previous message was "permission denied" which was not very
informative).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1364218844-7509-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c19f806e01ba5c4a4d4fac80b76841512ed4a11e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:20 2013 +0100
virtio-scsi: cleanup: remove qdev field.
The qdev field is no longer needed. Just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-11-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 763684befd34461371c2d2188655b69e4d93a5db
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:19 2013 +0100
virtio-scsi: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-10-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ac8e139274245320b1c56f6e9ec9318c2da963a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:18 2013 +0100
virtio-scsi: cleanup: use QOM casts.
As the virtio-scsi-pci and virtio-scsi-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c908ea1052f8c6391c2d321693220130846f703c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:17 2013 +0100
virtio-scsi-ccw: switch to new API
Here the virtio-scsi-ccw is modified for the new API. The device
virtio-scsi-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-scsi during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ef13d8f1956b086f4bcb1d70cd5ff96e5faa2cb
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:16 2013 +0100
virtio-scsi-s390: switch to the new API.
Here the virtio-scsi-s390 is modified for the new API. The device
virtio-scsi-s390 extends virtio-s390-device as before. It creates and
connects a virtio-scsi during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc7b90a010719612344c4a78be7819841e76b7ec
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:15 2013 +0100
virtio-scsi-pci: switch to new API.
Here the virtio-scsi-pci is modified for the new API. The device
virtio-scsi-pci
extends virtio-pci. It creates and connects a virtio-scsi during the init.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab1dfdd50a7c852e4921935250c22f486c5b8a4
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:14 2013 +0100
virtio-scsi: add the virtio-scsi device.
Create virtio-scsi which extends virtio-device, so it can be connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4bfeb18a454bd71c406683fb473375e02c724b00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:13 2013 +0100
virtio-scsi: moving host_features from properties to transport properties.
host_features field is part of the transport device. So move all the
host_features related properties into transport device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 22219527f4272f5199a581bbd3950e9ba96bbc75
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:12 2013 +0100
virtio-scsi: allocate cmd_vqs array separately.
Allocate/Free the cmd_vqs array separately to have a fixed size device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 394e2e4c59294f2c5da58d2970693667218c7cf3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:11 2013 +0100
virtio-scsi: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-scsi
properties. So *conf is replaced by conf.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fd1a053e3696738d7499733df0feb1efd0d97e0
Merge: dcadaa9... 4d70043...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 09:25:45 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Corey Bryant (2) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
New QMP command query-cpu-max and HMP command cpu_max
qmp: fix handling of boolean values in qmp-shell
QMP: TPM QMP and man page documentation updates
QMP: Remove duplicate TPM type from query-tpm
commit 500f0061d628b52220038939728f0d7aee634468
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:03 2013 +0200
Use qemu_put_buffer_async for guest memory pages
This will remove an unneeded copy of guest memory pages.
For the page header and device state we still copy the data to the
static buffer the other option is to allocate the memory on demand
which is more expensive.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6181ec245529e0d40ac669fe3044eef3a9e19610
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:02 2013 +0200
Add qemu_put_buffer_async
This allows us to add a buffer to the iovec to send without copying it
into the static buffer, the buffer will be sent later when qemu_fflush is
called.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit cb88aa88d7e96cd12328915b33bf4a1bc054aa3f
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:01 2013 +0200
Use writev ops if available
Update qemu_fflush and stdio_close to use writev ops if they are available
Use the buffers stored in the iovec.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b3ea2bdb792f6d961ba3adf45cf1f0c63c61e09d
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:00 2013 +0200
Store the data to send also in iovec
All data is still copied into the static buffer.
Adjacent iovecs are coalesced so we send one big buffer
instead of many small buffers.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7d8a30bb98e89c203b3d2289ab0638c38bbeb7c1
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:59 2013 +0200
Update bytes_xfer in qemu_put_byte
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 28085f7b4d06970efa004257fcef013caf495a08
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:58 2013 +0200
Add socket_writev_buffer function
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d913829f0fd8451abcb1fd9d6dfce5586d9d7e10
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:57 2013 +0200
Add QemuFileWritevBuffer QemuFileOps
This will allow us to write an iovec
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5cc11c46cf187c7d5306b68e730ec0d372cd7ef0
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:39 2013 +0100
migration: use XBZRLE only after bulk stage
at the beginning of migration all pages are marked dirty and
in the first round a bulk migration of all pages is performed.
currently all these pages are copied to the page cache regardless
of whether they are frequently updated or not. this doesn't make sense
since most of these pages are never transferred again.
this patch changes the XBZRLE transfer to only be used after
the bulk stage has been completed. that means a page is added
to the page cache the second time it is transferred and XBZRLE
can benefit from the third time of transfer.
since the page cache is likely smaller than the number of pages
it's also likely that in the second round the page is missing in the
cache due to collisions in the bulk phase.
on the other hand a lot of unnecessary mallocs, memdups and frees
are saved.
the following results have been taken earlier while executing
the test program from docs/xbzrle.txt. (+) with the patch and (-)
without. (thanks to Eric Blake for reformatting and comments)
+ total time: 22185 milliseconds
- total time: 22410 milliseconds
Shaved 0.3 seconds, better than 1%!
+ downtime: 29 milliseconds
- downtime: 21 milliseconds
Not sure why downtime seemed worse, but probably not the end of the world.
+ transferred ram: 706034 kbytes
- transferred ram: 721318 kbytes
Fewer bytes sent - good.
+ remaining ram: 0 kbytes
- remaining ram: 0 kbytes
+ total ram: 1057216 kbytes
- total ram: 1057216 kbytes
+ duplicate: 108556 pages
- duplicate: 105553 pages
+ normal: 175146 pages
- normal: 179589 pages
+ normal bytes: 700584 kbytes
- normal bytes: 718356 kbytes
Fewer normal bytes...
+ cache size: 67108864 bytes
- cache size: 67108864 bytes
+ xbzrle transferred: 3127 kbytes
- xbzrle transferred: 630 kbytes
...and more compressed pages sent - good.
+ xbzrle pages: 117811 pages
- xbzrle pages: 21527 pages
+ xbzrle cache miss: 18750
- xbzrle cache miss: 179589
And very good improvement on the cache miss rate.
+ xbzrle overflow : 0
- xbzrle overflow : 0
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 70c8652bf3c1fea79b7b68864e86926715c49261
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:38 2013 +0100
migration: do not search dirty pages in bulk stage
avoid searching for dirty pages just increment the
page offset. all pages are dirty anyway.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f1c72795af573b24a7da5eb52375c9aba8a37972
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:37 2013 +0100
migration: do not sent zero pages in bulk stage
during bulk stage of ram migration if a page is a
zero page do not send it at all.
the memory at the destination reads as zero anyway.
even if there is an madvise with QEMU_MADV_DONTNEED
at the target upon receipt of a zero page I have observed
that the target starts swapping if the memory is overcommitted.
it seems that the pages are dropped asynchronously.
this patch also updates QMP to return the number of
skipped pages in MigrationStats.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 78d07ae7ac74bcc7f79aeefbaff17fb142f44b4d
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:36 2013 +0100
migration: add an indicator for bulk state of ram migration
the first round of ram transfer is special since all pages
are dirty and thus all memory pages are transferred to
the target. this patch adds a boolean variable to track
this stage.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3edcd7e6ebae3ef0ac178eed5f4225803159562d
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:35 2013 +0100
migration: search for zero instead of dup pages
virtually all dup pages are zero pages. remove
the special is_dup_page() function and use the
optimized buffer_find_nonzero_offset() function
instead.
here buffer_find_nonzero_offset() is used directly
to avoid the unnecssary additional checks in
buffer_is_zero().
raw performace gain checking 1 GByte zeroed memory
over is_dup_page() is approx. 10-12% with SSE2
and 8-10% with unsigned long arithmedtic.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 49f676a00ab540fac1d2008be26434cf85607722
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:34 2013 +0100
bitops: unroll while loop in find_next_bit()
this patch adopts the loop unrolling idea of bitmap_is_zero() to
speed up the skipping of large areas with zeros in find_next_bit().
this routine is extensively used to find dirty pages in
live migration.
testing only the find_next_bit performance on a zeroed bitfield
the loop onrolling decreased executing time by approx. 50% on x86_64.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 56ded708ec38e4cb75a7c7357480ca34c0dc6875
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:33 2013 +0100
buffer_is_zero: use vector optimizations if possible
performance gain on SSE2 is approx. 20-25%. altivec
is not tested. performance for unsigned long arithmetic
is unchanged.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 41a259bd2b1796ddabdae600ee539269a7ddb6a5
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:32 2013 +0100
cutils: add a function to find non-zero content in a buffer
this adds buffer_find_nonzero_offset() which is a SSE2/Altivec
optimized function that searches for non-zero content in a
buffer.
the function starts full unrolling only after the first few chunks have
been checked one by one. analyzing real memory page data has revealed
that non-zero pages are non-zero within the first 256-512 bits in
most cases. as this function is also heavily used to check for zero memory
pages this tweak has been made to avoid the high setup costs of the fully
unrolled check for non-zero pages.
due to the optimizations used in the function there are restrictions
on buffer address and search length. the function
can_use_buffer_find_nonzero_content() can be used to check if
the function can be used safely.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c61ca00ada744eb24825be2ba4d6ba8fe3a870a4
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:30 2013 +0100
move vector definitions to qemu-common.h
vector optimizations will now be used at various places
not just in is_dup_page() in arch_init.c
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 377e2cb96b76c2b0023c1acc7230bf3a9e9f9f40
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:04 2013 +1100
savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition
The VMSTATE_BUFFER_MULTIPLY macro is misnamed - it actually specifies
a variably sized buffer with VMS_VBUFFER, so should be named
VMSTATE_VBUFFER_MULTIPLY. This patch fixes this (the macro had no current
users under either name).
In addition, unlike the other VMSTATE_VBUFFER variants, this macro did not
specify VMS_POINTER. This patch fixes this bug as well.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 8474a9dd6757be064bf4b35f422b4640d1cca0a5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:03 2013 +1100
savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32
Currently the savevm code contains a VMSTATE_STRUCT_VARRAY_POINTER_INT32
helper (a variably sized array with the number of elements in an int32_t),
but not VMSTATE_STRUCT_VARRAY_POINTER_UINT32 (... with the number of
elements in a uint32_t). This patch (trivially) fixes the deficiency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 213945e4d753b5f214468ff746d65fa76e21dbd1
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:02 2013 +1100
savevm: Add VMSTATE_FLOAT64 helpers
The current savevm code includes VMSTATE helpers for a number of commonly
used data types, but not for the float64 type used by the internal
floating
point emulation code. This patch fixes the deficiency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d58f5598342ffebe6c6278d8b90792060fca4792
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:01 2013 +1100
savevm: Add VMSTATE_UINTTL_EQUAL helper
This adds an _EQUAL VMSTATE helper for target_ulongs, defined in terms of
VMSTATE_UINT32_EQUAL or VMSTATE_UINT64_EQUAL as appropriate.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e344b8a16de429ada3d9126f26e2a96d71348356
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:00 2013 +1100
savevm: Add VMSTATE_UINT64_EQUAL helpers
The savevm code already includes a number of *_EQUAL helpers which act as
sanity checks verifying that the configuration of the saved state matches
that of the machine we're loading into to work. Variants already exist
for 8 bit 16 bit and 32 bit integers, but not 64 bit integers. This patch
fills that hole, adding a UINT64 version.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 817c60457f41e8643b612d451b3737433e9c7e0a
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Feb 11 15:11:10 2013 +0100
migration: Improve QMP documentation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Mon Mar 25 17:31:33 2013 +0100
New QMP command query-cpu-max and HMP command cpu_max
These commands return the maximum number of CPUs supported by the
currently running emulator instance, as defined in its QEMUMachine
struct.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e5ecec7bad7b679aa11ab788424bc0e1705be15b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Mar 25 15:48:46 2013 +0100
qmp: fix handling of boolean values in qmp-shell
qmp-shell converts only integer arguments and the rest
is assumed to be strings which are faithfully sent as
quoted strings by json. But QEMU refuses to accept qmp
command with boolean argument whose value is escaped
as string.
Fix it by special-casing true/false keywords and store
value as corresponding boolean.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 28c4fa32bd76268320d44db5d82e0d18fbc7c864
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 12:34:49 2013 -0400
QMP: TPM QMP and man page documentation updates
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 88ca7bcff1806594c80782ad19ba50db47086b23
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 12:34:48 2013 -0400
QMP: Remove duplicate TPM type from query-tpm
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dcadaa9b40d6019ac18d6fd7763d43048ef79218
Merge: 4b5805d... d32fcad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:14:26 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman (5) and others
# Via Stefan Hajnoczi
* stefanha/net:
net: increase buffer size to accommodate Jumbo frame pkts
VMXNET3 device implementation
Packet abstraction for VMWARE network devices
Common definitions for VMWARE devices
net: iovec checksum calculator
Checksum-related utility functions
net: use socket_set_nodelay() for -netdev socket
commit 4b5805de49edec5a81fe810bb612317de6545a38
Merge: d2f38a0... ea804ca...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:14:20 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Liu Yuan (1) and Stefan Weil (1)
# Via Stefan Hajnoczi
* stefanha/block:
block: Add options QDict to bdrv_file_open() prototypes (fix MinGW
build)
rbd: fix compile error
commit d2f38a0acb0a1c5b7ab7621a32d603d08d513bea
Merge: d63c947... 0099cd4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:13:53 2013 -0500
Merge remote-tracking branch 'kraxel/ipxe.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/ipxe.3:
ipxe: update binaries
ipxe: disable two second timeout
commit d63c9477e0cc303492325880dc9977f4096d895d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 10:23:56 2013 -0500
glib: add a compatibility interface for g_timeout_add_seconds
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6db253caf84203c9fb106b539072699fdd4730fe
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 24 19:10:02 2013 +0100
gtk: Release modifier when graphic console loses keyboard focus
This solves, e.g., sticky ALT when selecting a GTK menu, switching to a
different window or selecting a different virtual console.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 514F417A.6010908@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d32fcad366e5f45d33dab2ee4de0e5729439680b
Author: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 18 11:43:44 2013 -0700
net: increase buffer size to accommodate Jumbo frame pkts
Socket buffer sizes were hard-coded to 4K for VDE and socket netdevs.
Bump this
up to 68K (ala tap netdev) to handle maximum GSO packet size (64k) plus
plenty
of room for the ethernet and virtio_net headers.
Originally, ran into this limitation when using -netdev UDP sockets to
connect
VM-to-VM, where VM interface is configure with MTU=9000. (Using
virtio_net
NIC model). Test is simple: ping -M do -s 8500 <target>. This test will
attempt to ping with unfragmented packet of given size. Without patch,
size
is limited to < 4K (minus protocol hdrs). With patch, ping test works
with pkt
size up to 9000 (again, minus protocol hdrs).
v2: per Stefan, increase buf size to (4096+65536) as done in tap and apply
to vde and socket netdevs.
v1: increase buf size to 12K just for -netdev UDP sockets
Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 786fd2b0f87baded8c9e55307b99719eea3e016e
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:06 2013 +0200
VMXNET3 device implementation
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e263cd49c73c595af0917c83dc004234660e0c71
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:05 2013 +0200
Packet abstraction for VMWARE network devices
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75020a7021513ad4cbad2aa5f6de5d390016f099
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:04 2013 +0200
Common definitions for VMWARE devices
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84026301694b98dd08272e613da3497b17023d5c
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:03 2013 +0200
net: iovec checksum calculator
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5acf5ea4bc1535657692c509092caddec3d719ff
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:02 2013 +0200
Checksum-related utility functions
net_checksum_add_cont()
checksum calculation for scattered data with odd chunk sizes
net_raw_checksum()
checksum calculation for a buffer
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 20048d0a12b1080f688ff9b82696134df1aa3607
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 27 15:05:47 2013 +0100
net: use socket_set_nodelay() for -netdev socket
Reduce -netdev socket latency by disabling the Nagle algorithm on
SOCK_STREAM sockets in net/socket.c. Since we are tunelling Ethernet
over TCP we shouldn't artificially delay outgoing packets, let the guest
decide packet scheduling.
I already get sub-millisecond -netdev socket ping times on localhost, so
there was no measurable difference in my testing. This won't hurt
though and may improve remote socket performance.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
commit ea804cadf867a0521b9069193db339d041a40689
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 24 08:08:36 2013 +0100
block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build)
The new parameter is unused yet.
This part was missing in commit 787e4a8500020695eb391e2f1cc4767ee071d441.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d43731c75830dc63ae94282d84208a5652095bb7
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Sun Mar 24 15:41:15 2013 +0800
rbd: fix compile error
Commit 787e4a85 [block: Add options QDict to bdrv_file_open() prototypes]
didn't
update rbd.c accordingly.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0099cd43ecf07710a608db5ca0945758514a14c2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:13:18 2013 +0100
ipxe: update binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95ca557d5cfc1ef69ba9708ded552f389afe643d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:07:40 2013 +0100
ipxe: disable two second timeout
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit fe6344a05fba26e16863fefcb823242e579b0991
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Sun Mar 24 00:43:38 2013 -0400
Remove device_tree.o from hw/moxie/Makefile.objs.
Here's a fix for the build problem identified by Aurelien Jarno here:
http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg04177.html
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2d497542e1ee66598be8bb7ce6a4606d664417ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 09:13:33 2013 -0700
tcg-optimize: Fold sub r,0,x to neg r,x
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4980ef9e3e12be3b4ef9092abc2d5a665199b422
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 19 12:11:56 2013 -0700
target-i386: Don't modify env->eflags around cpu_dump_state
We can compute the value in cpu_dump_state anyway, and gratuitous
modifications to eflags creates heisenbugs.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c53de1a2896ccc9ab18bb9c2f1a2f7b93629b564
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 19 09:40:53 2013 -0700
target-i386: Fix flags computation for ADOX
When starting from CC_OP_DYNAMIC, and issuing adox before adcx,
a typo used the wrong value for the resulting CC_OP.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d15a9c2390889623a681b4d0bc56371b4d25893c
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:25 2013 -0400
Add top level changes for moxie
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a360d965821870fa1dbb3effdf7436b715ad3358
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:24 2013 -0400
Add sample moxie system
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bd86a88eedf3fd4ff55664cfabea7d6400e5fbda
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:23 2013 -0400
Add moxie disassembler
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 525bd324c282c68ff95e389acd647ae115fd003c
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:22 2013 -0400
Add moxie target code
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f7c61bf8fc1b05613b49d1dd2300d1a1fbc927de
Merge: d76bb73... b1e5fff...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 23 14:23:26 2013 +0000
Merge branch 'for-upstream' of git://github.com/mwalle/qemu
* 'for-upstream' of git://github.com/mwalle/qemu:
configure: rename OpenGL feature to GLX
configure: proper OpenGL/GLX probe
target-lm32: use HELPER() macro
target-lm32: flush tlb after clearing env
target-lm32: remove dead code
target-lm32: fix cmpgui and cmpgeui opcodes
tests: tcg: lm32: add more test cases
target-lm32: don't log cpu state in translation
lm32_uart: fix receive buffering
milkymist-uart: fix receive buffering
lm32-dis: fix NULL pointer dereference
target-lm32: fix debug memory access
commit d76bb73549fcac07524aea5135280ea533a94fd6
Merge: 52ae646... 9ca3f7f...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Fri Mar 22 21:43:57 2013 +0100
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (58 commits)
target-ppc: Use NARROW_MODE macro for tlbie
target-ppc: Use NARROW_MODE macro for addresses
target-ppc: Use NARROW_MODE macro for comparisons
target-ppc: Use NARROW_MODE macro for branches
target-ppc: Fix add and subf carry generation in narrow mode
target-ppc: Use QOM method dispatch for MMU fault handling
target-ppc: Move ppc tlb_fill implementation into mmu_helper.c
target-ppc: Split user only code out of mmu_helper.c
mmu-hash64: Implement Virtual Page Class Key Protection
mmu-hash*: Merge translate and fault handling functions
mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for
get_phys_page_debug()
mmu-hash*: Correctly mask RPN from hash PTE
mmu-hash*: Clean up real address calculation
mmu-hash*: Clean up PTE flags update
mmu-hash64: Factor SLB N bit into permissions bits
mmu-hash*: Clean up permission checking
mmu-hash32: Remove nx from context structure
mmu-hash*: Don't update PTE flags when permission is denied
mmu-hash32: Don't look up page tables on BAT permission error
mmu-hash32: Cleanup BAT lookup
...
commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f
Author: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx>
Date: Fri Mar 22 21:50:17 2013 +0900
tcg: Fix occasional TCG broken problem when ldst optimization enabled
is_tcg_gen_code() checks the upper limit of TCG generated code range
wrong, so
that TCG could get broken occasionally only when
CONFIG_QEMU_LDST_OPTIMIZATION
enabled. The reason is code_gen_buffer_max_size does not cover the upper
range
up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size
should be
modified to code_gen_buffer_size.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 3f08ffb4a4741d147634761dc053ed386243a0de
Merge: cecd77a... 681e7ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:08:01 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (12) and Peter Lieven (2)
# Via Kevin Wolf
* kwolf/for-anthony:
nbd: Check against invalid option combinations
nbd: Use default port if only host is specified
block: Allow omitting the file name when using driver-specific options
block: Make find_image_format safe with NULL filename
block: Rename variable to avoid shadowing
block: Introduce .bdrv_parse_filename callback
nbd: Accept -drive options for the network connection
nbd: Remove unused functions
nbd: Keep hostname and port separate
qemu-socket: Make socket_optslist public
block: Pass bdrv_file_open() options to block drivers
block: Add options QDict to bdrv_file_open() prototypes
block: complete all IOs before resizing a device
Revert "block: complete all IOs before .bdrv_truncate"
commit cecd77ae6df060bbe8f0eea6691112097e680a52
Merge: f930820... 01ed1d5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:05:57 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By liguang (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
qdev: remove redundant abort()
gitignore: ignore more files
Use proper term in TCG README
serial: Fix debug format strings
Fix typos and misspellings
Advertise --libdir in configure --help output
memory: fix a bug of detection of memory region collision
MinGW: Replace setsockopt by qemu_setsocketopt
commit f9308207040dc4a1484cee459bedaec03645b935
Merge: afed260... fe42d7f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:05:50 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw, s390-virtio: Use generic virtio-blk macro.
s390-virtio, virtio-ccw: Add config_wce for virtio-blk.
virtio-ccw: Add missing blk chs properties.
commit 681e7ad024d80123a1ae8e35f86fb1a7f03b1bc9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 20 19:23:23 2013 +0100
nbd: Check against invalid option combinations
A file name may only specified if no host or socket path is specified.
The latter two may not appear at the same time either.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit bebbf7fa9c6235022ecd15f8f934d27e5ccab63a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:56:05 2013 +0100
nbd: Use default port if only host is specified
The URL method already takes care to apply the default port when none is
specfied. Directly specifying driver-specific options required the port
number until now. Allow leaving it out and apply the default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c2ad1b0c465a9ea8375eaff14bbd85705c673f73
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:40:51 2013 +0100
block: Allow omitting the file name when using driver-specific options
After this patch, using -drive with an empty file name continues to open
the file if driver-specific options are used. If no driver-specific
options are specified, the semantics stay as it was: It defines a drive
without an inserted medium.
In order to achieve this, bdrv_open() must be made safe to work with a
NULL filename parameter. The assumption that is made is that only block
drivers which implement bdrv_parse_filename() support using driver
specific options and could therefore work without a filename. These
drivers must make sure to cope with NULL in their implementation of
.bdrv_open() (this is only NBD for now). For all other drivers, the
block layer code will make sure to error out before calling into their
code - they can't possibly work without a filename.
Now an NBD connection can be opened like this:
qemu-system-x86_64 -drive file.driver=nbd,file.port=1234,file.host=::1
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f5866fa438bff586f215c137dc71edb4e0770536
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:20:27 2013 +0100
block: Make find_image_format safe with NULL filename
In order to achieve this, the .bdrv_probe callbacks of all drivers must
cope with this. The DMG driver is the only one that bases its decision
on the filename and it needs to be changed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 08b392e1510b21d8c9bfa8a50525fae31014a2e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:17:44 2013 +0100
block: Rename variable to avoid shadowing
bdrv_open() uses two different variables called options. Rename one of
them to avoid confusion and to allow the outer one to be accessed
everywhere.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 6963a30d82413bea36c7545137b090b284cc2b18
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 18:47:22 2013 +0100
block: Introduce .bdrv_parse_filename callback
If a driver needs structured data and not just a string, it can provide
a .bdrv_parse_filename callback now that parses the command line string
into separate options. Keeping this separate from .bdrv_open_filename
ensures that the preferred way of directly specifying the options always
works as well if parsing the string works.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f53a1febcd9d887149ac1429880a3f2fdb2c117f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 7 16:15:11 2013 +0100
nbd: Accept -drive options for the network connection
The existing parsers for the file name now parse everything into the
bdrv_open() options QDict. Instead of using these parsers, you can now
directly specify the options on the command line, like this:
qemu-system-x86_64 -drive file=nbd:,file.port=1234,file.host=::1
Clearly the file=... part could use further improvement, but it's a
start.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 197a4859b914559489f41b63fd71ea4bfda17c3d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 16:46:38 2013 +0100
nbd: Remove unused functions
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f17c90bed11a6e277614b5a5d16434004f24d572
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 11:55:29 2013 +0100
nbd: Keep hostname and port separate
The NBD block supports an URL syntax, for which a URL parser returns
separate hostname and port fields. It also supports the traditional qemu
syntax encoded in a filename. Until now, after parsing the URL to get
each piece of information, a new string is built to be fed to socket
functions.
Instead of building a string in the URL case that is immediately parsed
again, parse the string in both cases and use the QemuOpts interface to
qemu-sockets.c.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e62be8888a83aa0ab7f50eeb954deb2ec4e7201d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 17:14:24 2013 +0100
qemu-socket: Make socket_optslist public
Allow other users to create the QemuOpts needed for inet_connect_opts().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 707ff8282b66bb9471e253fe5f17b74576d36825
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 6 12:20:31 2013 +0100
block: Pass bdrv_file_open() options to block drivers
Specify -drive file.option=... on the command line to pass the option to
the protocol instead of the format driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 787e4a8500020695eb391e2f1cc4767ee071d441
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 6 11:52:48 2013 +0100
block: Add options QDict to bdrv_file_open() prototypes
The new parameter is unused yet.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 92b7a08d64e5e3129fa885f9d180e5bddcb76b42
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Mar 11 11:04:24 2013 +0100
block: complete all IOs before resizing a device
this patch ensures that all pending IOs are completed
before a device is resized. this is especially important
if a device is shrinked as it the bdrv_check_request()
result is invalidated.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5c916681ae2383f0425bb8a3680ade9d055f5dfe
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Mar 11 11:03:28 2013 +0100
Revert "block: complete all IOs before .bdrv_truncate"
brdv_truncate() is also called from readv/writev commands on self-
growing file based storage. this will result in requests waiting
for theirselves to complete.
This reverts commit 9a665b2b8640e464f0a778216fc2dca8d02acf33.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01ed1d527c59356e6c4c9d54b5710a3c9e78ce4e
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:14 2013 +0800
qdev: remove redundant abort()
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 082369e62c5bbaba89f173c2b803bc24115bb111
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:13 2013 +0800
gitignore: ignore more files
ignore *.patch, *.gcda, *.gcno
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 294e4669a5ef1feacc6635d324fa4ba88062cce0
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 11:42:08 2013 +0800
Use proper term in TCG README
In TCG, "target" means the host architecture for which TCG generates
the code. Using "guest" rather than "target" to make the document more
consistent.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ca3f7f3160365de9030e1a6128a871625abe346
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:49 2013 +0000
target-ppc: Use NARROW_MODE macro for tlbie
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c791fe8436cf6b93ddb035a5b7a87487da5f7b30
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:48 2013 +0000
target-ppc: Use NARROW_MODE macro for addresses
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 02765534f7aff83a975072e8a6fcc85364351ad5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:47 2013 +0000
target-ppc: Use NARROW_MODE macro for comparisons
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0c8f9ce85b360668a7c8cc77cb3b85fac0bd057
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:46 2013 +0000
target-ppc: Use NARROW_MODE macro for branches
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 79482e5ab38a05ca8869040b0d8b8f451f16ff62
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:45 2013 +0000
target-ppc: Fix add and subf carry generation in narrow mode
The set of computations used in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
are only valid if the current word size == target_long size. This failed
to take ppc64 in 32-bit (narrow) mode into account.
Add a NARROW_MODE macro to avoid conditional compilation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b632a148b677b773ff155f9de840b37a653567b9
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 11:40:33 2013 +1100
target-ppc: Use QOM method dispatch for MMU fault handling
After previous cleanups, the many scattered checks of env->mmu_model in
the ppc MMU implementation have, at least for "classic" hash MMUs been
reduced (almost) to a single switch at the top of
cpu_ppc_handle_mmu_fault().
An explicit switch is still a pretty ugly way of handling this though.
Now
that Andreas Färber's CPU QOM cleanups for ppc have gone in, it's quite
straightforward to instead make the handle_mmu_fault function a QOM method
on the CPU object.
This patch implements such a scheme, initializing the method pointer at
the same time as the mmu_model variable. We need to keep the latter
around
for now, because of the MMU types (BookE, 4xx, et al) which haven't been
converted to the new scheme yet, and also for a few other uses. It would
be good to clean those up eventually.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb20c1c6da60c8c75f08def03b0822a48af620ac
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:49 2013 +0000
target-ppc: Move ppc tlb_fill implementation into mmu_helper.c
For softmmu builds the interface from the generic code to the target
specific MMU implementation is through the tlb_fill() function. For ppc
this is currently in mem_helper.c, whereas it would make more sense in
mmu_helper.c. This patch moves it, which also allows
cpu_ppc_handle_mmu_fault() to become a local function in mmu_helper.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cc8eae8ac7a493b6968238cf8aa5a21026858bae
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:48 2013 +0000
target-ppc: Split user only code out of mmu_helper.c
mmu_helper.c is, for obvious reasons, almost entirely concerned with
softmmu builds of qemu. However, it does contain one stub function which
is used when CONFIG_USER_ONLY=y - the user only versoin of
cpu_ppc_handle_mmu_fault, which always triggers an exception. The entire
rest of the file is surrounded by #if !defined(CONFIG_USER_ONLY).
We clean this up by moving the user only stub into its own new file,
removing the ifdefs and building mmu_helper.c only when CONFIG_SOFTMMU
is set. This also lets us remove the #define of cpu_handle_mmu_fault to
cpu_ppc_handle_mmu_fault - that name is only used from generic code for
user only - so we just name our split user version by the generic name.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f80872e21c07edd06eb343eeeefc8af404b518a6
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:47 2013 +0000
mmu-hash64: Implement Virtual Page Class Key Protection
Version 2.06 of the Power architecture describes an additional page
protection mechanism. Each virtual page has a "class" (0-31) recorded in
the PTE. The AMR register contains bits which can prohibit reads and/or
writes on a class by class basis. Interestingly, the AMR is userspace
readable and writable, however user mode writes are masked by the contents
of the UAMOR which is privileged.
This patch implements this protection mechanism, along with the AMR and
UAMOR SPRs. The architecture also specifies a hypervisor-privileged AMOR
register which masks user and supervisor writes to the AMR and UAMOR. We
leave this out for now, since we don't at present model hypervisor mode
correctly in any case.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: fix 32-bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit caa597bd9f5439cb16653119f362ad85a9f02b55
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:46 2013 +0000
mmu-hash*: Merge translate and fault handling functions
ppc_hash{32,64}_handle_mmu_fault() is now the only caller of
ppc_hash{32,64{_translate(), so this patch combines them together. This
means that instead of one returning a variety of non-obvious error codes
which then get translated into the various mmu exception conditions, we
can
just generate the exceptions as we discover problems in the translation
path. This also removes the last usage of mmu_ctx_hash{32,64}.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5883d8b29691e15c72e338a586509abfc65c3106
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:45 2013 +0000
mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for
get_phys_page_debug()
Currently the hash mmu versionsof get_phys_page_debug() use the same
ppc64_hash64_translate() function to do the translation logic as the
normal
mm fault handler code.
That sounds like a good idea, but has some complications. The debug path
doesn't need, or even want some parts of the full translation path, like
permissions checking. Furthermore, the pte flags update included in the
normal path means that the debug call is not quite side effect free.
This patch, therefore, reimplements get_phys_page_debug as the minimal
required subset of the full translation path.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>`z
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 75d5ec89c03cb2f1a2bd0d9912e624ceb6fd1999
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:44 2013 +0000
mmu-hash*: Correctly mask RPN from hash PTE
BEHAVIOUR CHANGE
At present we take the whole of word 1 of the hash PTE as the real page
number used to calculate the translated address. This is incorrect,
because it leaves the flags from the low bits of PTE word 1 in place in
the
rpm. We mostly get away with that because the value is later masked by
TARGET_PAGE_MASK.
More recent 64-bit CPUs also have a small number of flag bits (PP0 and
KEY) in the top bits of PTE word 1. Any guest which used those bits would
fail with the current code.
This patch fixes the problem by correctly masking out the RPN field of
PTE word 1. This is safe, even for older CPUs which didn't have PP0 and
KEY, because although the RPN notionally extended to the very top of PTE
word 1, none of those CPUs actually implemented that many real address
bits.
We add analogous masking to the 32-bit code, even though it also doesn't
have the high flag bits, for consistency and clarity.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d11d998bb866c92b0f81eb3cea2f7a3e617feb8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:43 2013 +0000
mmu-hash*: Clean up real address calculation
More recent 64-bit hash MMUs support multiple page sizes, and PTEs for
large pages only include the offset of the whole large page. But the qemu
tlb only handles pages of the base size (4k) so we need to break up the
large pages into 4k pieces for the qemu tlb. To do that we have a
somewhat
awkward piece of code that adds the folds address bits 4k and the page
size
from the virtual address into the real address from the pte.
This patch simplifies this redefining the raddr output of
ppc_hash64_translate() to be the full real address of the faulting
address,
rather than just the (4k) page offset. Computing that turns out to be
simpler, and is fine for the caller, since it already masks with
TARGET_PAGE_MASK before inserting into the qemu tlb.
The multiple page size complication doesn't exist for 32-bit hash mmus,
but
we make an analogous cleanup there for consistency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b344074642e58fc83635c38105f38b85fc086666
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:42 2013 +0000
mmu-hash*: Clean up PTE flags update
Currently the ppc_hash{32,64}_pte_update_flags() helper functions update a
PTE's referenced and changed bits as necessary to reflect the access. It
is somewhat long winded, though. This patch open codes them in their
(single) callers, in a simpler way.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 57d0a39d98b0d0e4712e736084667bcb5aed3474
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:41 2013 +0000
mmu-hash64: Factor SLB N bit into permissions bits
BEHAVIOUR CHANGE
Currently, for 64-bit hash mmu, the execute protection bit placed into the
qemu tlb is based only on the N (No execute) bit from the PTE. However,
No Execute can also be set at the segment level. We do check this on
execute faults, but this still means we could incorrectly allow execution
of code from a No Execute segment, if a prior read or write fault caused
the page to be loaded into the qemu tlb with PROT_EXEC set.
To correct this, we (re-)check the segment level no execute permission
when
generating the protection bits for the qemu tlb.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e01b444523e2b0c663b42b3e8f44ef48a6153051
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:40 2013 +0000
mmu-hash*: Clean up permission checking
Currently checking of PTE permission bits is split messily amongst
ppc_hash{32,64}_pp_check(), ppc_hash{32,64}_check_prot() and their
callers.
This patch cleans this up to have the new function
ppc_hash{32,64}_pte_prot() compute the page permissions from the SLBE (for
64-bit) or segment register (32-bit) and the pte. A greatly simplified
version of the actual permissions check is then open coded in the callers.
The 32-bit version of ppc_hash32_pte_prot() is implemented in terms of
ppc_hash32_pp_prot(), a renamed and slightly cleaned up version of the old
ppc_hash32_pp_check(), which is also used for checking BAT permissions on
the 601.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1a53ba2e0f6dcf4a8b25586cc9d8ec1e408305c
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:39 2013 +0000
mmu-hash32: Remove nx from context structure
Previous cleanups have meant the nx field of the mmu_ctx_hash32 structure
is now only used within ppc_hash32_translate(), and so it can be replaced
by a local variable.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 87dc3fd13e9c573fc435678973d8eb9726d50c3b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:38 2013 +0000
mmu-hash*: Don't update PTE flags when permission is denied
BEHAVIOUR CHANGE
Currently if ppc_hash{32,64}_translate() finds a PTE matching the given
virtual address, it will always update the PTE's R & C (Referenced and
Changed) bits. This happens even if the PTE's permissions mean we are
about to deny the translation.
This is clearly a bug, although we get away with it because:
a) It will only incorrectly set, never reset the bits, which should not
cause guest correctness problems.
b) Linux guests never use the R & C bits anyway.
This patch fixes the behaviour, only updating R & C when access is granted
by the PTE.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59acbe28552eb7bd7be75b22b3f3de93d7d40556
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:37 2013 +0000
mmu-hash32: Don't look up page tables on BAT permission error
BEHAVIOUR CHANGE
Currently, on any failure translating an address with BATs, we proceed to
normal segment and page table translation. That's incorrect if the
BAT error was due to permissions, rather than not finding a matching BAT.
We've gotten away with it because a guest would not usually put
translations for the same address in both BATs and page table.
Nonetheless
this patch corrects the logic, only doing page table lookup if no BAT
is found. A matching BAT with bad permissions will now correctly trigger
an exception.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 145e52f31826045d8cccf5b840dc77d21a696651
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:36 2013 +0000
mmu-hash32: Cleanup BAT lookup
This patch makes a general cleanup of the ppc_hash32_get_bat() function,
renaming it to ppc_hash32_bat_lookup(). In particular, the new function
only looks for a matching BAT, with the permissions check from the old
function moved to the caller.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6fc76aa9adc1c8896a97059f12a1e5e6c1820c64
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:35 2013 +0000
mmu-hash32: Clean up BAT matching logic
The code to search for a matching BAT for a virtual address is somewhat
longwinded and awkward. In particular, it relies on seperate size and
validity information being returned from the hash32_bat_size() function
(and 601 specific variant).
We simplify this by having hash32_bat_size() return instead a mask of the
virtual address bits to match, and 0 for invalid (since a BAT can never
match the entire address space).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1d4951593426c886c1856211bc6ca81ed7c435d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:34 2013 +0000
mmu-hash32: Split BAT size logic from permissions logic
hash32_bat_size_prot() and its 601 variant, as the name suggests, returns
both a BAT's size - needed to search for a matching BAT - and its
permissions, only relevant once a matching BAT has been located.
There's no particular advantage to combining these, so we split these
roles
into seperate functions for clarity.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9986ed1ed07a01bdd236524b1a5cee695e68954a
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:33 2013 +0000
mmu-hash32: Remove odd pointer usage from BAT code
In the code for handling BATs, the hash32_bat_size_prot() and
hash32_bat_601_size_prot() functions are passed the BAT contents by
reference (pointer) for no clear reason, since they only need the values
within.
This patch removes this odd usage, and uses the resulting change to clean
up the caller slightly.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a9801106ed90b8817128e15b187a9d5f71a54d9
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:32 2013 +0000
mmu-hash*: Fold pte_check*() logic into caller
With previous cleanups made, the 32-bit and 64-bit pte_check*() functions
are pretty trivial and only have one call site. This patch therefore
clarifies the overall code flow by folding those functions into their
call site.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 181488987671841407c52b6f958650f68b66f3f4
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:31 2013 +0000
mmu-hash64: Clean up ppc_hash64_htab_lookup()
This patch makes a general cleanup of the address mangling logic in
ppc_hash64_htab_lookup(). In particular it now avoids repeatedly
switching
on the segment size. The lack of SLB and multiple segment sizes on 32-bit
means an analogous cleanup is not needed there.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f3bdc2d8e17999a26ac0f6649caef92fedfc1c0
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:30 2013 +0000
mmu-hash*: Remove permission checking from find_pte{32, 64}()
find_pte{32,64}() are poorly named, since they both find a PTE and do
permissions checking of it. This patch makes them only locate a matching
PTE, moving the permission checking and other logic to the caller. We
rename the resulting search functions ppc_hash{32,64}_htab_lookup().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1ff751abda89006f167b14fa4bfc5b59e4980f0
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:29 2013 +0000
mmu-hash*: Make find_pte{32, 64} do more of the job of finding ptes
find_pte{32,64}() are not particularly well named. They only "find" a PTE
within a given PTE group, and they also do permissions checking and other
things.
This patch makes it somewhat close to matching the name, by folding the
search of both primary and secondary hash bucket into it, along with the
various address bit shuffling to determine the right hash buckets.
In the 32-bit case we also remove the code for splitting large pages into
4k pieces for the qemu tlb, since no 32-bit hash MMUs support multiple
page
sizes.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit aea390e4be652d5b5457771d25eded0dba14fe37
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:28 2013 +0000
mmu-hash*: Separate PTEG searching from permissions checking
find_pte{32,64{() do several things. First they search through a PTEG
ooking for a PTE matching our virtual address. Then they do permissions
checking and other processing on that PTE.
This patch separates the search by VA out from the rest. The search is
combined with the pte{32,64}_match() functions into new
ppc_has{32,64}_pteg_search() functions.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f95d7cc7fecbc0e320e83c864ce2d99fee3d9236
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:27 2013 +0000
mmu-hash*: Don't keep looking for PTEs after we find a match
BEHAVIOUR CHANGE
The ppc hash mmu hashes each virtual address to a primary and secondary
possible hash bucket (aka PTE group or PTEG) each with 8 PTEs. Then we
need a linear search through the PTEs to find the correct one for the
virtual address we're translating.
It is a programming error for the guest to insert multiple PTEs mapping
the
same virtual address into a PTEG - in this case the ppc architecture says
the MMU can either act as if just one was present, or give a machine
check.
Currently our code takes the first matching PTE in a PTEG if it finds a
successful translation. But if a matching PTE is found, but permission
bits don't allow the access, we keep looking through the PTEG, checking
that any other matching PTEs contain an identical translation.
That behaviour is perhaps not exactly wrong, but it's certainly not
useful.
This patch changes it to always just find the first matching PTE in a
PTEG.
In addition, if we get a permissions problem on the primary PTEG, we then
search the secondary PTEG. This is incorrect - a permission denying PTE
in the primary PTEG should not be overwritten by an access granting PTE in
the secondary (although again, it would be a programming error for the
guest to set up such a situation anyway). So additionally we update the
code to only search the secondary PTEG if no matching PTE is found in the
primary at all.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb218042c8b4e4bbcf2ab3c8d961d78876178831
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:26 2013 +0000
mmu-hash*: Cleanup segment-level NX check
On the ppc hash mmus, no-execute can be set at the segment level (on more
recent 64-bit hash mmus it can also be set at the page level). This patch
separates out this check to make it clearer what is going on, and avoiding
excessive indentation of the remaining translation code.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 723ed73ada1ed66a67722f3051059f634d60ebf7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:25 2013 +0000
mmu-hash32: Split direct store segment handling into a helper
This further separates the unusual case handling of direct store segments
from the main translation path by moving its logic into a helper function,
with some tiny cleanups along the way.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b9605a5b16f86d9e8eccbc0bd522904137c1200
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:24 2013 +0000
mmu-hash32: Split out handling of direct store segments
At present a large chunk of ppc_hash32_translate() is taken up with an
ugly if selecting between direct store segments (hardly ever used) and
normal paged segments. This patch clarifies the flow of code by
handling direct store segments immediately then returning, leaving the
straight line code to describe the normal MMU path.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 65d61643d01fec2792d195130531cbb71c783e8e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:23 2013 +0000
mmu-hash*: Combine ppc_hash{32, 64}_get_physical_address and
get_segment{32, 64}()
After previous work, ppc_hash{32,64}_get_physical_address() are almost
trivial wrappers around get_segment{32,64}() which does nearly all the
work of
translating an address according to the hash mmu model. Therefore
combine the
two functions into one, under the better name of
ppc_hash{32,64}_translate().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f078cd46de9efb5f102a4b32aaf1c8b96a90bfbd
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:22 2013 +0000
mmu-hash*: Remove eaddr field from mmu_ctx_hash{32, 64}
The eaddr field of mmu_ctx_hash{32,64} is effectively just used to pass
the
effective address from get_segment{32,64}() to find_pte{32,64}(). Just
pass it as a normal parameter instead.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba36ed10059f63c981d046a3fe0d716f77959429
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:21 2013 +0000
mmu-hash64: Remove nx from mmu_ctx_hash64
The nx field in mmu_ctx_hash64 is used in two different functions. But
its
used for slightly different things in each place, and the value is never
propagated between them. In other words, it might as well be two local
variables. This patch makes it so.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 91cda45b69e45a089f9989979a65db3f710c9925
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:20 2013 +0000
mmu-hash*: Reduce use of access_type
In ppc env->access_type is updated by e.g. integer load/stores with
ACCESS_INT floating point load/stores with ACCESS_FLOAT and so forth. In
hash mmu fault paths it can also b set to ACCESS_CODE for instruction
fetch accesses.
But the only place which uses anything more of the access_type than
whether it is instruction fetch or data access is the direct store segment
handling. Instruction versus data access can be more simply determined
from the rw value passed down from the top.
This changes the code to use rw in preference to checking access_type.
For the 32-bit case there is a small amount of code (for direct store
segments) that still needs the full access type. Instead of passing it
all the way down the stack, we retrieve it from the env structure, which
is where it came anyway, before this patch.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dffdaf6162d20b992e34c4708969ed4de0353417
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:19 2013 +0000
mmu-hash*: Add hash pte load/store helpers
On real hardware the ppc hash page table is stored in memory; accordingly
our mmu emulation code can read a hash page table in guest memory. But,
when paravirtualized under PAPR, the real hash page table is in host
memory, accessible to the guest only via hypercalls. We model this by
also allowing the MMU emulation code to access a specially allocated hash
page table outside the guest's memory image. At present these two options
are implemented with some ugly conditionals at each access point in the
mmu
emulation code. In the implementation of the PAPR hypercalls, we assume
the external hash table.
This patch cleans things up by adding helpers to load and store from the
hash table for both 32-bit and 64-bit hash mmus. The 64-bit versions
handle both the in-guest-memory and outside guest memory cases. The
32-bit
versions only handle the in-guest-memory case since no 32-bit systems can
have an external hash table at present.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d5aea6f367d25b630a952a5a0c8289add774a8e8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:18 2013 +0000
mmu-hash*: Add header file for definitions
Currently cpu.h contains a number of definitions relating to the 64-bit
hash MMU. Some are used in the MMU emulation code, but some are only used
in the spapr MMU management hcall implementations.
This patch moves these definitions (except for a few that are needed
more widely) into mmu-hash64.h header, shared between the MMU emulation
code and the spapr hcall code. The MMU emulation code is also updated to
actually use a number of those definitions in place of hard coded
constants.
Similarly, we add new analogous definitions to mmu-hash32.h and use those
in place of many hard-coded constants in mmu-hash32.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: fix 32-bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dc68eb0e4e41462bf93cf5c67fe4045571fc7bf
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:17 2013 +0000
target-ppc: mmu_ctx_t should not be a global type
mmu_ctx_t is currently defined in cpu.h. However it is used for temporary
information relating to mmu translation, and is only used in mmu_helper.c
and (now) mmu-hash{32,64}.c. Furthermore it contains information which
should be specific to particular MMU types. Therefore, move its
definition
to mmu_helper.c. mmu-hash{32,64}.c are converted to use new data types
private to the relevant MMUs (identical to mmu_ctx_t for now, but that
will
change in future patches).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9813279664162fa50d6124fe8c5ac4871fa59c13
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:16 2013 +0000
target-ppc: Disentangle BAT code for 32-bit hash MMUs
The functions for looking up BATs (Block Address Translation - essentially
a level 0 TLB) are shared between the classic 32-bit hash MMUs and the
6xx style software loaded TLB implementations.
This patch splits out a copy for the 32-bit hash MMUs, to facilitate
cleaning it up. The remaining version is left, but cleaned up slightly
to no longer deal with PowerPC 601 peculiarities (601 has a hash MMU).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59191721a16ae393c01280dc633937374cdf474e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:15 2013 +0000
target-ppc: Don't share get_pteg_offset() between 32 and 64-bit
The get_pteg_offset() helper function is currently shared between 32-bit
and 64-bit hash mmus, taking a parameter for the hash pte size. In the
64-bit paths, it's only called in one place, and it's a trivial
calculation. This patch, therefore, open codes it for 64-bit. The
remaining version, which is used in two places is made 32-bit only and
moved to mmu-hash32.c.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 496272a7018ba01aa2b87a1a5ed866ff85133401
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:14 2013 +0000
target-ppc: Disentangle hash mmu helper functions
The newly separated paths for hash mmus rely on several helper functions
which are still shared with 32-bit hash mmus: pp_check(), check_prot() and
pte_update_flags(). While these don't have ugly ifdefs on the mmu type,
they're not very well thought out, so sharing them impedes cleaning up the
hash mmu paths. For now, put near-duplicate versions into mmu-hash64.c
and
mmu-hash32.c, leaving the old version in mmu_helper.c for 6xx software
loaded tlb implementations. The hash 32 and software loaded
implementations are simplfied slightly, using the fact that no 32-bit CPUs
implement the 3rd page protection bit.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f2ad6be83bc284d6c7677bdca879db38d4fdccd5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:13 2013 +0000
target-ppc: Disentangle hash mmu versions of cpu_get_phys_page_debug()
cpu_get_phys_page_debug() is a trivial wrapper around
get_physical_address(). But even the signature of
get_physical_address() has some things we'd like to clean up on a
per-mmu basis, so this patch moves the test on mmu model out to
cpu_get_phys_page_debug(), moving the version for 64-bit hash MMUs out
to mmu-hash64.c and the version for 32-bit hash MMUs to mmu-hash32.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 25de24ab838be5801d5cc13b8a347922a3770fa5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:12 2013 +0000
target-ppc: Disentangle hash mmu paths for cpu_ppc_handle_mmu_fault
cpu_ppc_handle_mmu_fault() calls get_physical_address() (whose behaviour
depends on MMU type) then, if that fails, issues an appropriate exception
- which again has a number of dependencies on MMU type.
This patch starts converting cpu_ppc_handle_mmu_fault() to have a
single switch on MMU type, calling MMU specific fault handler
functions which deal with both translation and exception delivery
appropriately for the MMU type. We convert 32-bit and 64-bit hash
MMUs to this new model, but the existing code is left in place for
other MMU types for now.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 629bd516fda67c95ba1c7d1393bacb9e68ea0712
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:11 2013 +0000
target-ppc: Disentangle get_physical_address() paths
Depending on the MSR state, for 64-bit hash MMUs, get_physical_address
can either call check_physical (which has further tests for mmu type)
or get_segment64. Similarly for 32-bit hash MMUs we can either call
check_physucal or get_bat() and get_segment32().
This patch splits off the whole get_physical_addresss() path for hash
MMUs into 32-bit and 64-bit versions, handling real mode correctly for
such MMUs without going to check_physical and rechecking the mmu type.
Correspondingly, the hash MMU specific paths in check_physical() are
removed.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 44bc910794eff956ceba0030f0751a26bed748b5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:10 2013 +0000
target-ppc: Rework get_physical_address()
Currently get_physical_address() first checks to see if translation is
enabled in the MSR, then in the translation on case switches on the mmu
type. Except that for BookE MMUs, translation is always on, and so it
has to switch in the "translation off" case as well and do the same thing
as the translation on path for those MMUs. Plus, even translation off
doesn't behave exactly the same on the various MMU types so there are
further mmu type checks in the "translation off" path.
As a first step to cleaning this up, this patch moves the switch on mmu
type to the top level, then makes the translation on/off check just for
those mmu types where it is meaningful.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0480884f1404295ba0d242791e036b05c4957bab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:09 2013 +0000
target-ppc: Disentangle get_segment()
The poorly named get_segment() function handles most of the address
translation logic for hash-based MMUs. It has many ugly conditionals on
whether the MMU is 32-bit or 64-bit.
This patch splits the function into 32 and 64-bit versions, using the
switch on mmu_type that's already in the caller
(get_physical_address()) to select the right one. Most of the
original function remains in mmu_helper.c to support the 6xx software
loaded TLB implementations (cleaning those up is a project for another
day).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c69b6151e7f242b02f261f321c392e5ef933176f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:08 2013 +0000
target-ppc: Disentangle find_pte()
32-bit and 64-bit hash MMU implementations currently share a find_pte
function. This results in a whole bunch of ugly conditionals in the
shared
function, and not all that much actually shared code.
This patch separates out the 32-bit and 64-bit versions, putting then
in mmu-hash64.c and mmu-has32.c, and removes the conditionals from
both versions.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9d7c3f4a2935a70e7299a6862792bbfc48d62211
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:07 2013 +0000
target-ppc: Disentangle pte_check()
Currently support for both 32-bit and 64-bit hash MMUs share an
implementation of pte_check. But there are enough differences that this
means the shared function has several very ugly conditionals on "is_64b".
This patch cleans things up by separating out the 64-bit version
(putting it into mmu-hash64.c) and the 32-bit hash version (putting it
in mmu-hash32.c). Another copy remains in mmu_helper.c, which is used
for the 6xx software loaded TLB paths.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 10b4652543313ca82284193fa107151c437f9b04
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:06 2013 +0000
target-ppc: Move SLB handling into a mmu-hash64.c
As a first step to disentangling the handling for 64-bit hash MMUs from
the rest, we move the code handling the Segment Lookaside Buffer (SLB)
(which only exists on 64-bit hash MMUs) into a new mmu-hash64.c file.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8152ceaf6eea6d63f6ee65eb419fff56bb3b987b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:05 2013 +0000
target-ppc: Remove address check for logging
One LOG_MMU statement in mmu_helper.c has an odd check on the effective
address being translated. I can see no reason for this; I suspect it was
a debugging hack from long ago. This patch removes it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 213c718080f51aa4f054a79c0c5743e0e2c15f67
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:04 2013 +0000
target-ppc: Trivial cleanups in mmu_helper.c
This removes the never-used pte64_invalidate() function, and makes
ppcmas_tlb_check() static, since it's only used within that file.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9baea4a303323932ec913728173ea38a4af05f3e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:03 2013 +0000
target-ppc: Remove vestigial PowerPC 620 support
The PowerPC 620 was the very first 64-bit PowerPC implementation, but
hardly anyone ever actually used the chips. qemu notionally supports the
620, but since we don't actually have code to implement the segment table,
the support is broken (quite likely in other ways too).
This patch, therefore, removes all remaining pieces of 620 support, to
stop it cluttering up the platforms we actually care about. This includes
removing support for the ASR register, used only on segment table based
machines.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d6478bc7e92db4669fac701d7bb8c51756b61d8a
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Mar 19 07:41:53 2013 +0000
PPC/GDB: handle read and write of fpscr
Although the support of this register may be uncomplete, there are no
reason to prevent the debugger from reading or writing it.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b5651605836fd29572fd4c8769af5378d351712
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:28 2013 +0000
pseries: Move XICS initialization before cpu initialization
Currently, the pseries machine initializes the cpus, then the XICS
interrupt controller. However, to support the upcoming in-kernel XICS
implementation we will need to initialize the irq controller before the
vcpus. This patch makes the necesssary rearrangement. This means the
xics init code can no longer auto-detect the number of cpus ("interrupt
servers" in XICS terminology) and so we must pass that in explicitly from
the platform code.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c6304a4a6822f0e3e45c94b89d4e328057355683
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:27 2013 +0000
target-ppc: Remove CONFIG_PSERIES dependency in kvm.c
target-ppc/kvm.c has an #ifdef on CONFIG_PSERIES, for the handling of
KVM exits due to a PAPR hypercall from the guest. However, since commit
e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 "ppc: express FDT dependency of
pSeries and e500 boards via default-configs/", this hasn't worked
properly.
That patch altered the configuration setup so that although CONFIG_PSERIES
is visible from the Makefiles, it is not visible from C files. This broke
the pseries machine when KVM is in use.
This patch makes a quick and dirty fix, by removing the CONFIG_PSERIES
dependency, replacing it with TARGET_PPC64 (since removing it entirely
leads to type mismatch errors). Technically this breaks the build when
configured with --disable-fdt, since that disables CONFIG_PSERIES on
TARGET_PPC64. However, it turns out the build was already broken in that
case, so this fixes pseries kvm without breaking anything extra. I'm
looking into how to fix that build breakage, but I don't think that need
delay applying this patch.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 89dfd6e1b3c0b31ef700203808be2a9a71947d1d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:25 2013 +0000
pseries: Remove "busname" property for PCI host bridge
Currently the "spapr-pci-host-bridge" device has a "busname" property
which
can be used to override the default assignment of qbus names for the bus
subordinate to the PHB. We use that for the default primary PCI bus, to
make libvirt happy, which expects there to be a bus named simply "pci".
The default qdev core logic would name the bus "pci.0", and the pseries
code would otherwise name it "pci@800000020000000" which is the name it
is given in the device tree based on its BUID.
The "busname" property is rather clunky though, so this patch simplifies
things by just using a special case hack for the default PHB, setting
busname to "pci" when index=0.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a4e044c30e0044947fd0d69b1888d916f96bba6b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Mar 14 17:59:29 2013 +0000
pseries: Fix breakage in CPU QOM conversion
Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad "cpu: Move halted and
interrupt_request fields to CPUState" broke the pseries machine. That's
because it uses CPU() instead of ENV_GET_CPU() to convert from the global
first_cpu pointer (still a CPUArchState) to a CPUState. This patch fixes
the breakage.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8b4a89884196aaa9115fee900396498b78245c91
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 19 12:25:43 2013 +0100
serial: Fix debug format strings
This fixes the build of hw/serial.c with DEBUG_SERIAL enabled.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 085d813407453e498e05c37d988efba8c6f5af0a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 18 17:20:07 2013 +0000
Fix typos and misspellings
Fix various typos and misspellings. The bulk of these were found with
codespell.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a7b66fa7aefb8dce564f0fa665de7965d3007148
Author: Doug Goldstein <cardoe@xxxxxxxxxx>
Date: Sun Mar 17 15:43:26 2013 -0500
Advertise --libdir in configure --help output
The configure script allows you to supply a libdir via --libdir but was
not advertising this in --help.
Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
CC: qemu-trivial@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c7cfd65b326fcff9cb0bf53c643768a5f1e6b7a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Mar 15 14:32:01 2013 +0800
memory: fix a bug of detection of memory region collision
The collision reports before and after this patch are:
before:
warning: subregion collision cfc/4 (pci-conf-data) vs cf8/4 (pci-conf-idx)
warning: subregion collision 8000000/f8000000 (pci-hole) vs 0/8000000
(ram-below-4g)
warning: subregion collision 100000000/4000000000000000 (pci-hole64) vs
8000000/f8000000 (pci-hole)
warning: subregion collision 4d1/1 (kvm-elcr) vs 4d0/1 (kvm-elcr)
warning: subregion collision fec00000/1000 (kvm-ioapic) vs
8000000/f8000000 (pci-hole)
warning: subregion collision 80/1 (ioport80) vs 7e/2 (kvmvapic)
warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000
(pci-hole)
warning: subregion collision 81/3 (dma-page) vs 80/1 (ioport80)
warning: subregion collision 8/8 (dma-cont) vs 0/8 (dma-chan)
warning: subregion collision d0/10 (dma-cont) vs c0/10 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont)
warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd)
warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data)
warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr)
warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit)
warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc)
warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic)
warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic)
warning: subregion collision 4/2 (acpi-cnt) vs 0/4 (acpi-evt)
warning: subregion collision 30/8 (apci-smi) vs 20/10 (apci-gpe0)
warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs
8000000/f8000000 (pci-hole)
after:
warning: subregion collision fec00000/1000 (kvm-ioapic) vs
8000000/f8000000 (pci-hole)
warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000
(pci-hole)
warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont)
warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd)
warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data)
warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr)
warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit)
warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc)
warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic)
warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic)
warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs
8000000/f8000000 (pci-hole)
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9957fc7f1ed731e5228089ead3f350341cdd29c0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 8 19:58:32 2013 +0100
MinGW: Replace setsockopt by qemu_setsocketopt
Instead of adding missing type casts which are needed by MinGW for the
4th argument, the patch uses qemu_setsockopt which was invented for this
purpose.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe42d7fb0f4a05fb393e1efbd681f33a0154c644
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 20 08:27:50 2013 +0100
virtio-ccw, s390-virtio: Use generic virtio-blk macro.
Now that virtio-ccw and s390-virtio define all common properties
for virtio-blk, we can switch to using the generic
DEFINE_VIRTIO_BLK_PROPERTIES macro.
CC: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit da0a58b93c88d874233902f459e01300a78e5f9d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 13 15:20:07 2013 +0100
s390-virtio, virtio-ccw: Add config_wce for virtio-blk.
There's no reason why we wouldn't want to make the cache mode
configurable.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 131cd73705bc5551ae4b64476399d440e8ac55a7
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 13 14:43:22 2013 +0100
virtio-ccw: Add missing blk chs properties.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit afed26082219b49443193b4ac32d113bbcf967fd
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Mar 19 17:34:47 2013 +0100
microblaze: Ignore non-cpu accesses to unmapped areas
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f7d42093a5e54d48cab62695a374806d4303bd6b
Merge: c8a6ae8... c45e5b5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 19 08:01:07 2013 -0500
Merge remote-tracking branch 'kraxel/ipxe.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/ipxe.2:
Switch to efi-enabled nic roms by default
Add efi rom binaries
Add Makefile rules to build nic rom binaries with efi support
Update ipxe submodule to latest master
Add Makefile rules to build nic rom binaries
commit c8a6ae8bb95477d5ac11d9b491b603b2d190a96e
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Mar 19 14:23:27 2013 +0800
add a boot option to do strict boot
Seabios already added a new device type to halt booting.
Qemu can add "HALT" at the end of bootindex string, then
seabios will halt booting after trying to boot from all
selected devices.
This patch added a new boot option to configure if boot
from un-selected devices.
This option only effects when boot priority is changed by
bootindex options, the old style(-boot order=..) will still
try to boot from un-selected devices.
v2: add HALT entry in get_boot_devices_list()
v3: rebase to latest qemu upstream
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1363674207-31496-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8510d91ebad522685bc1a29e7bbc1f5050af0d2c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 18 20:28:21 2013 +0000
ui/cocoa.m: Fix compile failures introduced by recent console changes
Fix various compilation failures introduced by the recent console
changes.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363638501-29603-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 277ba8a6d717abb2f36896cd9877a68d2cf03d77
Merge: 2c8a594... a8e5cc0...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 19 07:58:44 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (2) and others
# Via Kevin Wolf
* kwolf/for-anthony:
virtio-blk: Do not segfault fault if failed to initialize dataplane
qemu-iotests: add 052 BDRV_O_SNAPSHOT test
block: fix BDRV_O_SNAPSHOT protocol detection
qcow2: Fix segfault in qcow2_invalidate_cache
sheepdog: show error message for halt status
commit 2c8a59422c06fe1e37c85502d92ccdfb5e2ac987
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 19 13:38:09 2013 +0100
char: Fix return type of qemu_chr_fe_add_watch()
qemu_chr_fe_add_watch() can return negative errors, therefore it must
not have an unsigned return type. For consistency with other
qemu_chr_fe_* functions, this uses a standard C int instead of glib
types.
In situations where qemu_chr_fe_add_watch() is falsely assumed to have
succeeded, the serial ports would go into a state where it never becomes
ready for transmitting more data; this is fixed by this patch.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f628926bb423fa8a7e0b114511400ea9df38b76a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 10:57:56 2013 +0100
fix monitor
chardev flow control broke monitor, fix it by adding watch support.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a8e5cc0c076a6e3a62f0e9aad88b007dccf3dd17
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Tue Mar 19 16:27:29 2013 +0800
virtio-blk: Do not segfault fault if failed to initialize dataplane
$ ~/usr/bin/qemu-system-x86_64 -enable-kvm -m 1024 -drive
if=none,id=drive0,cache=none,aio=native,format=raw,file=/root/Image/centos-6.4.raw
-device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on #
make dataplane fail to initialize
qemu-system-x86_64: -device
virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on: device is
incompatible with x-data-plane, use config-wce=off
*** glibc detected *** /root/usr/bin/qemu-system-x86_64: free(): invalid
pointer: 0x00007f001fef12f8 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d776)[0x7f00153a5776]
/root/usr/bin/qemu-system-x86_64(+0x2c34ec)[0x7f001cf5b4ec]
/root/usr/bin/qemu-system-x86_64(+0x342f9a)[0x7f001cfdaf9a]
/root/usr/bin/qemu-system-x86_64(+0x33694e)[0x7f001cfce94e]
....................
(gdb) bt
#0 0x00007f3bf3a12015 in raise () from /lib64/libc.so.6
#1 0x00007f3bf3a1348b in abort () from /lib64/libc.so.6
#2 0x00007f3bf3a51a4e in __libc_message () from /lib64/libc.so.6
#3 0x00007f3bf3a57776 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007f3bfb60d4ec in free_and_trace (mem=0x7f3bfe0129f8) at
vl.c:2786
#5 0x00007f3bfb68cf9a in virtio_cleanup (vdev=0x7f3bfe0129f8) at
/root/Develop/QEMU/qemu/hw/virtio.c:900
#6 0x00007f3bfb68094e in virtio_blk_device_init (vdev=0x7f3bfe0129f8)
at /root/Develop/QEMU/qemu/hw/virtio-blk.c:666
#7 0x00007f3bfb68dadf in virtio_device_init (qdev=0x7f3bfe0129f8) at
/root/Develop/QEMU/qemu/hw/virtio.c:1092
#8 0x00007f3bfb50da46 in device_realize (dev=0x7f3bfe0129f8,
err=0x7fff479c9258) at hw/qdev.c:176
.............................
In virtio_blk_device_init(), the memory which vdev point to is a static
member of "struct VirtIOBlkPCI", not heap memory, and it does not
get freed. So we shoule use virtio_common_cleanup() to clean this
VirtIODevice
rather than virtio_cleanup(), which attempts to free the vdev.
This error was introduced by commit
05ff686536f408ba6e8426b1b54d25bd3379fda2
recently.
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f95e26ddf526a025aa1334bbe527739397970443
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 18 17:58:54 2013 +0100
qemu-iotests: add 052 BDRV_O_SNAPSHOT test
Check that writes to an image opened with BDRV_O_SNAPSHOT do not modify
the underlying image file.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4d70655bcb852ea0a006d3923f0b0a9c69ff462e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 18 17:58:53 2013 +0100
block: fix BDRV_O_SNAPSHOT protocol detection
realpath(3) is used to get an absolute path to the image file when
creating a -drive snapshot=on temporary qcow2. This does not work for
protocols since their filenames ("proto:foo:...") do not correspond to
file system paths.
Commit 7c96d46ec245d73fd76726588409f9abe4bd5dc1 ("Let snapshot work with
protocols") skipped realpath(3) for protocols. Later on the "raw"
format was introduced and broke the check.
Use path_has_protocol(filename) to decide if this image uses a protocol
or a filename.
Reported-by: Richard Jones <rjones@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acdfb480ba7e2779bdbffb5280cf12ff6e43669c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 13:08:10 2013 +0100
qcow2: Fix segfault in qcow2_invalidate_cache
Need to pass an options QDict to qcow2_open() now. This fixes a segfault
on the migration target with qcow2.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fca23f0ad211e4debf80796a65165d0eea146424
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Mar 18 14:27:55 2013 +0800
sheepdog: show error message for halt status
Sheepdog (neither quorum nor unsafe mode) will refuse to serve IO
requests when
number of alive nodes is less than that of copies specified by users.
This will
return 0x19 to QEMU client which currently doesn't recognize it.
This patch adds an error description when QEMU client receives it, other
than
plainly printing 'Invalid error code'
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Mar 6 20:23:32 2013 +0100
configure: rename OpenGL feature to GLX
As the probe now actually checks for the availability of GLX, rename it
accordingly. The only user of this feature is the milkymist-tmu2 model.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit d3fcbb16789c6f975ba6e22d8a2ba477519f51bc
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Mar 6 20:16:58 2013 +0100
configure: proper OpenGL/GLX probe
Probe for GL and GLX symbols and X11 library. This fixes a build error
where the header files are available but the libraries are not.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 6635075596e0ae583de9c04ff605e16ceaa7d294
Author: Michael Walle <michael@xxxxxxxx>
Date: Sun Mar 3 23:17:48 2013 +0100
target-lm32: use HELPER() macro
Instead of hardcoding the function name, use the HELPER() macro for this.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit a5b0f6d5c0f6678c078354c432a1f0943374f087
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Feb 26 19:51:52 2013 +0100
target-lm32: flush tlb after clearing env
The tlb data is stored within the CPU env. Therefore, the initialization
has to be done after we clear the environment. Otherwise the tlb will have
a valid entry for address 0x0.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit de55c4bd8bd163ec6c10edc085193bbcf8f9e15e
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Feb 25 18:28:57 2013 +0100
target-lm32: remove dead code
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit df5eb7d2c871ccd708e0f45cdc5d79b73550731b
Author: Michael Walle <michael@xxxxxxxx>
Date: Fri Dec 14 18:14:04 2012 +0100
target-lm32: fix cmpgui and cmpgeui opcodes
For unsigned compares the immediate has to be zero extended.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 6036e9d87e73c511fef48a3c06267f92e613fca9
Author: Michael Walle <michael@xxxxxxxx>
Date: Fri Dec 14 18:13:06 2012 +0100
tests: tcg: lm32: add more test cases
Esp. for testing zero/sign extend in compare operations.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 608a03c1df217f2111765575a91c6448218369a7
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Sep 12 19:48:42 2012 +0200
target-lm32: don't log cpu state in translation
Don't dump the cpu state because it can also be enabled by the "-d cpu"
parameter.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 562f5f5d9e8415cac3ca2eb768dabf068e8e0f4a
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Jul 31 00:04:57 2012 +0200
lm32_uart: fix receive buffering
Inform qemu-char when more input data can be received.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 44ac582d80688ea049c96a20868f4333c6885404
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Jul 31 00:04:57 2012 +0200
milkymist-uart: fix receive buffering
Inform qemu-char when more input data can be received.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit ab2b9f174db088633922eaa82c2bcffd84e6bb94
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Jul 16 19:05:59 2012 +0200
lm32-dis: fix NULL pointer dereference
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit b92e062a6f53251feef0969135b539d1fb33f7d6
Author: Michael Walle <michael@xxxxxxxx>
Date: Thu Apr 5 19:52:54 2012 +0200
target-lm32: fix debug memory access
CPU models which have the LM32_FLAG_IGNORE_MSB flag set will shadow the
lower 2GB to the upper 2GB memory space. This will fix the debug memory
access used by qemu console and GDB to match this behaviour.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 2d62a95766025e6a0a333528278936e2cc8bf978
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:28 2013 +0100
virtio-blk: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-12-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1cc91b7df687289abc0ae09083ac564d01408be8
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:27 2013 +0100
virtio-blk: cleanup: QOM cast
Use QOM casts inside virtio-blk.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-11-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 05ff686536f408ba6e8426b1b54d25bd3379fda2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:26 2013 +0100
virtio-blk: cleanup: init and exit functions.
As all virtio-blk-* are switched to the new API, we can remove the
separate
init/exit for the old API.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-10-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3400c455048a8db26db1b537ea32fa21335ea301
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:25 2013 +0100
virtio-blk-ccw switch to new API.
Here the virtio-ccw-s390 is modified for the new API. The device
virtio-ccw-s390 extends virtio-ccw-device as before. It creates and
connects a virtio-ccw during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55d11e01cca9b83b8cdccbd29d4f078cbe4a185c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:24 2013 +0100
virtio-blk-s390: switch to the new API.
Here the virtio-blk-s390 is modified for the new API. The device
virtio-blk-s390 extends virtio-s390-device as before. It creates and
connects a virtio-blk during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 653ced071b061bbd9cc7d03374be93dcefb37910
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:23 2013 +0100
virtio-blk-pci: switch to new API.
Here the virtio-blk-pci is modified for the new API. The device
virtio-blk-pci extends virtio-pci. It creates and connects a virtio-blk
during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c028ddfb0c5004c8ec86c96ae09068026e77a38
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:22 2013 +0100
virtio-blk: add the virtio-blk device.
Create virtio-blk which extends virtio-device, so it can be connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da3dcefa648f92bfef2f99351fb6ec6a86da4695
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:21 2013 +0100
virtio-blk: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-blk
properties. So *blk is replaced by blk in VirtIOBlock structure.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10479a80893fb2666026ce0fea2251be3070b6e2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:20 2013 +0100
virtio-pci: fix hot unplug.
Hot unplug failed because it tried to free the virtio device two times.
This fix the issue by removing the call to virtio_bus_destroy_device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1363624648-16906-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cbd19063e75c64ac5e4029f76198c7ba65a63b00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:19 2013 +0100
virtio-x-bus: fix allow_hotplug assertion.
This set allow_hotplug for each existing virtio-x-bus, allowing the
refactored devices to be hot pluggable.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1363624648-16906-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1b24e840f9f85a2bb3912e4507d887e7858219d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:18 2013 +0100
virtio: make virtio device's structures public.
These structures must be made public to avoid two memory allocations for
refactored virtio devices.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363624648-16906-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Changes V4 <- V3:
* Rebased on current git.
Changes V3 <- V2:
* Style correction spotted by Andreas (virtio-scsi.h).
* Style correction for virtio-net.h.
Changes V2 <- V1:
* Move the dataplane include into the header (virtio-blk).
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e531761d63b7f8fe6b6423fafb3616ebbff768aa
Merge: b1999e8... 1562e53...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 18 07:34:24 2013 -0500
Merge remote-tracking branch 'kraxel/pixman.v8' into staging
# By Gerd Hoffmann (18) and others
# Via Blue Swirl (1) and Gerd Hoffmann (1)
* kraxel/pixman.v8: (37 commits)
console: remove ds_get_* helper functions
console: zap color_table
console: stop using DisplayState in gfx hardware emulation
console: zap displaystate from dcl callbacks
cocoa: stop using DisplayState
spice: stop using DisplayState
sdl: stop using DisplayState
vnc: stop using DisplayState
gtk: stop using DisplayState
console: add surface_*() getters
console: rework DisplaySurface handling [dcl/ui side]
console: rework DisplaySurface handling [vga emu side]
sdl: drop dead code
qxl: better vga init in enter_vga_mode
qxl: zap qxl0 global
spice: zap sdpy global
console: kill DisplayState->opaque
console: fix displaychangelisteners interface
s390: Fix cpu refactoring fallout.
target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
...
commit 1562e53112fd1082c656a06d953a7447ab17e6e1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 13:40:47 2013 +0100
console: remove ds_get_* helper functions
Switch the few remaining ds_get_* uses in console.c over to the new
surface_* accessors.
While doing so tripped over a few leftovers from commit
a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0
as indicator for textmode rendering). Fixed them up.
Finally dropped ds_get_* helper helpers.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cf6f05481affb600da22dba3c0bc2564e918e8f1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 09:50:51 2013 +0100
console: zap color_table
qemu_create_surface hands out 32bpp surfaces.
So we can just use color_table_rgb directly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c78f71378a345ea240c288993ca1378ded5504b9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 5 15:24:14 2013 +0100
console: stop using DisplayState in gfx hardware emulation
Use QemuConsole instead. Updates interfaces in console.[ch] and adapts
gfx hardware emulation code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc2ed9704fff2c721e4056ab5281f0291718bfa6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 13:03:04 2013 +0100
console: zap displaystate from dcl callbacks
Now that nobody depends on DisplayState in DisplayChangeListener
callbacks any more we can remove the parameter from all callbacks.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5e00d3ac475fb4c9afa17612a908e933fe142f00
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 12:52:06 2013 +0100
cocoa: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71874c1751ebb7368eaa023a35ac919d2c1c5e4c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 16:42:28 2013 +0100
spice: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8db9bae94eadcb7d5d07af1ba0c642aafafc5498
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 09:01:13 2013 +0100
sdl: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d39fa6d86d07646e3481e5c3e45a984bff590642
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 17:16:48 2013 +0100
vnc: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9d9801cf803cdceaa4845fe27150b24d5ab083e6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 16:10:02 2013 +0100
gtk: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more. Factor out the window size handling to a separate function,
so the zoom callbacks can call that directly instead of abusing the
gd_switch DisplayStateListener callback for that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 626e3b34e30bc62d4f25f7aa4e23a346eba1a2c0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 15:24:14 2013 +0100
console: add surface_*() getters
Add convinence wrappers to query DisplaySurface properties.
Simliar to ds_get_*, but operating in the DisplaySurface
not the DisplayState.
With this patch in place ui frontents can stop using DisplayState
in the rendering code paths, they can simply operate using the
DisplaySurface passed in via dpy_gfx_switch callback.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c12aeb860c63ba83190f962e2f0a1c5fe18ad3a6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 15:03:04 2013 +0100
console: rework DisplaySurface handling [dcl/ui side]
Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener
callbacks with a dpy_gfx_switch callback which notifies the ui code
when the framebuffer backing storage changes.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit da229ef3b3c5709b01d62e7a6e213b31bca33d16
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 10:48:02 2013 +0100
console: rework DisplaySurface handling [vga emu side]
Decouple DisplaySurface allocation & deallocation from DisplayState.
Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface
function.
This handles the graphic hardware emulation.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 468dfd6de2df3cbaed8c5cc43f8fbde6f94f9dbc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 10:48:36 2013 +0100
sdl: drop dead code
DisplayAllocator removal (commit
187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472) made this a nop.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c099e7aa0295678859d58e9e60b7619f6ae3bac8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 11:08:50 2013 +0100
qxl: better vga init in enter_vga_mode
Ask the vga core to update the display. Will trigger dpy_gfx_resize
if needed. More complete than just calling dpy_gfx_resize.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c6c06853d99127c03778fc1bf9bc2d96a05c108e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 12:15:00 2013 +0100
qxl: zap qxl0 global
DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the qxl state and kill the
qxl0 global variable.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9c80a315b47a64043f6b91bd6f14352a455b323e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 14:47:07 2013 +0100
spice: zap sdpy global
DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the spice display state and
kill the sdpy global variable.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 21ef45d71221b4577330fe3aacfb06afad91ad46
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 11:34:31 2013 +0100
console: kill DisplayState->opaque
It's broken by design. There can be multiple DisplayChangeListener
instances, so they simply can't store state in the (single) DisplayState
struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.
With DisplayChangeListenerOps having a more sane interface now we can
simply use the DisplayChangeListener pointer to get access to our
private data instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7c20b4a374d0016e3fce005690fb428354a56621
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 13 14:51:41 2012 +0100
console: fix displaychangelisteners interface
Split callbacks into separate Ops struct. Pass DisplayChangeListener
pointer as first argument to all callbacks. Uninline a bunch of
display functions and move them from console.h to console.c
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 17:46:11 2013 +0100
Switch to efi-enabled nic roms by default
All PCI nics are switched to EFI-enabled roms by default. They are
composed from three images (legacy, efi ia32 & efi x86), so classic
pxe booting will continue to work.
Exception: eepro100 is not switched, it uses a single rom for all
emulated eepro100 variants, then goes patch the rom header on the
fly with the correct PCI IDs. I doubt that will work as-is with
the efi roms.
Keep old roms for 1.4+older machine types via compat properties,
needed because the efi-enabled roms are larger so the pci rom bar
size would change.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8a24d3cb9be9bca2b77a4e9eb1a62ed735af712e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 4 10:19:29 2013 +0100
Add efi rom binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2f3f430d7cca3f67ef9b539dbc008d71eb6a3bd0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 16:45:58 2013 +0100
Add Makefile rules to build nic rom binaries with efi support
"make -C roms efirom" will build rom binaries with EFI support.
They are composed from three images: legacy bios, efi ia32
and efi x64. So netbooting via SeaBIOS will continue to work
like it does today, and additionally we get network support
for EFI. This target needs the EfiRom utility (shipped with
edk2) somewhere in the $PATH.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3d8dab3298c64267411fb470e3d1e18871a359b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 09:14:12 2013 +0100
Update ipxe submodule to latest master
Needed for efi support.
ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms
because that would make some pxe roms larger than 64k, which in
turn would be a guest-visible change because the rom bar size
grows from 64k to 128k.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2397edd7354ebbcebf3cd55dc3c0b1fe7621794b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 8 16:35:08 2013 +0100
Add Makefile rules to build nic rom binaries
"make -C roms pxerom" will build the ipxe roms and update
the binaries in pc-bios/, i.e. it basically documents how
the build process of our current nic roms works.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 225dc991b03f0f034aa348f5cf499de9d0979107
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Mar 15 10:57:40 2013 +0100
s390: Fix cpu refactoring fallout.
Commit 259186a7 "cpu: Move halted and interrupt_request fields to
CPUState"
seems to have missed one instance in target-s390x/kvm.c:
/home/cohuck/git/qemu/target-s390x/kvm.c: In function
â??kvm_arch_process_async_eventsâ??:
/home/cohuck/git/qemu/target-s390x/kvm.c:319: error: â??CPUS390XStateâ??
has no member named â??haltedâ??
/home/cohuck/git/qemu/target-s390x/kvm.c:320: warning: control reaches
end of non-void function
make[1]: *** [target-s390x/kvm.o] Error 1
Let's just switch to cs->halted.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7fb7377594887db99a2100adcddf3bd6394ef540
Merge: 8b758d0... f8b9fe2...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Mar 17 17:44:47 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
xilinx_spips: QOM styling fixes
xilinx_spips: Add missing dual-bus snoop commands
xilinx_spips: Fix bus setup conditional check
xilinx_spips: Set unused IRQs to NULL
xilinx_zynq: added pl330 to machine model
pl330: Initial version
iov: Factor out hexdumper
hw/vexpress: Set reset values for daughterboard oscillators
hw/arm_sysctl: Implement SYS_CFG_OSC function
hw/vexpress: Pass voltage sensor properties to sysctl device
hw/arm_sysctl: Implement SYS_CFG_VOLT
qdev: Implement (variable length) array properties
hw/arm_sysctl: Convert from qdev init to instance_init
hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op
hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op
hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way
hw/vexpress: Pass proc_id via VEDBoardInfo
commit 0402a5d65ec004df5345d1f736e2ddaa7aee6665
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 6 14:58:59 2013 +0200
qdev: DEVICE_DELETED event
libvirt has a long-standing bug: when removing the device,
it can request removal but does not know when the
removal completes. Add an event so we can fix this in a robust way.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b758d0568a986d58c254b3c209691c82e0f82a1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Mar 15 18:56:19 2013 +0100
target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
Fix for rndrashift_short_acc to set correct value to higher 64 bits.
This change also corrects conditions when bit 23 of the DSPControl
register
is set.
The existing test files have been extended with several examples that
trigger the issues. One bug/example in the test file for EXTR_RS_W has
been
found and reported by Klaus Peichl.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f8b9fe249a706bfed61e0bb66c73394553696382
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: QOM styling fixes
Few fixes for the latest QOM styling guides.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
de9daeee6c142e8b57ad042fd680cedcdc94d2fc.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 08a9635b68757e18a6a8bf8569353b40bb6c1fd1
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: Add missing dual-bus snoop commands
Added additional commands to the switch to check for when snooping
commands in
dual bus mode setups. Cleaned up code to use an enum.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
848c116c711dab0af10729a487968384aadd9faf.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0891bd8bfd3349fc3fecde30e51900059f53f11
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: Fix bus setup conditional check
The R_LQPSI_CFG register has the LQSPI_CFG_SEP_BUS and LQSPI_CFG_TWO_MEM
bits.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d76c8e364c80a42352ae4f0661aff2cd17ad32a4.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2790cd911e563f7fec7eeb7856b7f5f54437cc0a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
xilinx_spips: Set unused IRQs to NULL
Unused CS lines should init to 0 to avoid segfaulting when accessing an
unattached QSPI controller.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
c1e45198032106e69e8fe9339fc2e6348d524fcd.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7451afb67136275f2461f2d23139f2abed1f15b3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
xilinx_zynq: added pl330 to machine model
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
5bc295bd2aa50dfe573f428574dbd7d8add7b3f8.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06a1cea5f631f6ac69f85ae07bb47ef47b88f5f7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
pl330: Initial version
Device model for Primecell PL330 DMA controller.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Kirill Batuzov <batuzovk@xxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
098aac26233d7334bed2bca4f06f539638ca6d24.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6ff66f50f0999c3455c39de68fc2d2949963c796
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
iov: Factor out hexdumper
Factor out the hexdumper functionality from iov for all to use. Useful for
creating verbose debug printfery that dumps packet data.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
faaac219c55ea586d3f748befaf5a2788fd271b8.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c7d489379c2a2923b4805d337dfd54f2f432449
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
hw/vexpress: Set reset values for daughterboard oscillators
Set the reset values for the VExpress daughterboard oscillators
via the new sysctl properties.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f81f94bebc2f8c4b32a89910d071099a67dc44d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_OSC function
Implement the SYS_CFG_OSC function. Since the idea of
programmable clock rates doesn't make much sense for QEMU,
we simply allow the clock rate to be read back as written.
The number and value of the daughterboard oscillators varies
between daughterboards, so we provide an array property to
allow their reset values to be configured.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31410948bc1c8001098b076caf35aab8a5cf063d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/vexpress: Pass voltage sensor properties to sysctl device
Pass voltage sensor properties to the sysctl device. Since
these are daughterboard specific, we specify them via the
VEDBoardInfo structure.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1359985476-29380-9-git-send-email-peter.maydell@xxxxxxxxxx
commit 8bd4824a6122292060a318741595927e0d05ff5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_VOLT
Implement the SYS_CFG_VOLT registers which return the voltage
of various supplies on motherboard and daughterboard. Since
QEMU implements a perfectly stable power supply these registers
always return a constant value. The number and value of the
daughterboard voltages is dependent on the specific daughterboard,
so we use a property array to allow the board to configure them
appropriately.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0be6bfac6262900425c10847de513ee2490078d3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
qdev: Implement (variable length) array properties
Add support for declaring array properties for qdev devices.
These work by defining an initial static property 'len-arrayname'
which the user of the device should set to the desired size
of the array. When this property is set, memory is allocated
for the array elements, and dynamic properties "arrayname[0]",
"arrayname[1]"... are created so the user of the device can
then set the values of the individual array elements.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f56f50ac484653fe996c37ac894418a34f92b89
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Convert from qdev init to instance_init
Convert this device from old-style qdev init to an instance_init
function. We don't need a realize function yet, though.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 291155cbc54212a451d0b899a01b6e3e14ed9135
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op
SYS_CFG_DVIMODE allows the guest to select whether the
output DVI signal is VGA, SVGA, XGA, SGA or UXGA. Since
this makes no difference to QEMU, implement writes as a
no-op so Linux doesn't complain.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8ff05c9842e28888b936dbd960f6416cee5addb6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op
SYS_CFG_MUXFPGA allows the guest to select whether the
video output should come from the motherboard's LCD
controller or the daughterboard's one. Since QEMU doesn't
currently support selecting the video output like this,
implement as a no-op, so Linux doesn't complain about
the register not being implemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71538323358d77f6472d66a30e948a1c23bd9e87
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way
The SYS_CFGCTRL register consists of separate fields
for DCC, function, site, position and device, as well
as a read/write bit. Refactor the code handling SYS_CFGCTRL
writes to make it easier to add support for functions
like SYS_CFG_OSC which support multiple device fields.
We also pull the handling out into its own function for
clarity, as there are potentially a lot of implementable
subfunctions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cdef10bb9373c2c22c517a4deef2363c7ebd5d48
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/vexpress: Pass proc_id via VEDBoardInfo
Pass the daughterboard-specific proc_id property to the code that
creates the sysctl device via the VEDBoardInfo struct, rather than
by having the daughterboard init function write to a uint32_t*
argument. This is a cleaner way to pass the info around, and
is in line with the way we are going to handle voltage and
oscillator initialization.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b1999e87b4d42305419329cae459e1b43f706d96
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 13:57:28 2013 +1100
Fix TAGS creation
Currently the Makefile creates TAGS for emacs with the command:
find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags
That works only if xargs ends up invoking etags just once. If xargs runs
etags several times, as it will if there are enough files, then the later
invocations will overwrite the output from the earlier invocations. This
patch uses the etags --append option to fix the bug.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Message-id: 1363057048-21534-1-git-send-email-david@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc0b0616f726956001be09e9a65a6e0b0bd939db
Merge: d4d7682... 3618a09...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 15 10:47:21 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (14) and others
# Via Stefan Hajnoczi
* stefanha/block: (28 commits)
blockdev: Fix up copyright and permission notice
qemu-iotests: use -nographic in test case 007
qemu-iotests: add tests for rebasing zero clusters
dataplane: fix hang introduced by AioContext transition
coroutine: use AioContext for CoQueue BH
threadpool: drop global thread pool
block: add bdrv_get_aio_context()
aio: add a ThreadPool instance to AioContext
threadpool: add thread_pool_new() and thread_pool_free()
threadpool: move globals into struct ThreadPool
main-loop: add qemu_get_aio_context()
sheepdog: set io_flush handler in do_co_req
sheepdog: use non-blocking fd in coroutine context
qcow2: make is_allocated return true for zero clusters
qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount()
qcow2: drop flush in update_cluster_refcount()
qcow2: flush in qcow2_update_snapshot_refcount()
qcow2: set L2 cache dependency in qcow2_alloc_bytes()
qcow2: flush refcount cache correctly in qcow2_write_snapshots()
qcow2: flush refcount cache correctly in alloc_refcount_block()
...
commit d4d7682484f339d70355b165a15f8f5e83638e40
Merge: 4f30649... 2362ecc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 15 10:47:00 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Christian Borntraeger (1) and Cornelia Huck (1)
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Wire up virtio-rng.
virtio-ccw: remove qdev_unparent in unplug routing
commit 3618a094022e984d4e045c6db21aed961b7c6fc9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 14 13:59:53 2013 +0100
blockdev: Fix up copyright and permission notice
Screwed up in commit 666daa68. Thanks to Kevin Wolf for reminding me
to fix this.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 804dd41792c8bdc0c8b34c8e580882ff8ef736d8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 14 17:06:55 2013 +0100
qemu-iotests: use -nographic in test case 007
A comment explains that -nographic hangs test case 007. This is no
longer the case so add -nographic. This makes the test suite faster and
more pleasant to run since no windows pop up.
I am not sure exactly when -nographic starting working for this case but
there is no fundamental reason why graphics are needed here. Make sure
the serial port is not on stdio, it would conflict with the monitor.
Also remove unnecessary trailing whitespace on these lines.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acbf30ec601b1f817febc4500025b7c4181312c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 13 15:58:13 2013 +0100
qemu-iotests: add tests for rebasing zero clusters
If zero clusters are erroneously treated as unallocated, "qemu-img rebase"
will copy the backing file's contents onto the cluster.
The bug existed also in image streaming, but since the root cause was in
qcow2's is_allocated implementation it is enough to test it with qemu-img.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 485e3ce88e8af0e5311dd626f399b3a1e0846dd6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 13 15:14:15 2013 +0100
dataplane: fix hang introduced by AioContext transition
The bug is that the EventNotifiers do have a NULL io_flush callback.
Because _none_ of the callbacks on the dataplane AioContext have such a
callback, aio_poll will simply do nothing. Fixed by adding the callbacks:
the ioeventfd will always be polled (this can change in the future to
pause/resume the processing during live snapshots or similar operations);
the ioqueue will be polled if there are outstanding requests.
I must admit I have screwed up my testing somehow, because commit
2c20e71 does not work even if cherry-picked on top of 1.4.0, and this
patch fixes it there as well.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 28f082469650a0f4c0e37b4ccd6f9514b1a0698d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:50 2013 +0100
coroutine: use AioContext for CoQueue BH
CoQueue uses a BH to awake coroutines that were made ready to run again
using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH
currently runs in the iothread AioContext and would break coroutines
that run in a different AioContext.
This is a slightly tricky problem because the lifetime of the BH exceeds
that of the CoQueue. This means coroutines can be awoken after CoQueue
itself has been freed. Also, there is no qemu_co_queue_destroy()
function which we could use to handle freeing resources.
Introducing qemu_co_queue_destroy() has a ripple effect of requiring us
to also add qemu_co_mutex_destroy() and qemu_co_rwlock_destroy(), as
well as updating all callers. Avoid doing that.
We also cannot switch from BH to GIdle function because aio_poll() does
not dispatch GIdle functions. (GIdle functions make memory management
slightly easier because they free themselves.)
Finally, I don't want to move unlock_queue and unlock_bh into
AioContext. That would break encapsulation - AioContext isn't supposed
to know about CoQueue.
This patch implements a different solution: each qemu_co_queue_next() or
qemu_co_queue_restart_all() call creates a new BH and list of coroutines
to wake up. Callers tend to invoke qemu_co_queue_next() and
qemu_co_queue_restart_all() occasionally after blocking I/O, so creating
a new BH for each call shouldn't be massively inefficient.
Note that this patch does not add an interface for specifying the
AioContext. That is left to future patches which will convert CoQueue,
CoMutex, and CoRwlock to expose AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c4d9d19645a484298a67e9021060bc7c2b081d0f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:49 2013 +0100
threadpool: drop global thread pool
Now that each AioContext has a ThreadPool and the main loop AioContext
can be fetched with bdrv_get_aio_context(), we can eliminate the concept
of a global thread pool from thread-pool.c.
The submit functions must take a ThreadPool* argument.
block/raw-posix.c and block/raw-win32.c use
aio_get_thread_pool(bdrv_get_aio_context(bs)) to fetch the main loop's
ThreadPool.
tests/test-thread-pool.c must be updated to reflect the new
thread_pool_submit() function prototypes.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 85d126f3ee666702ac514c66606c62d276c4341c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:48 2013 +0100
block: add bdrv_get_aio_context()
For now bdrv_get_aio_context() is just a stub that calls
qemu_aio_get_context() since the block layer is currently tied to the
main loop AioContext.
Add the stub now so that the block layer can begin accessing its
AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9b34277d23a6fb15eb9513006c96d8026beeea1f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:47 2013 +0100
aio: add a ThreadPool instance to AioContext
This patch adds a ThreadPool to AioContext. It's possible that some
AioContext instances will never use the ThreadPool, so defer creation
until aio_get_thread_pool().
The reason why AioContext should have the ThreadPool is because the
ThreadPool is bound to a AioContext instance where the work item's
callback function is invoked. It doesn't make sense to keep the
ThreadPool pointer anywhere other than AioContext. For example,
block/raw-posix.c can get its AioContext's ThreadPool and submit work.
Special note about headers: I used struct ThreadPool in aio.h because
there is a circular dependency if aio.h includes thread-pool.h.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f7311ccc630d925e7351e9440b7ad8bc6f0a51de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:46 2013 +0100
threadpool: add thread_pool_new() and thread_pool_free()
ThreadPool is tied to an AioContext through its event notifier, which
dictates in which AioContext the work item's callback function will be
invoked.
In order to support multiple AioContexts we need to support multiple
ThreadPool instances.
This patch adds the new/free functions. The free function deserves
special attention because it quiesces remaining worker threads. This
requires a new condition variable and a "stopping" flag to let workers
know they should terminate once idle.
We never needed to do this before since the global threadpool was not
explicitly destroyed until process termination.
Also stash the AioContext pointer in ThreadPool so that we can call
aio_set_event_notifier() in thread_pool_free(). We didn't need to hold
onto AioContext previously since there was no free function.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b811203cf2fbf83e26f8e8feb2c77784259a4cbd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:45 2013 +0100
threadpool: move globals into struct ThreadPool
Move global variables into a struct so multiple thread pools can be
supported in the future.
This patch does not change thread-pool.h interfaces. There is still a
global thread pool and it is not yet possible to create/destroy
individual thread pools. Moving the variables into a struct first makes
later patches easier to review.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5f3aa1ff4781f39e05b9892d58319a09fedc8918
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:44 2013 +0100
main-loop: add qemu_get_aio_context()
It is very useful to get the main loop AioContext, which is a static
variable in main-loop.c.
I'm not sure whether qemu_get_aio_context() will be necessary in the
future once devices focus on using their own AioContext instead of the
main loop AioContext, but for now it allows us to refactor code to
support multiple AioContext while actually passing the main loop
AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ed9ba7246758e3250849bfa0a055b4eb98fc5152
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Mar 12 16:05:43 2013 +0900
sheepdog: set io_flush handler in do_co_req
If an io_flush handler is not set, qemu_aio_wait doesn't invoke
callbacks.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0d6db300cd95339cec6b8ab2ef46bd7cdb040959
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Mar 12 16:05:42 2013 +0900
sheepdog: use non-blocking fd in coroutine context
Using a blocking socket in the coroutine context reduces the chance of
switching to other work. This patch makes the sheepdog driver use a
non-blocking fd always.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 381b487d54ba18c73df9db8452028a330058c505
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 6 18:02:01 2013 +0100
qcow2: make is_allocated return true for zero clusters
Otherwise, live migration of the top layer will miss zero clusters and
let the backing file show through. This also matches what is done in qed.
QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this
directly in qcow2_get_cluster_offset instead of replicating the test
everywhere.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3647917919dfce5f731755f0ac5955a64bc12570
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:35 2013 +0100
qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount()
We already flush when the function completes. There is no need to flush
after every compressed cluster.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9cb2860bd12e223036b61a1f5d1444e57b7efce
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:34 2013 +0100
qcow2: drop flush in update_cluster_refcount()
The update_cluster_refcount() function increments/decrements a cluster's
refcount and then returns the new refcount value.
There is no need to flush since both update_cluster_refcount() callers
already take care of this:
1. qcow2_alloc_bytes() calls update_cluster_refcount() when compressed
sectors will be appended to an existing cluster with enough free
space. qcow2_alloc_bytes() already flushes so there is no need to do
so in update_cluster_refcount().
2. qcow2_update_snapshot_refcount() sets a cache dependency on refcounts
if it needs to update L2 entries. It also flushes before completing.
Removing this flush significantly speeds up qcow2 snapshot creation:
$ qemu-img create -f qcow2 test.qcow2 -o size=50G,preallocation=metadata
$ time qemu-img snapshot -c new test.qcow2
Time drops from more than 3 minutes to under 1 second.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2154f24e4e3be4435f17fa4382032f95f19e2972
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:33 2013 +0100
qcow2: flush in qcow2_update_snapshot_refcount()
Users of qcow2_update_snapshot_refcount() do not flush consistently.
qcow2_snapshot_create() flushes but qcow2_snapshot_goto() and
qcow2_snapshot_delete() do not.
Solve this by moving the bdrv_flush() into
qcow2_update_snapshot_refcount().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c1f5bafd70a8d9366570a3de472ef108415cd631
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:32 2013 +0100
qcow2: set L2 cache dependency in qcow2_alloc_bytes()
Compressed writes use qcow2_alloc_bytes() to allocate space with byte
granularity. The affected clusters' refcounts will be incremented but
we do not need to flush yet.
Set a L2 cache dependency on the refcount block cache, so that the
refcounts get written out before the L2 updates.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6977f15561973d4a67b6aa46da88aa678c505dd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:31 2013 +0100
qcow2: flush refcount cache correctly in qcow2_write_snapshots()
Since qcow2 metadata is cached we need to flush the caches, not just the
underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file).
Also add the error return path when bdrv_flush() fails and move the
flush after checking for qcow2_alloc_clusters() failure so that the
qcow2_alloc_clusters() error return value takes precedence.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9991923b262dc35f6dd8393ab4853edd7fc3724f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:30 2013 +0100
qcow2: flush refcount cache correctly in alloc_refcount_block()
update_refcount() affects the refcount cache, it does not write to disk.
Therefore bdrv_flush(bs->file) does nothing. We need to flush the
refcount cache in order to write out the refcount updates!
While we're here also add error returns when qcow2_cache_flush() fails.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 74c4510a3cf7c369ee524c6f8fa8a87cf08ba608
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:08 2013 +0100
qcow2: Allow lazy refcounts to be enabled on the command line
qcow2 images now accept a boolean lazy_refcounts options. Use it like
this:
-drive file=test.qcow2,lazy_refcounts=on
If the option is specified on the command line, it overrides the default
specified by the qcow2 header flags that were set when creating the
image.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0006383e1549b6f9b264575d124c553efca19d62
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:07 2013 +0100
block: Support driver specific options in drive_init()
Any non-default -drive options are now passed down to the block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb44619b06c0bef20b658ff532cf850c16362ae7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:06 2013 +0100
blockdev: Keep a copy of DriveInfo.serial
Pointing to a QemuOpts element is surprising and can lead to subtle
use-after-free errors when the QemuOpts is freed after all options are
parsed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 376609cc6c03c2ffc8c323d804d27f95346cac08
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:05 2013 +0100
qemu-option: Add qemu_opts_absorb_qdict()
This adds a function that adds all entries of a QDict to a QemuOpts if
the keys are known, and leaves only the rest in the QDict.
This way a single QDict of -drive options can be processed in multiple
places (generic block layer, block driver, backing file block driver,
etc.), where each part picks the options it knows. If at the end of the
process the QDict isn't empty, the user specified an invalid option.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6ad491a4921557efc8815fe0ca5f11c6d8d587e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:04 2013 +0100
block: Add options QDict to bdrv_open_common()
The options are passed down to the block drivers, which are supposed to
remove all options they have processed. Anything that is left over in
the end is an unknown option and results in an error.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b382bc9a1504c7f7c112881695d08293b906b88f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:03 2013 +0100
Add qdict_clone_shallow()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit de9c0cec6c823071b903ebeebf1ee70b394ff46f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:02 2013 +0100
block: Add options QDict to bdrv_open() prototype
It doesn't do anything yet except storing the options QDict in the
BlockDriverState.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a86938f04b1abfd28e053b8c6f4b8ed9e4ffe08
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:01 2013 +0100
block: Add options QDict to .bdrv_open()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f306496183d81aed4b43762cf3bfd6e054de767
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 15:04:39 2013 +1000
qga/main.c: Don't use g_key_file_get/set_int64
These functions don't exist until glib version 2.26. QEMU is currently
only
mandating glib 2.12.
This patch replaces the functions with g_key_file_get/set_integer.
Unbreaks the build on Ubuntu 10.04 and RHEL 5.6.
Regression was introduced by 39097daf15c42243742667607d2cad2c9dc4f764
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363323879-682-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 139a4b63e3dd002de79d8c0a7c04fcc5bbeb1307
Merge: 3d34a41... 344bf1e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:54:37 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.5' into staging
* kraxel/chardev.5:
spice-qemu-char: Remove dead debugging code
spice-qemu-char: Fix name parameter issues after qapi-ifying
qemu-char.c: fix waiting for telnet connection message
Revert "hmp: Disable chardev-add and chardev-remove"
chardev: add udp support to qapi
chardev: add memory (ringbuf) support to qapi
chardev: add vc support to qapi
chardev: add spice support to qapi
chardev: add pipe support to qapi
chardev: add console support to qapi
chardev: switch pty init to qapi
chardev: switch parallel init to qapi
chardev: switch serial/tty init to qapi
chardev: add stdio support to qapi
chardev: switch file init to qapi
chardev: add braille support to qapi
chardev: add msmouse support to qapi
chardev: switch null init to qapi
chardev: add mux chardev support to qapi
chardev: add support for qapi-based chardev initialization
Conflicts:
ui/console.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d34a4110c58bba120bc3d7c96c4b9571994c2a8
Merge: 0ec4a8e... 0ad6773...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:58 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber (16) and Igor Mammedov (1)
# Via Andreas Färber
* afaerber/qom-cpu:
target-lm32: Update VMStateDescription to LM32CPU
target-arm: Override do_interrupt for ARMv7-M profile
cpu: Replace do_interrupt() by CPUClass::do_interrupt method
cpu: Pass CPUState to cpu_interrupt()
exec: Pass CPUState to cpu_reset_interrupt()
cpu: Move halted and interrupt_request fields to CPUState
target-cris/helper.c: Update Coding Style
target-i386: Update VMStateDescription to X86CPU
cpu: Introduce cpu_class_set_vmsd()
cpu: Register VMStateDescription through CPUState
stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY
vmstate: Make vmstate_register() static inline
target-sh4: Move PVR/PRR/CVR into SuperHCPUClass
target-sh4: Introduce SuperHCPU subclasses
cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()
monitor: Use qemu_get_cpu() in monitor_set_cpu()
cpu: Fix qemu_get_cpu() to return NULL if CPU not found
commit 0ec4a8e63ce5244cdb2aa8ef93427898e3f6631b
Merge: 6582d3e... cbb65fc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:30 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-3-11-2013' into staging
# By Laszlo Ersek (3) and others
# Via Michael Roth
* mdroth/qga-pull-3-11-2013:
qga: implement qmp_guest_set_vcpus() for Linux with sysfs
qga: implement qmp_guest_get_vcpus() for Linux with sysfs
qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
qga: add guest-set-time command
qga: add guest-get-time command
qemu-ga: use key-value store to avoid recycling fd handles after restart
qemu-ga: make guest-sync-delimited available during fsfreeze
qemu-ga: fix confusing GAChannelMethod comparison
qga: cast to int for DWORD type
commit 6582d3e8be98cf8171489793e094aee94a1276ce
Merge: c69b30e... e9a970a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:21 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Peter Maydell (5) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user/syscall.c: Don't warn about unimplemented get_robust_list
linux-user: Implement accept4
linux-user: Implement sendfile and sendfile64
linux-user: make bogus negative iovec lengths fail EINVAL
linux-user: Fix layout of usage table to account for option text
linux-user: Add more sparc syscall numbers
linux-user: Support setgroups syscall with no groups
linux-user: fix futex strace of FUTEX_CLOCK_REALTIME
linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex
linux-user: improve print_fcntl()
linux-user: Add Alpha socket constants
commit 344bf1e935163d8a4c3cce3ec4c636e1ebd035ce
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 13 14:59:44 2013 +0100
spice-qemu-char: Remove dead debugging code
Since commit d62e5f7036a018b2ad09f17ebd481bd28953d783
"chardev: add spice support to qapi"
It is impossible to set the debug parameter, so all the dprintf calls
are essentially nops. Since we've not needed the debug parameter in ages
this
is not a problem, if it later turns out we do need some more debugging
options
we can add more trace-points.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5e9b473a3d7fbb915df4b3f5487e5056762087f8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 13 10:41:31 2013 +0100
spice-qemu-char: Fix name parameter issues after qapi-ifying
The strings passed in through the qapi calls are dynamic memory, since
we want to have them stick around longer then just the call to
qemu_chr_open_spice_* we need to strdup them.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c69b30e8301a49cd198d54bb740a0c9adcd2a34a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Mar 13 12:21:04 2013 -0500
gtk: fix vc initialization
commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:32 2013 +0530
qemu-char: move text console init to console.c
Broke vc initialization for GTK. It's a simple typo.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e5545854dd1e2e3507b210ac0c1cbfca69ff0fcb
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Sun Mar 10 17:58:05 2013 +0400
qemu-char.c: fix waiting for telnet connection message
Current colon position in "waiting for telnet connection" message template
produces messages like:
QEMU waiting for connection on: telnet::127.0.0.16666,server
After moving a colon to the right, we will get a correct messages like:
QEMU waiting for connection on: telnet:127.0.0.1:6666,server
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 46920825402d38a4111cca8099d1261f8f80c03c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 08:46:10 2013 +0100
Revert "hmp: Disable chardev-add and chardev-remove"
This reverts commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7.
commit 3ecc059dcd06a79495d1bf171ef7f193eff79e98
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 27 14:10:47 2013 +0100
chardev: add udp support to qapi
This patch adds 'udp' support to qapi.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1da48c658a26d0c1444d05d8d3a545d311e01026
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 16:21:11 2013 +0100
chardev: add memory (ringbuf) support to qapi
This patch adds 'memory' support to qapi and also switches over
the memory chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 702ec69cc1aa87a1e53d1b066a38a9eb0fa7845b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 15:52:32 2013 +0100
chardev: add vc support to qapi
This patch adds 'vc' support to qapi and also switches over the
vc chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd153e2aa2f0ec39c04c2b732ebebfc6d4766986
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 12:39:06 2013 +0100
chardev: add spice support to qapi
This patch adds 'spicevmc' and 'spiceport' support to qapi and also
switches over the spice chardev initialization to the new qapi code
path.
commit 548cbb36f415d6086f5252309ab5aa7634497ab5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 11:50:55 2013 +0100
chardev: add pipe support to qapi
This patch adds 'pipe' support to qapi and also switches over the
pipe chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d9ac374f0def9a65340c1768c08e3271f4d7798d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 11:48:06 2013 +0100
chardev: add console support to qapi
This patch adds 'console' support to qapi and also switches over the
console chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e68c5958668596a5023e30ddf8368410878f7682
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 10:16:46 2013 +0100
chardev: switch pty init to qapi
This patch switches over the pty chardev initialization
to the new qapi code path.
Bonus: Taking QemuOpts out of the loop allows some nice
cleanups along the way.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dc3750976914b0900446e6a5434919a0fa2ba028
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 16:17:01 2013 +0100
chardev: switch parallel init to qapi
This patch switches over the parallel chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0f1cb51da7112fa62c6cde62f546714a2c672f54
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 15:48:05 2013 +0100
chardev: switch serial/tty init to qapi
This patch switches over the serial chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7c358031eac9a41c215900020acf8600d33138aa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:34:58 2013 +0100
chardev: add stdio support to qapi
This patch adds 'stdio' support to qapi and also switches over the
stdio chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 846e2e49388aa42e030af3d5dd60a6009b80a369
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:07:14 2013 +0100
chardev: switch file init to qapi
This patch switches over the 'file' chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2d57286da6e57aacf3b2d0d3354d543ed100a485
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:56:10 2013 +0100
chardev: add braille support to qapi
This patch adds 'braille' support to qapi and also switches over
the braille chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f5a51cab2afd1124f0988081207d506fbec629b4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:58:44 2013 +0100
chardev: add msmouse support to qapi
This patch adds 'msmouse' support to qapi and also switches over
the msmouse chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 80dca9e643d11b54f1b9bafbaefeadfb1099e023
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:41:26 2013 +0100
chardev: switch null init to qapi
This patch switches over the 'null' chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit edb2fb3cc8b85ab956f366fc036ac12853984dae
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 16:16:42 2013 +0100
chardev: add mux chardev support to qapi
This adds mux chardev support to the qapi and also makes the qapi-based
chardev creation path handle the "mux=on" option correctly.
commit 2c5f488293c7d0cd095635c74157c2526e2c4947
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:39:12 2013 +0100
chardev: add support for qapi-based chardev initialization
This patch add support for a new way to initialize chardev devices.
Instead of calling a initialization function with a QemuOpts we will
now create a (qapi) ChardevBackend, optionally call a function to
fill ChardevBackend from QemuOpts, then go create the chardev using
the new qapi code path which is also used by chardev-add.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8ca761f661a7cc972bc6bcf938feca6c538100f0
Author: Peter Feiner <peter@xxxxxxxxxxxxxx>
Date: Mon Mar 4 13:54:25 2013 -0500
exec: make -mem-path filenames deterministic
Adds ramblocks' names to their backing files when using -mem-path. Eases
introspection and debugging.
Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx>
Message-id: 1362423265-15855-1-git-send-email-peter@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4524051c32190c1dc13ec2ccd122fd120dbed736
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 8 11:42:24 2013 +0100
Add search path support for qemu data files.
This patch allows to specify multiple directories where qemu should look
for data files. To implement that the behavior of the -L switch is
slightly different now: Instead of replacing the data directory the
path specified will be appended to the data directory list. So when
specifiying -L multiple times all directories specified will be checked,
in the order they are specified on the command line, instead of just the
last one.
Additionally the default paths are always appended to the directory
data list. This allows to specify a incomplete directory (such as the
seabios out/ directory) via -L. Anything not found there will be loaded
from the default paths, so you don't have to create a symlink farm for
all the rom blobs.
For trouble-shooting a tracepoint has been added, logging which blob
has been loaded from which location.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1362739344-8068-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1272ec881440bf579c9d3c9cd0745b2551ce6a7f
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:55 2013 -0500
Build TPM passthrough for i386 and x86_64 targets
Build the TPM passthrough driver only for i386 and x86_64 targets
using the default-configs files for those targets with softmmu.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-8-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 92dcc234ec1f266fb5d59bed77d66320c2c75965
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:54 2013 -0500
Add support for cancelling of a TPM command
This patch adds support for cancelling an executing TPM command.
In Linux for example a user can cancel a command through the TPM's
sysfs 'cancel' entry using
echo "1" > /sysfs/class/misc/tpm0/device/cancel
This patch propagates the cancellation of a command inside a VM
to the host TPM's sysfs entry.
It also uses the possibility to cancel the command before QEMU VM
shutdown or reboot, which helps in preventing QEMU from hanging while
waiting for the completion of the command.
To relieve higher layers or users from having to determine the TPM's
cancel sysfs entry, the driver searches for the entry in well known
locations.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-7-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4549a8b7ee3c47155c09582f31086f7d0ba61fc4
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:53 2013 -0500
Add a TPM Passthrough backend driver implementation
This patch is based of off version 9 of Stefan Berger's patch series
"QEMU Trusted Platform Module (TPM) integration"
and adds a new backend driver for it.
This patch adds a passthrough backend driver for passing commands sent to
the
emulated TPM device directly to a TPM device opened on the host machine.
Thus it is possible to use a hardware TPM device in a system running on
QEMU,
providing the ability to access a TPM in a special state (e.g. after a
Trusted
Boot).
This functionality is being used in the acTvSM Trusted Virtualization
Platform
which is available on [1].
Usage example:
qemu-system-x86_64 -tpmdev passthrough,id=tpm0,path=/dev/tpm0 \
-device tpm-tis,tpmdev=tpm0 \
-cdrom test.iso -boot d
Some notes about the host TPM:
The TPM needs to be enabled and activated. If that's not the case one
has to go through the BIOS/UEFI and enable and activate that TPM for TPM
commands to work as expected.
It may be necessary to boot the kernel using tpm_tis.force=1 in the boot
command line or 'modprobe tpm_tis force=1' in case of using it as a
module.
Regards,
Andreas Niederl, Stefan Berger
[1] http://trustedjava.sourceforge.net/
Signed-off-by: Andreas Niederl <andreas.niederl@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-6-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab214c2960e3a6d2a86b1ff53e9ba2505d173f93
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:52 2013 -0500
Build the TPM frontend code
Build the TPM frontend code that has been added so far.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-5-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8db7c4152188a13b4de6fbab158d61e5dd50e7ec
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:51 2013 -0500
Add a debug register
This patch uses the possibility to add a vendor-specific register and
adds a debug register useful for dumping the TIS's internal state. This
register is only active in a debug build (#define DEBUG_TIS).
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-4-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edff867807fefd9b8cc2bfd0e88a957987225f55
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:50 2013 -0500
Add TPM (frontend) hardware interface (TPM TIS) to QEMU
This patch adds the main code of the TPM frontend driver, the TPM TIS
interface, to QEMU. The code is largely based on the previous
implementation
for Xen but has been significantly extended to meet the standard's
requirements, such as the support for changing of localities and all the
functionality of the available flags.
Communication with the backend (i.e., for Xen or the libtpms-based one)
is cleanly separated through an interface which the backend driver needs
to implement.
Whenever the frontend has collected a complete packet, it will submit
a task to the backend, which then starts processing the command. Once
the result has been returned, the backend invokes a callback function
(tpm_tis_receive_cb()).
Testing the proper functioning of the different flags and localities
cannot be done from user space when running in Linux for example, since
access to the address space of the TPM TIS interface is not possible. Also
the Linux driver itself does not exercise all functionality. So, for
testing there is a fairly extensive test suite as part of the SeaBIOS
patches
since from within the BIOS one can have full access to all the TPM's
registers.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-3-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1a0cf738dab24fbfd8e9225b7f3df43dcfafc06
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:49 2013 -0500
Support for TPM command line options
This patch adds support for TPM command line options.
The command line options supported here are
./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
-device tpm-tis,tpmdev=<id>,id=<other id>
and
./qemu-... -tpmdev help
where the latter works similar to -soundhw help and shows a list of
available TPM backends (for example 'passthrough').
Using the type parameter, the backend is chosen, i.e., 'passthrough' for
the
passthrough driver. The interpretation of the other parameters along
with determining whether enough parameters were provided is pushed into
the backend driver, which needs to implement the interface function
'create' and return a TPMDriverOpts structure if the VM can be started or
'NULL' if not enough or bad parameters were provided.
Monitor support for 'info tpm' has been added. It for example prints the
following:
(qemu) info tpm
TPM devices:
tpm0: model=tpm-tis
\ tpm0:
type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-2-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2362ecc5c6f4073f7f4c9c3f45c335aa8a2261bb
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Mon Mar 4 13:06:56 2013 +0100
virtio-ccw: Wire up virtio-rng.
Make virtio-rng devices available for s390-ccw-virtio machines.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b8a205f2ed222a5d24bf7e8346919abee861d026
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Feb 20 13:02:07 2013 +0100
virtio-ccw: remove qdev_unparent in unplug routing
This patch fixes unplugging a virtio-ccw device. We no
longer need to do that in virtio-ccw since common code does now
proper handling.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0ad6773f1151c9e172b0b714aada78655dda4cf4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:45:29 2013 +0100
target-lm32: Update VMStateDescription to LM32CPU
Add a vmstate_lm32_cpu referencing the previous VMStateDescription as a
sub-struct and hook it up to CPUClass::vmsd. Drop cpu_{save,load}().
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e6f010cc27177c97596455b2e2b589bd19b2a486
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:33:14 2013 +0100
target-arm: Override do_interrupt for ARMv7-M profile
Enable ARMCPUInfo to specify a custom class_init functions.
Introduce arm_v7m_class_init() and use it for "cortex-m3" model.
Instead of forwarding from arm_cpu_do_interrupt() to do_interrupt_v7m(),
override CPUClass::do_interrupt with arm_v7m_cpu_do_interrupt()
in arm_v7m_class_init().
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 97a8ea5a3ae7938cb54fd4dc19d3a413024bc6c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 10:57:51 2013 +0100
cpu: Replace do_interrupt() by CPUClass::do_interrupt method
This removes a global per-target function and thus takes us one step
closer to compiling multiple targets into one executable.
It will also allow to override the interrupt handling for certain CPU
families.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c3affe5670e5d0df8a7e06f1d6e80853633146df
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:03:43 2013 +0100
cpu: Pass CPUState to cpu_interrupt()
Move it to qom/cpu.h to avoid issues with include order.
Change pc_acpi_smi_interrupt() opaque to X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d8ed887bdcd29ce2e967f8b15a6a2b6dcaa11cd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 22:30:20 2013 +0100
exec: Pass CPUState to cpu_reset_interrupt()
Move it to qom/cpu.c to avoid build failures depending on include order
of cpu-qom.h and exec/cpu-all.h.
Change opaques of various ..._irq_handler() functions to the
appropriate CPU type to facilitate using cpu_reset_interrupt().
Fix Coding Style issues while at it (missing braces, indentation).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 259186a7d2f7184efc96ae99bc5658e6159f53ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 18:51:17 2013 +0100
cpu: Move halted and interrupt_request fields to CPUState
Both fields are used in VMState, thus need to be moved together.
Explicitly zero them on reset since they were located before
breakpoints.
Pass PowerPCCPU to kvmppc_handle_halt().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21317bc222ef4cdca594b1856eea62f3dfbbfb6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 17:37:28 2013 +0100
target-cris/helper.c: Update Coding Style
Reindent, add missing braces and drop/adjust whitespace.
Prepares for CPUArchState-to-CPUState field movements in
cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt().
The remaining functions were so minor that they can be fixed in one go.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f56e3a147683f0ed69d8339e497b7a36e3260c86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:38:08 2013 +0100
target-i386: Update VMStateDescription to X86CPU
Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd.
Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca91b15f2d2e43eba8f9a3ec5090f0a11b861ba4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 21:50:10 2013 +0100
cpu: Introduce cpu_class_set_vmsd()
This setter avoids redefining each VMStateDescription value to
vmstate_dummy by not referencing the value for CONFIG_USER_ONLY.
Suggested-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b170fce3dd06372f7bfec9a780ebcb1fce6d57e4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 20:23:22 2013 +0100
cpu: Register VMStateDescription through CPUState
In comparison to DeviceClass::vmsd, CPU VMState is split in two,
"cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1.
Therefore add a CPU-specific CPUClass::vmsd field.
Unlike the legacy CPUArchState registration, rather register CPUState.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit c71c3e99b8897323af8c2fe0b9851610cd148538
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 17:56:20 2013 +0100
stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7650eab429a033c23947f20d1ae14c4d1e719a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 21:41:59 2013 +0100
vmstate: Make vmstate_register() static inline
This avoids adding a duplicate stub for CONFIG_USER_ONLY.
Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b350ab758342c764a6ead6ef064b15a72c830808
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Nov 20 16:15:47 2012 +0100
target-sh4: Move PVR/PRR/CVR into SuperHCPUClass
They are never changed once initialized, and moving them to the class
will allow to inspect them before instantiating.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1b382e77d8693955d8838c19b33aeb214724f9b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Nov 19 02:42:18 2012 +0100
target-sh4: Introduce SuperHCPU subclasses
Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive
class lookup.
List CPUs by iterating over TYPE_SUPERH_CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 151d1322a3a0c865089c09aeb50f18215121921a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:41:49 2013 +0100
cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()
No functional change, just less usages of first_cpu and next_cpu fields.
env is passed to cpu_memory_rw_debug(), which in turn passes it to
target-specific cpu_get_phys_page_debug(). Changing both would be a
larger refactoring, so defer that by using env_ptr for now.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1c8bb3cc7b98ad07a028567b86fc6baa5c5a0b7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 17:01:09 2013 +0100
monitor: Use qemu_get_cpu() in monitor_set_cpu()
No functional change, just a reduction of CPU loops.
The mon_cpu field is left untouched for now since changing that requires
a number of larger prerequisites, including cpu_synchronize_state() and
mon_get_cpu().
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d76fddaeeec674cab4802b585db6c9fb3a0066dc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Mar 7 19:12:43 2013 +0100
cpu: Fix qemu_get_cpu() to return NULL if CPU not found
Commit 55e5c2850 breaks CPU not found return value, and returns
CPU corresponding to the last non NULL env.
Fix it by returning CPU only if env is not NULL, otherwise CPU is
not found and function should return NULL.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cbb65fc27fd97a3b020df7fce9db4ce09e3956ad
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:31 2013 +0100
qga: implement qmp_guest_set_vcpus() for Linux with sysfs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d2baff62538d6c638c1c0d2b3fc900060a90dd78
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:30 2013 +0100
qga: implement qmp_guest_get_vcpus() for Linux with sysfs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 70e133a7080116340b1a8898893c6d455bd47299
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:29 2013 +0100
qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a1bca57f758a1ebe2ee808aa6c94f7687f9cfdd0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 5 17:39:12 2013 +0800
qga: add guest-set-time command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*added stub for w32
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6912e6a94cb0a1d650271103efbc3ac2299e4fd0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 5 17:39:11 2013 +0800
qga: add guest-get-time command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*added stub for w32
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 39097daf15c42243742667607d2cad2c9dc4f764
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 11:40:27 2013 -0600
qemu-ga: use key-value store to avoid recycling fd handles after restart
Hosts hold on to handles provided by guest-file-open for periods that can
span beyond the life of the qemu-ga process that issued them. Since these
are issued starting from 0 on every restart, we run the risk of issuing
duplicate handles after restarts/reboots.
As a result, users with a stale copy of these handles may end up
reading/writing corrupted data due to their existing handles effectively
being re-assigned to an unexpected file or offset.
We unfortunately do not issue handles as strings, but as integers, so a
solution such as using UUIDs can't be implemented without introducing a
new interface.
As a workaround, we fix this by implementing a persistent key-value store
that will be used to track the value of the last handle that was issued
across restarts/reboots to avoid issuing duplicates.
The store is automatically written to the same directory we currently
set via --statedir to track fsfreeze state, and so should be applicable
for stable releases where this flag is supported.
A follow-up can use this same store for handling fsfreeze state, but
that change is cosmetic and left out for now.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
* fixed guest_file_handle_add() return value from uint64_t to int64_t
commit c5dcb6ae23a3ed7a01bae1cd75ce02abea31db5e
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 11:49:38 2013 -0600
qemu-ga: make guest-sync-delimited available during fsfreeze
We currently maintain a whitelist of commands that are safe during
fsfreeze. During fsfreeze, we disable all commands that aren't part of
that whitelist.
guest-sync-delimited meets the criteria for being whitelisted, and is
also required for qemu-ga clients that rely on guest-sync-delimited for
re-syncing the channel after a timeout.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9e7c23db13b23febac4ba2d22419aa8f1884929e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 19 15:12:34 2013 +0100
qemu-ga: fix confusing GAChannelMethod comparison
In commit 7868e26e5930f49ca942311885776b938dcf3b77
("qemu-ga: add initial win32 support") support was added for qemu-ga on
Windows using virtio-serial. Other channel methods (ISA serial and UNIX
domain socket) are not supported on Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ed2cbf74446b008f9de526a50e4b06265635120c
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 28 12:49:09 2013 +0800
qga: cast to int for DWORD type
This patch fixes a compiler warning when cross-build:
qga/service-win32.c: In function 'printf_win_error':
qga/service-win32.c:32:5: warning: format '%d' expects argument of type
'int',
but argument 3 has type 'DWORD' [-Wformat]
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d
Merge: bba18e2... ee0b44a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 11 08:30:34 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Paolo Bonzini (40) and others
# Via Juan Quintela
* quintela/migration.next: (46 commits)
page_cache: dup memory on insert
page_cache: fix memory leak
Fix cache_resize to keep old entry age
Fix page_cache leak in cache_resize
migration: inline migrate_fd_close
migration: eliminate s->migration_file
migration: move contents of migration_close to migrate_fd_cleanup
migration: move rate limiting to QEMUFile
migration: small changes around rate-limiting
migration: use qemu_ftell to compute bandwidth
migration: use QEMUFile for writing outgoing migration data
migration: use QEMUFile for migration channel lifetime
qemu-file: simplify and export qemu_ftell
qemu-file: add writable socket QEMUFile
qemu-file: check exit status when closing a pipe QEMUFile
qemu-file: fsync a writable stdio QEMUFile
migration: merge qemu_popen_cmd with qemu_popen
migration: use qemu_file_rate_limit consistently
migration: remove useless qemu_file_get_error check
migration: detect error before sleeping
...
commit bba18e23f7266d63734fd31045fec7794cc34a38
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 11 11:31:26 2013 +0100
arm: fix compilation with CONFIG_FDT
A conflict was resolved the wrong way when merging commit 320ba5f (build:
always link device_tree.o into emulators if libfdt available, 2013-02-05).
This causes a build failure for the arm-softmmu target due to multiply
defined symbol.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1362997886-9470-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9a970a8316f9f86a6c800a9a90175bd593f862c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 04:34:54 2013 +0000
linux-user/syscall.c: Don't warn about unimplemented get_robust_list
The nature of the kernel ABI for the get_robust_list and set_robust_list
syscalls means we cannot implement them in QEMU. Make get_robust_list
silently return ENOSYS rather than using the default "print message and
then fail ENOSYS" code path, in the same way we already do for
set_robust_list, and add a comment documenting why we do this.
This silences warnings which were being produced for emulating
even trivial programs like 'ls' in x86-64-on-x86-64.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit a94b4987e243d9afebf56a098afeddae133276b5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 04:35:04 2013 +0000
linux-user: Implement accept4
Implement the accept4 syscall (which is identical to accept
but has an additional flags argument).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit a8fd1aba8584cbe68583907ce766fd8ecfe81f4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 07:31:55 2013 +0000
linux-user: Implement sendfile and sendfile64
Implement the sendfile and sendfile64 syscalls. This implementation
passes all the LTP test cases for these syscalls.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dfae8e00f8ddeedcda24bd28f71d4fd2a9f988b8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 07:58:41 2013 +0000
linux-user: make bogus negative iovec lengths fail EINVAL
If the guest passes us a bogus negative length for an iovec, fail
EINVAL rather than proceeding blindly forward. This fixes some of
the error cases tests for readv and writev in the LTP.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 63ec54d7b319824df8b60cfe25afdfb607ce3905
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 14 08:46:43 2013 +0000
linux-user: Fix layout of usage table to account for option text
The linux-user usage message attempts to line up the columns in
its table by calculating the maximum width of any item in them.
However for the 'Argument' column it was only accounting for the
length of the option switch (eg "-d"), not the additional example
text (eg "item[,...]"). This currently has no adverse effects
because the widest item in the column happens to be the argumentless
"-singlestep" option, but improving the "-d" option help to read
"-d item[,...]" exceeds that limit.
Fix this by correctly calculating maxarglen as the width of the
first column text including a possible option argument, and
adjusting its uses to match.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ee0b44aa9d9450e873a761ca2030b2fa3ec52eb0
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 19:12:04 2013 +0200
page_cache: dup memory on insert
The page cache frees all data on finish, on resize and
if there is collision on insert. So it should be the caches
responsibility to dup the data that is stored in the cache.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 32a1c08b60a8ac0e63b54a5793a26b5e32b36618
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 19:12:03 2013 +0200
page_cache: fix memory leak
XBZRLE encoded migration introduced a MRU page cache
meachnism. Unfortunately, cached items where never freed in
case of a collision in the page cache on cache_insert().
This lead to out of memory conditions during XBZRLE migration
if the page cache was small and there where a lot of collisions
in the cache.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a0ee2031dbf5f0183412d4b20a30cbfd404616a8
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Feb 25 19:12:02 2013 +0200
Fix cache_resize to keep old entry age
Instead of using cache_insert do the update itself
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0db65d624e0211a43c011579d6607a50d8f06082
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Feb 25 19:12:01 2013 +0200
Fix page_cache leak in cache_resize
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f190a0641f5b06a462b62955c15c77b8fb3990c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:48 2013 +0100
migration: inline migrate_fd_close
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b352365f5abec075dede0222f1bc37674d64117c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:47 2013 +0100
migration: eliminate s->migration_file
The indirection is useless now. Backends can open s->file directly.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 404a7c05bcc20c51fe1a9bf2deaeb4d6b658d3a3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:46 2013 +0100
migration: move contents of migration_close to migrate_fd_cleanup
With this patch, the migration_file is not needed anymore.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1964a397063967acc5ce71a2a24ed26e74824ee1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:45 2013 +0100
migration: move rate limiting to QEMUFile
Rate limiting is now simply a byte counter; client call
qemu_file_rate_limit() manually to determine if they have to exit.
So it is possible and simple to move the functionality to QEMUFile.
This makes the remaining functionality of s->file redundant;
in the next patch we can remove it and write directly to
s->migration_file.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 442773cef15092b5927851237850760345d2cf16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:44 2013 +0100
migration: small changes around rate-limiting
This patch extracts a few small changes from the next patch, which
are unrelated to adding generic rate-limiting functionality to
QEMUFile. Make migration_set_rate_limit a simple accessor, and
use qemu_file_set_rate_limit consistently. Also fix a typo where
INT_MAX should have been SIZE_MAX.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit be7172e22a9c3bc448894e57f6c2d1af6ffd47fd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:43 2013 +0100
migration: use qemu_ftell to compute bandwidth
Prepare for when s->bytes_xfer will be removed.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e6a1cf21328802f3a83e84e893b8cb8a468141cc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:42 2013 +0100
migration: use QEMUFile for writing outgoing migration data
Second, drop the file descriptor indirection, and write directly to the
QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f8bbc1286337a8506162b5785babe6f2a7de2476
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:41 2013 +0100
migration: use QEMUFile for migration channel lifetime
As a start, use QEMUFile to store the destination and close it.
qemu_get_fd gets a file descriptor that will be used by the write
callbacks.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3f2d38faab97f4d676c41868a8243997b2aab7cb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:40 2013 +0100
qemu-file: simplify and export qemu_ftell
Force a flush when qemu_ftell is called. This simplifies the buffer magic
(it also breaks qemu_ftell for input QEMUFiles, but we never use it).
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0cc3f3ccc9d29acc94b995430518bda1c7c01bef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:39 2013 +0100
qemu-file: add writable socket QEMUFile
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 13c7b2da073ec83cb47f9582149c8d28bb038e73
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:38 2013 +0100
qemu-file: check exit status when closing a pipe QEMUFile
This is what exec_close does. Move this to the underlying QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ce39ee3184a02eca7f9529cc19b1582f6f704c70
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:37 2013 +0100
qemu-file: fsync a writable stdio QEMUFile
This is what fd_close does. Prepare for switching to a QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 817b9ed5eb300dbb434d752da416441028539a96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:36 2013 +0100
migration: merge qemu_popen_cmd with qemu_popen
There is no reason for outgoing exec migration to do popen manually
anymore (the reason used to be that we needed the FILE* to make it
non-blocking). Use qemu_popen_cmd.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a0ff044b8ea81908cd8fe5819ce33780f53f58ee
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:35 2013 +0100
migration: use qemu_file_rate_limit consistently
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit db2f25309af1af0f27e0ddec4acc3b66837fa668
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:34 2013 +0100
migration: remove useless qemu_file_get_error check
migration_put_buffer is never called if there has been an error.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit fd45ee2c643bb3d55de5c54b50c23859ca631a9f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:33 2013 +0100
migration: detect error before sleeping
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 059f896cefb2776181e39d9ba69345bd9d07d52b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:32 2013 +0100
migration: eliminate last_round
We will go around the loop exactly once after setting last_round.
Eliminate the variable altogether.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 05f28b837c6bd6124abab2496ce15c07a334a5ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:31 2013 +0100
qemu-file: make qemu_fflush and qemu_file_set_error private again
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5f496a1be3d15f192be1ab1fed3a3278fd5a91a1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 22 17:36:30 2013 +0100
Rename buffered_ to migration_
This is consistent once that we have moved everything to migration.c
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit edaae611f6df0d66a8b5a90c84123b72980c7a22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:29 2013 +0100
migration: yay, buffering is gone
Buffering was needed because blocking writes could take a long time
and starve other threads seeking to grab the big QEMU mutex.
Now that all writes (except within _complete callbacks) are done
outside the big QEMU mutex, we do not need buffering at all.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9b0950375277467fd74a9075624477ae43b9bb22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:28 2013 +0100
migration: run setup callbacks out of big lock
Only the migration_bitmap_sync() call needs the iothread lock.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 32c835ba3984728c22d4e73cdb595090a60f437e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:27 2013 +0100
migration: run pending/iterate callbacks out of big lock
This makes it possible to do blocking writes directly to the socket,
with no buffer in the middle. For RAM, only the migration_bitmap_sync()
call needs the iothread lock. For block migration, it is needed by
the block layer (including bdrv_drain_all and dirty bitmap access),
but because some code is shared between iterate and complete, all of
mig_save_device_dirty is run with the lock taken.
In the savevm case, the iterate callback runs within the big lock.
This is annoying because it complicates the rules. Luckily we do not
need to do anything about it: the RAM iterate callback does not need
the iothread lock, and block migration never runs during savevm.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 8c8de19d93444536d3291e6ab83e2bcf61dd2d0c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:26 2013 +0100
migration: reorder SaveVMHandlers members
This groups together the callbacks that later will have similar
locking rules.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 52e850dea988585c3d693fd9cd4a4c38968d89b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:25 2013 +0100
block-migration: add lock
Some state is shared between the block migration code and its AIO
callbacks. Once block migration will run outside the iothread,
the block migration code and the AIO callbacks will be able to
run concurrently. Protect the critical sections with a separate
lock. Do the same for completed_sectors, which can be used from
the monitor.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 323920c4eac01de74cf2b5e941c97ca9b2d36b7f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:24 2013 +0100
block-migration: document usage of state across threads
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 13197e3cbaba0ba693dd2855a32182ca584fa97e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:23 2013 +0100
block-migration: small preparatory changes for locking
Some small changes that will simplify the positioning of lock/unlock
primitives.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a55ce1c851b5802569fb00b2a645a73c03fd7c86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:22 2013 +0100
block-migration: remove variables that are never read
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bb1fadc444ff967554c41d96cb9dde110e8aece9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:21 2013 +0100
migration: cleanup migration (including thread) in the iothread
Perform final cleanup in a bottom half, and add joining the thread to
the series of cleanup actions.
migrate_fd_error remains for connection error, but it doesn't need
to cleanup anything anymore.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f4410a5d9926886c36d9fa9fdd969d0469d62724
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:20 2013 +0100
migration: prepare to access s->state outside critical sections
Accessing s->state outside the big QEMU lock will simplify a bit the
locking/unlocking of the iothread lock.
We need to keep the lock in migrate_fd_error and migrate_fd_completed,
however, because they call migrate_fd_cleanup.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c09e5bb1d88ef38986bac7c6ed59dbd732cc4771
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Feb 22 17:36:19 2013 +0100
migration: add migrate_set_state tracepoint
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a3fa1d78cbae2259491b17689812edcb643a3b30
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:18 2013 +0100
migration: do not nest flushing of device data
Completion of migration is currently done with a "nested" loop that
invokes buffered_flush: migrate_fd_completed is called by
buffered_file_thread, which calls migrate_fd_cleanup, which calls
buffered_close (via qemu_fclose), which flushes the buffer.
Simplify this, by reusing the buffered_flush call of buffered_file_thread.
Then if qemu_savevm_state_complete was called, and the buffer is empty
(including the QEMUFile buffer, for which we need the previous patch), we
are done.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dba433c03a0f5dc22a459435dd89557886298921
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:17 2013 +0100
migration: simplify error handling
Always use qemu_file_get_error to detect errors, since that is how
QEMUFile itself drops I/O after an error occurs. There is no need
to propagate and check return values all the time.
Also remove the "complete" member, since we know that it is set (via
migrate_fd_cleanup) only when the state changes.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 63dfbd7ee03185c181a0791958ec9c8337089b55
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:16 2013 +0100
migration: use qemu_file_set_error
Remove the return value of buffered_flush, pass it via the error code
of s->file. Once this is done, the error can be retrieved simply
via migrate_fd_close's call to qemu_fclose.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f5821518ed6d49aae9fd0aa6169d2d74bb83054c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:15 2013 +0100
migration: flush all data to fd when buffered_flush is called
Including data that resided in the QEMUFile's own buffer.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4eb938102b3d533e142de23e255e46da1326fc5a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:14 2013 +0100
qemu-file: temporarily expose qemu_file_set_error and qemu_fflush
Right now, migration cannot entirely rely on QEMUFile's automatic
drop of I/O after an error, because it does its "real" I/O outside
the put_buffer callback. To fix this until buffering is gone, expose
qemu_file_set_error which we will use in buffered_flush.
Similarly, buffered_flush is not a complete flush because some data may
still reside in the QEMUFile's own buffer. This somewhat complicates the
process of closing the migration thread. Again, when buffering is gone
buffered_flush will disappear and calling qemu_fflush will not be needed;
in the meanwhile, we expose the function for use in migration.c.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 47c8c17af883b5bd0f147cfcec8d7ef8ff76023b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:13 2013 +0100
migration: use qemu_file_set_error to pass error codes back to
qemu_savevm_state
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 93bf21044c38134bc7d35577b675d9f2bdcb8419
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:12 2013 +0100
qemu-file: pass errno from qemu_fflush via f->last_error
This is done by almost all callers of qemu_fflush, move the code
directly to qemu_fflush.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d418cf57a3e699746ef0bfa772bbe8c7e17cebb5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:11 2013 +0100
block-migration: remove useless calls to blk_mig_cleanup
Now that the cancel callback is called consistently for all errors,
we can avoid doing its work in the other callbacks.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 04943ebaa9e4f5f9ac080198a7b0d25c6d7ac444
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:10 2013 +0100
migration: push qemu_savevm_state_cancel out of qemu_savevm_state_*
This is useful, because it lets us keep the cancellation callbacks
inside the big lock while pushing the others out.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7a2c17216cd5ae4c22844123b8e9360d517932f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:09 2013 +0100
migration: move more error handling to migrate_fd_cleanup
The next patch will add more cases where qemu_savevm_state_cancel
needs to be called; prepare for that already, the function can be
called twice with no ill effect.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 891518abd804401978e402d588733e282be960ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:08 2013 +0100
migration: always use vm_stop_force_state
vm_stop_force_state does:
if (runstate_is_running()) {
vm_stop(state);
} else {
runstate_set(state);
}
migration.c does:
if (runstate_is_running()) {
vm_stop(state);
} else {
vm_stop_force_state(state);
}
The code run is the same even if we always use vm_stop_force_state in
migration.c.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5da5aad068def65b5e278a6380192d4bfe279585
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:07 2013 +0100
migration: simplify while loop
Unify the goto around the loop, with the exit condition at the end of it.
Both can be expressed as "while (ret >= 0)".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d95fda86b0d69fc4010f6bb37aa4fd38f1addff
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Thu Jan 3 22:10:26 2013 -0500
linux-user: Add more sparc syscall numbers
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f2b79ce9dc65753c6833921dd5ef6fa59632851f
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Sat Feb 2 18:04:48 2013 -0500
linux-user: Support setgroups syscall with no groups
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bfb669f39f2ecd854992924ced20b00163509043
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Sat Feb 23 16:14:08 2013 -0700
linux-user: fix futex strace of FUTEX_CLOCK_REALTIME
Handle same as existing FUTEX_PRIVATE_FLAG.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit cce246e0a21577bb2372ab3a7d6789371e087de9
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Sat Feb 23 16:14:07 2013 -0700
linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex
Upstream libc has recently changed to start using
FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this
is causing do_futex to return -TARGET_ENOSYS.
Pass bitset in val3 to sys_futex which will be
ignored by kernel for the FUTEX_WAIT case.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d95ec14fd20ff69881ab26e7ebd1dab4eb851d97
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Mon Dec 31 21:00:11 2012 +0100
linux-user: improve print_fcntl()
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ec00b51a6c3e6c515c52e6e4564d915ee1f19022
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Wed Jan 2 21:06:35 2013 -0500
linux-user: Add Alpha socket constants
Without these, some networking programs will not work
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fa3889162ff724d09eb6b6bd06ba54769100a77f
Merge: 6e72a00... a4960ef...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 20:39:17 2013 -0500
Merge remote-tracking branch 'origin/master' into staging
* origin/master: (75 commits)
tcg: Don't make exitreq flag a local temporary
Makefile: Add subdir dependency on config-devices-all.mak
make_device_config.sh: Emit dependency file to directory where included
Revert "make_device_config.sh: Fix target path in generated dependency
file"
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
s390/css: Fix subchannel detection
Allow virtio-net features for legacy s390 virtio bus
s390: virtio-ccw maintainer
s390: simplify kvm cpu init
pseries: Add compatible property to root of device tree
target-ppc: Move CPU aliases out of translate_init.c
target-ppc: Report CPU aliases for QMP
target-ppc: List alias names alongside CPU models
target-ppc: Make host CPU a subclass of the host's CPU model
PPC: xnu kernel expects FLUSH to be cleared on STOP
PPC: Fix dma interrupt
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
target-ppc: Synchronize FPU state with KVM
target-ppc: Add mechanism for synchronizing SPRs with KVM
Save memory allocation in the elf loader
...
commit 6e72a00f909dcd093fbdd1faa2b3c8caa1697a6c
Merge: 6a245c6... 7a2771d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:39:07 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
* bonzini/hw-dirs:
sh: move files referencing CPU to hw/sh4/
ppc: move more files to hw/ppc
ppc: move files referencing CPU to hw/ppc/
m68k: move files referencing CPU to hw/m68k/
i386: move files referencing CPU to hw/i386/
arm: move files referencing CPU to hw/arm/
hw: move boards and other isolated files to hw/ARCH
ppc: express FDT dependency of pSeries and e500 boards via
default-configs/
build: always link device_tree.o into emulators if libfdt available
hw: include hw header files with full paths
ppc: do not use ../ in include files
vt82c686: vt82c686 is not a PCI host bridge
virtio-9p: remove PCI dependencies from hw/9pfs/
virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX
hw: move device-hotplug.o to toplevel, compile it once
hw: move qdev-monitor.o to toplevel directory
hw: move fifo.[ch] to libqemuutil
hw: move char backends to backends/
Conflicts:
backends/baum.c
backends/msmouse.c
hw/a15mpcore.c
hw/arm/Makefile.objs
hw/arm/pic_cpu.c
hw/dataplane/event-poll.c
hw/dataplane/virtio-blk.c
include/char/baum.h
include/char/msmouse.h
qemu-char.c
vl.c
Resolve conflicts caused by header movements.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a245c666d02210b8461952eccc17379fdeedd9f
Merge: 6d06368... db2d5eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:33:03 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Lei Li (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
Fix the wrong description in qemu manual
pci_host: Drop write-only address_space field
rng-random: Use qemu_open / qemu_close
configure: Require at least spice-protocol-0.12.3
osdep: replace setsockopt by qemu_setsockopt
lm32: remove unused function
rtc-test: Fix test failures with recent glib
configure: Create link to icon bitmap for out-of-tree builds
commit 6d06368d6bebad74fd16ef76a6bbea0c1cb63c9a
Merge: 44ab9ed... 0c92e0e6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:30:45 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (4) and Peter Lieven (2)
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi-disk: handle io_canceled uniformly and correctly
scsi-disk: do not complete canceled UNMAP requests
scsi: do not call scsi_read_data/scsi_write_data for a canceled request
iscsi: look for pkg-config file too
iscsi: add iscsi_truncate support
iscsi: retry read, write, flush and unmap on unit attention check
conditions
commit 44ab9ed4f859fc6f691ba433c24d354ba93f056f
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 09:56:04 2013 +0000
qemu-char: fix win32 build
96c6384776d631839a9c8fe02bf135f9ba22586c did not adjust
Win32 #ifdeffery properly, breaking build in later commits. Fix.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
0ba5565b1ed44380c57d4a5fab86e9549f581ebf.1362822910.git.blauwirbel@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7830cf78ac00643930503732834c00387e9e75ff
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 09:56:03 2013 +0000
baum: fix build
08744c98115cfa144ed3493556024e400b2e2573 removed hw/baum.h
but did not adjust hw/baum.c, breaking build. Fix.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Message-id:
c50406bda98f8b277e8b9004a0012fa5e5c124d0.1362822910.git.blauwirbel@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a4960ef34829c355fdf25b8ee6b869c92393e366
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 5 08:54:41 2013 -0800
tcg: Don't make exitreq flag a local temporary
The value is not actually live across basic blocks, so there's no
need for the local property. This eliminates storing the temporary
to its home location at the branch.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 916359f66f838481b4a37a45ab27ccd0474ae487
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:47 2013 +0100
Makefile: Add subdir dependency on config-devices-all.mak
What 23bf49b5eca716aaad073f2b47613434e1515cb5 really seemed to try to
fix is that Makefile could recurse into *-softmmu/ subdirectories before
a new *-softmmu/config-devices.mak was generated from pci.mak.
Fix this by adding a dependency on config-all-devices.mak, which in turn
has dependencies on *-softmmu/config-devices.mak.
Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 880708013357fa5d1c077e2a4a364b65706e09e7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:46 2013 +0100
make_device_config.sh: Emit dependency file to directory where included
Placing the config-devices.mak.d file alongside the config-devices.mak
file in *-softmmu/ lead to it getting included into through
*-softmmu/Makefile in addition to ./Makefile, leading to confusion.
Instead, emit it to ./%-config-devices.mak.d, where it is included.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1b3048170ad0dad83186a39cbf22471fc32583ea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:45 2013 +0100
Revert "make_device_config.sh: Fix target path in generated dependency
file"
This reverts commit 23bf49b5eca716aaad073f2b47613434e1515cb5.
While *-softmmu/config-devices.mak.d is included through *.d pattern via
Makefile.target, the make_devices_config.sh call these dependencies are
for is in ./Makefile. Therefore revert to original behavior.
This should unbreak pci.mak dependencies not propagating.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit eb839909aa22069e04e1c910fcdf7feaa5581af6
Merge: 62e1aea... 8a7df84...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 11:02:23 2013 +0000
Merge branch 's390-for-upstream' of git://github.com/agraf/qemu
* 's390-for-upstream' of git://github.com/agraf/qemu:
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
s390/css: Fix subchannel detection
Allow virtio-net features for legacy s390 virtio bus
s390: virtio-ccw maintainer
s390: simplify kvm cpu init
commit 62e1aeaee4d0450222a0ea43c713b59526e3e0fe
Merge: d6258c9... d63919c...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 11:02:07 2013 +0000
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (66 commits)
pseries: Add compatible property to root of device tree
target-ppc: Move CPU aliases out of translate_init.c
target-ppc: Report CPU aliases for QMP
target-ppc: List alias names alongside CPU models
target-ppc: Make host CPU a subclass of the host's CPU model
PPC: xnu kernel expects FLUSH to be cleared on STOP
PPC: Fix dma interrupt
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
target-ppc: Synchronize FPU state with KVM
target-ppc: Add mechanism for synchronizing SPRs with KVM
Save memory allocation in the elf loader
pseries: Implement h_read hcall
target-ppc: Change "POWER7" CPU alias
target-ppc: Fix remaining microcontroller typos among models
target-ppc: Split model definitions out of translate_init.c
target-ppc: Update Coding Style for CPU models
target-ppc: Turn descriptive CPU model comments into device descriptions
target-ppc: Turn descriptive CPU family comments into device
descriptions
target-ppc: Set remaining fields on CPU family classes
target-ppc: Register all types for TARGET_PPCEMB
...
commit 8a7df84f9ff4342cae30f4e515e6ac82a0eb0bea
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 09:01:33 2013 +0000
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
blockdev_mark_auto_del is already called in virtio-blk-exit.
Remove the redundant call.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38dd7cc776bbde7edbe60ba5d0abbd156e7e0f2f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 09:01:32 2013 +0000
s390/css: Fix subchannel detection
We have to consider the m bit to find the real channel subsystem when
determining the last subchannel.
If we fail to take this into account, removal of a subchannel in
the middle of a big list of devices will stop device detection after
a reboot.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35569cea79fd3f5ccb5b23ca024c7d3aa4d24e75
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Mar 7 17:21:41 2013 +0100
Allow virtio-net features for legacy s390 virtio bus
Enable all virtio-net features for the legacy s390 virtio bus. This also
fixes
kernel BUG at
/usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121!
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dd4ad64ada4316d2f61af0e0489e89fe620244db
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Mar 5 02:22:01 2013 +0000
s390: virtio-ccw maintainer
Add myself as maintainer for virtio-ccw and the s390-ccw-virtio machine.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
[agraf: add myself for virtio-ccw machine]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1c9d2a1d3c63ab7cee37acdcab92aafad3d6b3fe
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Feb 4 22:53:25 2013 +0000
s390: simplify kvm cpu init
There is no special code right now and the reset ioctl is done later
on in the the reset handler anyway. Lets simplify the cpu init.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d63919c93e6fb0587632adafba82c21e55ea4396
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Feb 25 19:27:12 2013 +0000
pseries: Add compatible property to root of device tree
Currently, for the pseries machine the device tree supplied by qemu to
SLOF
and from there to the guest does not include a 'compatible property' at
the
root level. Usually that works fine, since in this case the compatible
property doesn't really give any information not already found in the
'device_type' or 'model' properties.
However, the lack of 'compatible' confuses the bootloader install in the
SLES11 SP2 and SLES11 SP3 installers. This patch therefore adds a token
'compatible' property to work around that.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e9a9607527746600a1af79ba63494ec596ec8584
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 25 03:43:17 2013 +0000
target-ppc: Move CPU aliases out of translate_init.c
Move array of CPU aliases to cpu-models.c, alongside model definitions.
This requires to zero-terminate the aliases array since ARRAY_SIZE() can
no longer be used in translate_init.c then.
Suggested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35e21d3f53068911a98014577880f76c4734f31c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 07:52:24 2013 +0000
target-ppc: Report CPU aliases for QMP
The QMP query-cpu-definitions implementation iterated over CPU classes
only, which were getting less and less as aliases were extracted.
Keep them in QMP as valid -cpu arguments even if not guaranteed stable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 55d3d1a4d1a8dca7a0f31dc0d212d7fb219563c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 07:34:28 2013 +0000
target-ppc: List alias names alongside CPU models
Revert adding a separate -cpu ? output section for aliases and list them
per CPU subclass.
Requested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5ba4576b858c0d6056f59abb7e17a2b63f7905f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 11:22:12 2013 +0000
target-ppc: Make host CPU a subclass of the host's CPU model
This avoids assigning individual class fields and contributors
forgetting to add field assignments in KVM-only code.
ppc_cpu_class_find_by_pvr() requires the CPU model classes to be
registered, so defer host CPU type registration to kvm_arch_init().
Only register the host CPU type if there is a class with matching PVR.
This lets us drop error handling from instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 987422bc4a4c6366ca6a7fbfa38a9920fd7ada2f
Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Date: Thu Feb 21 07:34:11 2013 +0000
PPC: xnu kernel expects FLUSH to be cleared on STOP
otherwise it gets stuck in a loop
so clear it when unsetting run when flush is set
void
IODBDMAStop( volatile IODBDMAChannelRegisters *registers)
{
IOSetDBDMAChannelControl( registers,
IOClearDBDMAChannelControlBits( kdbdmaRun )
| IOSetDBDMAChannelControlBits( kdbdmaFlush ));
DBDMA: writel 0x0000000000000b00 <= 0xa0002000
DBDMA: channel 0x16 reg 0x0
DBDMA: status 0x00002000
while( IOGetDBDMAChannelStatus( registers) & (
kdbdmaActive | kdbdmaFlush))
eieio();
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
it continues to get printed
}
Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
[agraf: replace tabs with spaces]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e13da40448fabb0829d75b01dc57da5f44f391b3
Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Date: Thu Feb 21 07:34:10 2013 +0000
PPC: Fix dma interrupt
In openbios (drivers/ide.c) they are set to
0000000d 00000000 00000002 00000000
0000000e 00000000 00000003 00000000
0000000f 00000000 00000004 00000000
(The last one seems to be not implemented in qemu)
It follows convention of how they are set on real machines,
both ide and dma ones are increased
Real machine one:
http://web.archive.org/web/20090107151044/http://penguinppc.org/historical/dev-trees-html/g4_agp_500_2.html
00000013 00000001 0000000b 00000000
00000014 00000001 0000000c 00000000
00000015 00000001 0000000d 00000000
Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit edbe35e0319c15ed2f373bcca626cbb4361f87c8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 20 18:24:57 2013 +0000
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
A victim of the d523dd00a7d73b28f2e99acf45a4b3f92e56e40a AREG0
conversion, insert the missing cpu_env arguments.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 70b79849b84510604e46299672e663a703ad5a4b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 20 16:41:51 2013 +0000
target-ppc: Synchronize FPU state with KVM
Currently qemu does not get and put the state of the floating point and
vector registers to KVM. This is obviously a problem for savevm, as well
as possibly being problematic for debugging of FP-using guests.
This patch fixes this by using new extensions to the ONE_REG interface to
synchronize the qemu floating point state with KVM.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d67d40ea07577b0a952d3bea5a2f92edf0ee26a6
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 20 16:41:50 2013 +0000
target-ppc: Add mechanism for synchronizing SPRs with KVM
Currently when runing under KVM on ppc, we synchronize a certain number of
vital SPRs to KVM through the SET_SREGS call. This leaves out quite a lot
of important SPRs which are maintained in KVM. It would be helpful to
have their contents in qemu for debugging purposes, and when we implement
migration it will be vital, since they include important guest state that
will need to be restored on the target.
This patch sets up for synchronization of any registers supported by the
KVM ONE_REG calls. A new variant on spr_register() allows a ONE_REG id to
be stored with the SPR information. When we set/get information to KVM
we also synchronize any SPRs so registered.
For now we set this mechanism up to synchronize a handful of important
registers that already have ONE_REG IDs, notably the DAR and DSISR.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d60fa42e8bae39440f997ebfe8fe328269a57d16
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Feb 19 04:41:11 2013 +0000
Save memory allocation in the elf loader
The current elf loader uses too much memory. For example, I have a
executable with a bss section of 400 MB and I set the ram size to 512
MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at
1.6 GB during initialization (this is not fine).
This patch fixes two things:
1) do not allocate each elf program twice.
2) do not allocate memory for areas that are only zeros.
For this we need a new field in Rom: "datasize" which is the size of the
allocated data. If datasize is less than romsize, it means that the area
from datasize to romsize is filled with zeros.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bbd5dde9a10520eb069c4bff9f2e34b96b1cfee
Author: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 18 05:00:32 2013 +0000
pseries: Implement h_read hcall
This h_call is useful for DLPAR in future amongst other things. Given an
index
it fetches the corresponding PTE stored in the htab.
Signed-off-by: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit befa8af375acd52d7118fa8d4fdf15acee8d378a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:51 2013 +0000
target-ppc: Change "POWER7" CPU alias
Let it resolve to v2.3 rather than v2.0.
Suggested-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cc4a04db05b083748b0ee9e642d68496a3d531ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:50 2013 +0000
target-ppc: Fix remaining microcontroller typos among models
controler -> controller
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 953af181f5d1c51e8111c345c70f277185f1a6e0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:49 2013 +0000
target-ppc: Split model definitions out of translate_init.c
Now that model definitions only reference their parent type, model
definitions are independent of the family definitions and can be
compiled independently of TCG translation.
Keep all #if defined(TODO) code local to cpu-models.c.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09cc86f2b16ae242c031a01c6adca0ac5c5791ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:48 2013 +0000
target-ppc: Update Coding Style for CPU models
Drop the space in #if defined (TODO).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0233c9abe16d8f7cdeb76ea54e84c68fe2b0037
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:47 2013 +0000
target-ppc: Turn descriptive CPU model comments into device descriptions
Fix microcontroller typo while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca5dff0a3e532ea9168934fc361e96d969007284
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:46 2013 +0000
target-ppc: Turn descriptive CPU family comments into device descriptions
This gets rid of some more overly long comments that have lost most of
their purpose now that in most cases there's only two functions left per
CPU family.
The class field is inherited by the actual CPU models, so override it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba9fd9f1509c9729286a1071e217db9df05e6896
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:45 2013 +0000
target-ppc: Set remaining fields on CPU family classes
Now POWERPC_DEF_SVR() no longer sets family-specific fields itself.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d7fb187e07b35dcbe51e906927a94ed691e0c7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:44 2013 +0000
target-ppc: Register all types for TARGET_PPCEMB
Don't attempt to suppress registration of CPU types, since the criteria
is actually a property of the class and should thus become a field.
Since we can't check a field set in a class_init function before
registering the type that leads to execution of that function, guard the
-cpu class lookup instead and suppress exposing these classes in -cpu ?
and in QMP.
In case someone tries to hot-add an incompatible CPU via device_add,
error out in realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 53116ebfc98b72a00297255e216fac87c65e23a5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:43 2013 +0000
target-ppc: Set instruction flags on CPU family classes
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7856e3a41ba8ec5da3dc0b449dc6feaf999d3ffe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:42 2013 +0000
target-ppc: Introduce abstract CPU family types
Instead of assigning *_<family> constants, set .parent to a family type.
Introduce a POWERPC_FAMILY() macro to keep type registration close to
its implementation. This macro will need tweaking later.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cfe34f44b3a13ed32891e0b3c84be91d3d91a4b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:41 2013 +0000
target-ppc: Convert CPU definitions
Turn the array of model definitions into a set of self-registering QOM
types with their own class_init. Unique identifiers are obtained from
the combination of PVR, SVR and family identifiers; this requires all
alias #defines to be removed from the list. Possibly there are some more
left after this commit that are not currently being compiled.
Prepares for introducing abstract intermediate CPU types for families.
Keep the right-aligned macro line breaks within 78 chars to aid
three-way merges.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit de400129daf3ff0f7468363f6d886fcdcc626ea6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:40 2013 +0000
target-ppc: Get model name from type name
We are about to drop the redundant name field along with ppc_def_t.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f591784b639c72138f0cfd30b46dcf328f9adc8b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:39 2013 +0000
target-ppc: Extract POWER7 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df43f4b863ba4f7f89afedddc86ad9e11157b51e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:38 2013 +0000
target-ppc: Extract 970 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4bdba7fd2efbd57b9dc12bfb930f085a54f3df47
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:37 2013 +0000
target-ppc: Extract 405GPe alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b48a1ad3242fc7f6a19620f8a23f92a4f9ffb67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:36 2013 +0000
target-ppc: Extract MPC8240 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 236824f276fafbfbb5399ca2c9c72298a401e223
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:35 2013 +0000
target-ppc: Extract MPC5200/MPC5200B aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cf9314cd77f07398303423dd17c520fa92d0b30f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:34 2013 +0000
target-ppc: Extract MPC52xx alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d329ceb2baa441629e83006a7e86933d871edadd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:33 2013 +0000
target-ppc: Extract MPC82xx_HiP{3, 4} aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f172e4b99f73115705842bcd676253644e8c356c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:32 2013 +0000
target-ppc: Extract MPC82xx aliases to *_HiP4
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d55320fdb64b9110fa379520434f70d60d90bdd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:31 2013 +0000
target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases
This depends on the fix for "G2leGP3" PVR.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 63499f2109f7849420cc8858204bff267a0edcd6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:30 2013 +0000
target-ppc: Extract MPC82xx alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4475e98f995ab726ce8bbf70225b2d90b20b9cd3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:29 2013 +0000
target-ppc: Extract e200 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0683641cc754e3d786acdeab8d00723dbd87727b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:28 2013 +0000
target-ppc: Extract e300 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9538de4fe708ca09af3a786fb9b26e2269ebc8f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:27 2013 +0000
target-ppc: Extract MPC83xx aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d4decb484b5cc31a9a4a069eff21c89f8d288b5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:26 2013 +0000
target-ppc: Extract e500v1/e500v2 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 52d80768dba6876919bb4e7f4fc00641431ef2cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:25 2013 +0000
target-ppc: Extract MPC85xx aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 91b5d028786b22bc4fe89b439ea55276ad09ec8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:21 2013 +0000
target-ppc: Extract 604e alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 336c86322d67dd3eb2e6d571b9d94c761b6988ea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:24 2013 +0000
target-ppc: Extract 601/601v aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4ae0e9d870f0e588a459529d9cc660e20f2ac5b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:23 2013 +0000
target-ppc: Extract 603r alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 16a177333eaa041104f8eeb37d7bbc33d6753695
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:22 2013 +0000
target-ppc: Extract 603e alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0446aecd56739760a2fa4b1dec342e3a4d5ebe9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:20 2013 +0000
target-ppc: Extract 740/750 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8fc82f9e0d93b6d827a874a25dce6f6a226cef5d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:19 2013 +0000
target-ppc: Extract 750 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80c7abd3171c2939020f01d5310c3bd066ccad19
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:18 2013 +0000
target-ppc: Extract 7x5 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 06704e9ceb85916537c8398735aa18e24ebdad86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:17 2013 +0000
target-ppc: Extract 7400 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 08546b912cc5f2940ef9e6d2d83abb43d295bbee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:16 2013 +0000
target-ppc: Extract 7410 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df502ce84527fc55544c66c2bd9a920480036cb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:15 2013 +0000
target-ppc: Extract 7448 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e9a7cf3bb386ce4b425e4dd154fa660e59939ab5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:14 2013 +0000
target-ppc: Extract 7450 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 078840e1bc1e21964fbf91548a9430a1a61195de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:13 2013 +0000
target-ppc: Extract 74x1 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d96c8a2344eea5d15556d86f986c4911fb875831
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:12 2013 +0000
target-ppc: Extract 74x5 as aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4c739207ddaa2d4da96f887b802536117a49e6e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:11 2013 +0000
target-ppc: Extract 74x7[A] aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a7de06e17ecdd3b2cd57c2b6f01913e663365f49
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:10 2013 +0000
target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8c00a9991ae759048c444a6836ce2206e4b0d372
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:09 2013 +0000
target-ppc: Extract 440 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8f43bc789c7ddd1a0f5b3cbc55cf67a1c6ae44e5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:08 2013 +0000
target-ppc: Extract 40x aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 20267b6f327ed2d7c54451034d234d67b1b410e9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:07 2013 +0000
target-ppc: Extract MGT823/MPC8xx as aliases
They used different PVRs but were defined to MPC8xx.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0b9a74e53c012953c54f4bd5a09e20cf1cc48a7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:06 2013 +0000
target-ppc: Extract MPC5xx aliases
Their PVR differed but was defined to MPC5xx.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f7851859d2af38bbdf953269a7e2a9b4681b4253
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:05 2013 +0000
target-ppc: Make -cpu "ppc" an alias to "ppc32"
Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64.
If we ever want to change it, we can more easily do so now.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fd5ed418c7703bb7403f89f1474b0fe633f989cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:04 2013 +0000
target-ppc: Extract aliases from definitions list
Move definitions that were 100% identical except for the name into a
list of aliases so that we don't register duplicate CPU types.
Drop the accompanying comments since they don't really add value.
We need to support recursive lookup due to code names referencing a
generic name referencing a specific model revision.
List aliases separately for -cpu ?.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4d0a36c3630ad30058406747d3cd4cc6a6eae3c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:03 2013 +0000
target-ppc: Inline comma into POWERPC_DEF_SVR() macro
To repurpose the POWERPC_DEF_SVR() macro outside of an array,
move the comma into the macro. No functional change.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9a1350539a69f465c14109605d6648572794ceda
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:02 2013 +0000
target-ppc: Drop nested TARGET_PPC64 guard for POWER7
It is within a large TARGET_PPC64 section from 970 to 620,
so an #endif /* TARGET_PPC64 */ is confusing. Clean this up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e95acc8ff2a068b09494f2522744f89f662a515
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:01 2013 +0000
target-ppc: Update error handling in ppc_cpu_realize()
Commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e added a new fatal error
message while QOM realize'ification was in flight.
Convert it to return an Error instead of exit()ing.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bfe6d5b0daf9fdafeb0dbb7c26774dbb1bbb4507
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:00 2013 +0000
target-ppc: Fix "G2leGP3" PVR
Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the
"G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR.
Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to
"G2leGP3".
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0136d715ad985fccb8fed4bb5081d5bd20bfe88c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 10:53:11 2013 +0000
target-ppc: Fix CPU_POWERPC_MPC8547E
It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21.
Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show.
Fixing this nontheless helps with QOM'ifying CPU aliases.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 156dfaded87d718a9ea798083e1c3e5ea7526713
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Feb 10 18:59:02 2013 +0000
pseries: Add cleanup hook for PAPR virtual LAN device
Currently the spapr-vlan device does not supply a cleanup call for its
NetClientInfo structure. With current qemu versions, that leads to a SEGV
on exit, when net_cleanup() attempts to call the cleanup handlers on all
net clients.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d6258c93a7133bb2bf2ab4e91476bc0b631ba7f1
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:35 2013 +0530
virtio-serial: make flow control explicit in virtio-console
virtio-console.c used to return a value less than the number of bytes
asked to be written out to a chardev backend in case the backend is not
writable. virtio-serial-bus.c then implicitly enabled flow control for
that port.
Make this explicit instead.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
f5ec50b068c25422256e499cf4adc06d353bf394.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7df4d4578f70b565870f353ba0b72f2f23781a09
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:34 2013 +0530
virtio: console: add flow control
The virtio-serial-bus already has the logic to make flow control work
properly. Hook into the char layer's new ability to signal a backend is
writable again.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
abffa02235d55ca6e2489068c58971c8897e976c.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fcfb4d6aae611d1f804d486d3c998000912c4c81
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:33 2013 +0530
serial: add flow control to transmit
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
2976f10d4e66ed4a34011f6f0d6937026d22be5f.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:32 2013 +0530
qemu-char: move text console init to console.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
17cefde0a8d7807294bab95e93c3328a20d3f2ed.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5ab8211b9e1215ed136164c6d9622f2c928f7a8d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:31 2013 +0530
qemu-char: move msmouse registeration to msmouse.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
b47d1153b0d7669743c9a6bb98ce30f4cf7f876b.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08744c98115cfa144ed3493556024e400b2e2573
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:30 2013 +0530
qemu-char: move baum registration to baum.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
1b24baa1ec3a174d5cad31e079d829904b53077b.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26c60614524f41bc9016cbe27eaefe59473d3461
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:29 2013 +0530
qemu-char: move spice registration to spice-qemu-char.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
49a8d12eeb117e5530b2fab02af7681b54f9245c.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d654f34ec8bf006f9b57a067e0f272ab94ee8e06
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:28 2013 +0530
qemu-char: make char drivers dynamically registerable
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
0ff4f5f2b8b7afdb85a0c241403ad73f472f0b81.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f939df955a4152aad69a19a77e0898631bb2c18
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:27 2013 +0530
qemu-char: remove use of QEMUTimer in favor of glib idle function
qemu-char is now independent of the QEMU main loop.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
3cda0bbcfb94912df8a767983a52bb71a4a3231d.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aa33cafc41a0fe8549d1dbcc65b75c31112dea8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:26 2013 +0530
qemu-char: use a glib timeout instead of qemu-timer
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
05a883ce5a98275b976bf0124610599859c2b7da.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d3cc5bc416cdf25bae0f3f6de58830be8ac5b648
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:25 2013 +0530
char: add gio watch fn for tcp backends
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
b50e668c4f4146a654c5d4412440eb9e589f2c02.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e6a87ed837b52aea903c25693b1e3703824b9ef7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:24 2013 +0530
qemu-char: add pty watch
This lets ptys support adding front end watchs.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
23380f37b22d407ba0b9e080f6ea0d66b279f2d2.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 23673ca740e0eda66901ca801a5a901df378b063
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:23 2013 +0530
qemu-char: add watch support
This allows a front-end to request for a callback when the backend
is writable again.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
96f93c0f741064604bbb6389ce962191120af8b7.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ea5a7af7bfa576a5936400ccca4144caca9640b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:22 2013 +0530
qemu-char: tcp: make use GIOChannel
I didn't bother switching to g_io_channel_read/write because we need to
use
sendmsg on Unix. No problem though since we're using an unbuffered
channel.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
002f726576dfb51bca4854aa257b74d77c1cd4e8.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76a9644b711541472d9fb3a9b418acd55d9464a1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:21 2013 +0530
qemu-char: convert UDP to GIOChannel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
775a2bd666a3d1fa008656bf97191b7573c6ffb5.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 093d3a20055282e282ba056addbe59b79e13a32f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:20 2013 +0530
qemu-char: convert pty to GIOChannel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
339eebf3c59a450b0354056e9ac4b41f67230831.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a29753f8aa79a34a324afebe340182a51a5aef11
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:19 2013 +0530
qemu-char: convert fd_chr to use a GIOChannel
This uses the newly introduced IOWatchPoll source.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
0cb5d14510ee835a0ebc23676d10a2cce9280da5.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96c6384776d631839a9c8fe02bf135f9ba22586c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:18 2013 +0530
char: add IOWatchPoll support
This is a special GSource that supports CharDriverState style
poll callbacks.
For reviewability and bisectability, this code is #if 0'd out in this
patch to avoid unused warnings since all of the functions are static.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
9b59ac17b9d0bb3972a73fed04d415f07b391936.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ed7a154063266a30a31752d3b18d484ddc7f5aa9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:17 2013 +0530
qemu-char: remove dead/confusing logic with nb_stdio_clients
This code is very old dating back to 2007. What is puzzling is that
STDIO_MAX_CLIENTS was always #define to 1 meaning that all of the code to
deal
with more than one client was unreachable.
Just remove the whole mess of it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
d276bccdbf4e7463020c5f539f61ae3bfbc88d1d.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit baca6f183d78a0c864a5ccc0ec64e26ba960e604
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:16 2013 +0530
char-socket: fix error reporting
Right now the inet connect code tries all available addresses but until
one
doesn't fail. It passes local_err each time without clearing it from the
previous failure. This can trigger an assert since the inet connect code
tries to set an error on an object != NULL.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
16c806d60aa5e9660ed7751bb4e37dcd278f97f0.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db2d5eba652ecb7420ac4ef79fc747ef391ad0d9
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 7 15:50:26 2013 +0800
Fix the wrong description in qemu manual
Fix LP#1151450 the wrong description in qemu manual:
'qemu-system-x86_84' should be 'qemu-system-x86_64'.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d37e12a07c06b13610b7fabb6b8e009d7a759bc8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 1 16:57:41 2013 +0000
pci_host: Drop write-only address_space field
The address_space field of PCIHostState was only ever written, never used.
Drop it completely.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f9c9d12856e65e272297a619705864d9e6346f8
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 07:53:55 2013 -0500
rng-random: Use qemu_open / qemu_close
In the rng backend use qemu_open and qemu_close rather than POSIX
open/close.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 358689fe299c306f1d81bea57a5067d0abb56699
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Mar 1 08:43:18 2013 +0100
configure: Require at least spice-protocol-0.12.3
As of 5a49d3e9 we assume SPICE_PORT_EVENT_BREAK to be defined.
However, it is defined not in 0.12.2 what we require now, but in
0.12.3. Therefore in order to prevent build failure we must
adjust our minimal requirements.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bd1afbdb3a228683dafa77a9fb3093f0dfab1de
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 6 22:29:16 2013 +0800
osdep: replace setsockopt by qemu_setsockopt
Fix the compiler warning when cross build qemu-ga
for windows by using qemu_setsockopt() instead of
setsockopt().
util/osdep.c: In function 'socket_set_nodelay':
util/osdep.c:69:5: warning: passing argument 4 of 'setsockopt' from
incompatible pointer type [enabled by default]
In file included from /home/lei/qemu_b/include/sysemu/os-win32.h:30:0,
from /home/lei/qemu_b/include/qemu-common.h:46,
from util/osdep.c:48:
/usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:990:63: note:
expected 'const char *' but argument is of type 'int *'
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58427a0f42679c875b077b7adc5db36897973865
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 4 18:11:47 2013 +0100
lm32: remove unused function
The milkymist-minimac device in fact does not exist at all.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eeb29fb9aa733f97d85857c210d6580a92a1b532
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Feb 26 19:31:32 2013 -0500
rtc-test: Fix test failures with recent glib
As of glib 2.35.4, glib changed its logic for ordering test cases:
https://bugzilla.gnome.org/show_bug.cgi?id=694487
This was causing failures in rtc-test. Group the reordered test
cases into their own suite, which maintains the original ordering.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4652b792f01b559e005186b703ed9b1a11cbf8e3
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 21:05:01 2013 +0100
configure: Create link to icon bitmap for out-of-tree builds
This allows to pick up the icon when starting QEMU directly from an
out-of-tree build directory.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0bc472a9d6b80567c212023c5eae413f4dfb53ad
Author: Kuo-Jung Su <dantesu@xxxxxxxxx>
Date: Tue Mar 5 21:27:24 2013 +0000
hw/nand.c: correct the sense of the BUSY/READY status bit
The BIT6 of Status Register(SR):
SR[6] behaves the same as R/B# pin
SR[6] = 0 indicates the device is busy;
SR[6] = 1 means the device is ready
Some NAND flash controller (i.e. ftnandc021) relies on the SR[6]
to determine if the NAND flash erase/program is success or error timeout.
P.S:
The exmaple NAND flash datasheet could be found at following link:
http://www.mxic.com.tw/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/8FEA549237D2F7674825795800104C26/$File/MX30LF1G08AA,%203V,%201Gb,%20v1.1.pdf
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0c92e0e6b64c9061f7365a2712b9055ea35b52f9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:16:05 2013 +0100
scsi-disk: handle io_canceled uniformly and correctly
Always check it immediately after calling bdrv_acct_done, and
always do a "goto done" in case the "done" label has to free
some memory---as is the case for scsi_unmap_complete in the
previous patch.
This patch could fix problems that happen when a request is
split into multiple parts, and one of them is canceled. Then
the next part is fired, but the HBA's cancellation callbacks have
fired already. Whether this happens or not, depends on how the
block/ driver implements AIO cancellation. It it does a simple
bdrv_drain_all() or similar, then it will not have a problem.
If it only cancels the given AIOCB, this scenario could happen.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d0242eadc5bba4f3abe34bc5d536bbfb81aa9891
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:14:34 2013 +0100
scsi-disk: do not complete canceled UNMAP requests
Canceled requests should never be completed, and doing that could cause
accesses to a NULL hba_private field.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Tested-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6f6710aa99ac53b59ff0f14380830cb9ab6bdc14
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:12:58 2013 +0100
scsi: do not call scsi_read_data/scsi_write_data for a canceled request
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c33ea9640758bb625e110a77673e5abfd184e54
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 18:14:28 2013 +0100
iscsi: look for pkg-config file too
Due to library conflicts, Fedora will have to put libiscsi in
/usr/lib/iscsi. Simplify configuration by using a pkg-config
file. The Fedora package will distribute one, and the patch
to add it has been sent to upstream libiscsi as well.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb1b83e740384b4e0d950f3d7c81c02b8ce86c2e
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 18 14:50:46 2013 +0100
iscsi: add iscsi_truncate support
this patch adds iscsi_truncate which effectively allows for
online resizing of iscsi volumes. for this to work you have
to resize the volume on your storage and then call
block_resize command in qemu which will issue a
readcapacity16 to update the capacity.
v4:
- factor out complete readcapacity logic into a separate function
- handle capacity change check condition in readcapacity function
(this happens if the block_resize cmd is the first iscsi task
executed after a resize on the storage)
v3:
- remove switch statement in iscsi_open
- create separate patch for brdv_drain_all() in bdrv_truncate()
v2:
- add a general bdrv_drain_all() before bdrv_truncate() to avoid
in-flight AIOs while the device is truncated
- since no AIOs are in flight we can use a sync libiscsi call
to re-read the capacity
- factor out the readcapacity16 logic as it is redundant
to iscsi_open() and iscsi_truncate().
Signed-off-by: Peter Lieven <pl@xxxxxxx>
[allow any type of unit attention check condition in
iscsi_readcapacity_sync(),
as in Message-ID: <51263A2A.6070304@xxxxxxxxx> - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1dde716ed6719c341c1bfa427781f0715af90cbc
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Thu Feb 21 16:15:54 2013 +0100
iscsi: retry read, write, flush and unmap on unit attention check
conditions
the storage might return a check condition status for various reasons.
(e.g. bus reset, capacity change, thin-provisioning info etc.)
currently all these informative status responses lead to an I/O error
which is populated to the guest. this patch introduces a retry mechanism
to avoid this.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76c48503c4c87afabf0c93acf78480f65276844d
Merge: 597e2ce... ed4659d...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 5 15:11:30 2013 +0100
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
MAINTAINERS: add entry for ARM KVM guest cores
configure: Enable KVM on ARM
hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC
target-arm: Use MemoryListener to identify GIC base address for KVM
hw/arm_gic: Convert ARM GIC classes to use init/realize
hw/arm_gic: Add presave/postload hooks
ARM KVM: save and load VFP registers from kernel
ARM: KVM: Add support for KVM on ARM architecture
target-arm: Drop CPUARMState* argument from bank_number()
linux-headers: resync from mainline to add ARM KVM headers
oslib-posix: Align to permit transparent hugepages on ARM Linux
target-arm: Don't decode RFE or SRS on M profile cores
target-arm: Factor out handling of SRS instruction
commit 597e2cec8096e0703506abcbbf66938b5ac04368
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:50 2013 -0800
mipsn32-linux-user: Configure the architecture properly
N32 is a 64-bit cpu with a 32-bit address space. We have
existing cpp defines for this situation, but weren't using them.
This does mean that the linux-user/mipsn32 directory must be
merged with the linux-user/mips64 directory, and differences
must be resolved via ifdefs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 68473f15d4c9948986618f63828825beafcaf1cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:46 2013 -0800
mips64-linux-user: Enable 64-bit address mode and fpu
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ff4f7382815d31933fe0cbedce03270e4b62b771
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:45 2013 -0800
mips-linux-user: Fix n32 and n64 syscalls
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 084d0497a0edf060d8f61c798217b6d0622a5feb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:44 2013 -0800
mips-linux-user: Save and restore fpu and dsp from sigcontext
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 51cd14d3f56f15cb82e63d694a023ce2b02334f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:43 2013 -0800
mips-linux-user: Enable mips64 and mipsn32 linux-user targets
At this point we can enable compilation, though things
still don't work.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ff97090469eb4a5f21a1f482b27382b8205d1232
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:42 2013 -0800
mips-linux-user: Share o32 code for n32 and n64 signals
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2c3c6689b32529b56261bbbca36ba8544a34dd60
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:41 2013 -0800
mips-linux-user: Delete n32 and n64 signal stubs
Deleting these first makes the next patch much easier to read.
This doesn't cause any sort of compilation failure because we
have not yet enabled n32/n64 compilation. This is dead code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ed4659d10fa2ec16ace367e4fffe6f7ced73112c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
MAINTAINERS: add entry for ARM KVM guest cores
Add an entry indicating maintainer status for the ARM KVM code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 68b05c427b0d220e38bfa21ee6df7970f158b377
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
configure: Enable KVM on ARM
Enable KVM on ARM hosts, now that all the necessary components
for it exist.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ed46676160d94d279e32ce955fd60b76c7a1b370
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC
Implement support for using the KVM in-kernel GIC for ARM.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit eb035b48d5ff26a155f37106f693acb8b8487d80
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:42 2013 +0000
target-arm: Use MemoryListener to identify GIC base address for KVM
When using an in-kernel GIC with KVM, we need to tell the kernel where
the GIC's memory mapped registers live. Do this by registering a
MemoryListener which tracks where the board model maps the A15's
private peripherals, so we can finish the GIC initialisation
when the GIC is actually mapped.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53111180946a56d314a9c1d07d09b9ef91e847b9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:42 2013 +0000
hw/arm_gic: Convert ARM GIC classes to use init/realize
Convert the ARM GIC classes to use init/realize rather than
SysBusDevice::init. (We have to do them all in one patch to
avoid unconverted subclasses calling a nonexistent SysBusDevice
init function in the base class and crashing.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ecb992674cec86091b4fce3bd66faee8b56b165
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
hw/arm_gic: Add presave/postload hooks
Add presave/postload hooks to the ARM GIC common base class.
These will be used by the KVM in-kernel GIC subclass to sync
state between kernel and userspace when migrating.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 81635574f6e7f4d18ea059ecbeeec93c3ffc284c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
ARM KVM: save and load VFP registers from kernel
Add support for saving and restoring VFP register state from the
kernel. This includes a check that the KVM-created CPU has full
VFP support (as the TCG Cortex-A15 model always does), since for
the moment ARM QEMU doesn't have any way to tweak optional features
on created CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 494b00c76afb906a2d093b71c8772331c2a19a89
Author: Christoffer Dall <cdall@xxxxxxxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
ARM: KVM: Add support for KVM on ARM architecture
Add basic support for KVM on ARM architecture.
Signed-off-by: Christoffer Dall <cdall@xxxxxxxxxxxxxxx>
[PMM: Minor tweaks and code cleanup, switch to ONE_REG]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f5206413affd658e2fdcf893c810d715b2c7fec6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
target-arm: Drop CPUARMState* argument from bank_number()
Drop the CPUARMState* argument from bank_number(), since we only
use it for passing to cpu_abort(). Use hw_error() instead.
This avoids propagating further interfaces using env pointers.
In the long term this function's callers need auditing to fix
problems where badly behaved guests can pass invalid bank numbers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit eadd0e4413c9b69015c798909f48ec48ab0c7bd4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
linux-headers: resync from mainline to add ARM KVM headers
Resync QEMU's copy of the Linux kernel headers from
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM
support has just hit mainline via Russell's ARM tree.
This is not a pure sync -- I have removed by hand some changes
that would have reverted updates for s390x and ppc which have not
yet hit mainline.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2e07b297e0b450fe38bab115f71749e032d7191c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
oslib-posix: Align to permit transparent hugepages on ARM Linux
ARM Linux (like x86-64 Linux) can use transparent hugepages for
KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN
accordingly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 00115976bb066d4b33dbb07a92f8bde5ec8b9518
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:31:17 2013 +0000
target-arm: Don't decode RFE or SRS on M profile cores
M profile cores do not have the RFE or SRS instructions, so
correctly UNDEF these insn patterns on those cores.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 81465888c5306cd94abb9847e560796fd13d3c2f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:31:17 2013 +0000
target-arm: Factor out handling of SRS instruction
Factor out the handling of the SRS instruction rather than
duplicating it between the Thumb and ARM decoders. This in
passing fixes two bugs in the Thumb decoder's SRS handling
which didn't exist in the ARM decoder:
* (LP:1079080) storing CPSR rather than SPSR (fixed in the
ARM decoder in commit c67b6b71 in 2009)
* failing to free the 'addr' TCG temp in the writeback case
Reported-by: Cesson Vincent <vcesson@xxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 26135ead80fa1fd13e95c162dacfd06f2ba82981
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Mon Jan 21 20:43:31 2013 +0000
target-mips: Fix accumulator selection for MIPS16 and microMIPS
Add accumulator arguments to gen_HILO and gen_muldiv, rather than
extracting the accumulator directly from ctx->opcode. The extraction
was only right for the standard encoding: MIPS16 doesn't have access
to the DSP registers, while microMIPS encodes the accumulator register
in a different field (bits 14 and 15).
Passing the accumulator register is probably an over-generalisation
for division and 64-bit multiplication, which never access anything
other than HI and LO, and which always pass 0 as the new argument.
Separating them felt a bit fussy though.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 54b2f42cb1eef758b6070e805a5d6f7a84315ace
Author: Meador Inge <meadori@xxxxxxxxxxxxxxxx>
Date: Thu Jan 10 16:50:22 2013 -0600
target-mips: Translate breaks and traps into the appropriate signal
GCC and GAS are capable of generating traps or breaks to check for
division by zero. Additionally, GAS is capable of generating traps
or breaks to check for overflow on certain division and multiplication
operations. The Linux kernel translates these traps and breaks into
signals. This patch implements the corresponding feature in QEMU.
Signed-off-by: Meador Inge <meadori@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 20c334a797bf46a4ee59a6e42be6d5e7c3cda585
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Feb 25 16:45:40 2013 +0100
target-mips: fix DSP overflow macro and affected routines
The previous implementation incorrectly used same macro to detect overflow
for addition and subtraction. This patch makes distinction between these
two, and creates separate macros. The affected routines are changed
accordingly.
This change also includes additions to the existing tests for SUBQ_S_PH
and
SUBQ_S_W that would trigger the fixed issue, and it removes dead code from
the test file. The last test case in subq_s_w.c is a bug found/reported/
isolated by Klaus Peichl from Dolby.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 71df81afc618da79008a7071a666cf97b62e1237
Merge: a690060... 272d2d8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:22:48 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By MORITA Kazutaka (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block: for HMP commit() operations on 'all', skip non-COW drives
sheepdog: add support for connecting to unix domain socket
sheepdog: use inet_connect to simplify connect code
sheepdog: accept URIs
move socket_set_nodelay to osdep.c
slirp/tcp_subr.c: fix coding style in tcp_connect
dataplane: remove EventPoll in favor of AioContext
virtio-blk: fix unplug + virsh reboot
ide/macio: Fix macio DMA initialisation.
commit a6900601caf2286a704bdc42da33e98c65feb3a9
Merge: e482ded... 554f199...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:22:41 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,vhost,pci,e1000
Mostly bugfixes, but also some ICH work by Laszlo.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 28 Feb 2013 07:13:56 AM CST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
Set virtio-serial device to have a default of 2 MSI vectors.
ICH9 LPC: Reset Control Register, basic implementation
Fix guest OS hang when 64bit PCI bar present
e1000: unbreak the guest network migration to 1.3
vhost: memory sync fixes
commit e482dedc503819a009e245996f7cdb13eed6b165
Merge: bf5363e... 5c75fb1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:20:32 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-1.7.2.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2.1:
update seabios to 1.7.2.1
commit bf5363efcff81226d779d1cc1117cb277b458ecb
Merge: 806f352... af347aa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:20:06 2013 -0600
Merge remote-tracking branch 'stefanha/net' into staging
# By Jason Wang (2) and others
# Via Stefan Hajnoczi
* stefanha/net:
qmp: netdev_add is like -netdev, not -net, fix documentation
doc: document -netdev hubport
net: reduce the unnecessary memory allocation of multiqueue
tap: set IFF_ONE_QUEUE per default
tap: forbid creating multiqueue tap when hub is used
net: fix unbounded NetQueue
net: fix qemu_flush_queued_packets() in presence of a hub
commit 272d2d8e1241b92ab9be87b2c8fb590fd84987a8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Feb 26 09:55:48 2013 -0500
block: for HMP commit() operations on 'all', skip non-COW drives
During a commit of 'all' using the HMP non-live commit, the operation
is aborted and returns error on the first error enountered. When
non-COW drives are in use (e.g. ejected floppy, cdrom, or drives without
a backing parent), that means a commit all will return an error of either
-ENOMEDIUM or -ENOTSUP. This is not desirable, so for the 'all' commit
case, only attempt the commit if both bs->drv and bs->backing_hd are
present.
More succinctly: 'commit all' now means a commit on all COW drives.
This means an individual commit to a specific non-COW drive will still
return the appropriate error (-ENOMEDIUM if eject / not present, -ENOTSUP
if no backing file).
Reported-by: Jan Kiszka <jan.kiszka@xxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b8bbb46e7593b92ded74cc2a5461202c2b6c05c
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:53 2013 +0900
sheepdog: add support for connecting to unix domain socket
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu sheepdog+unix:///<vdiname>?socket=<socket path>[#snapid]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 25af257d219ed2708b3bcf7f1fabf93234d27620
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:52 2013 +0900
sheepdog: use inet_connect to simplify connect code
This uses the form "<host>:<port>" for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d6768e3b8908a60f0a3016b7fa24194f6b47c80
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:51 2013 +0900
sheepdog: accept URIs
The URI syntax is consistent with the NBD and Gluster syntax. The
syntax is
sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf1c852aa9cbe21beeb7c37d03e167c33ac196b2
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:50 2013 +0900
move socket_set_nodelay to osdep.c
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4ef7b8944cc5eae66159c60066b21466e2dc1ee4
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:49 2013 +0900
slirp/tcp_subr.c: fix coding style in tcp_connect
Fix coding style in tcp_connect before the next patch.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c20e711de308cdebc91ae4b7a983396b56f1de0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 10:40:34 2013 +0100
dataplane: remove EventPoll in favor of AioContext
During the review of the dataplane code, the EventPoll API morphed itself
(not concidentially) into something very very similar to an AioContext.
Thus, it is trivial to convert virtio-blk-dataplane to use AioContext,
and a first baby step towards letting dataplane talk directly to the
QEMU block layer.
The only interesting note is the value-copy of EventNotifiers. At least
in my opinion this is part of the EventNotifier API and is even portable
to Windows. Of course, in this case you should not close the notifier's
underlying file descriptors or handle with event_notifier_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69b302b2044a9a0f6d157d25b39a91ff7124c61f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 14:37:10 2013 +0100
virtio-blk: fix unplug + virsh reboot
virtio-blk registers a vmstate change handler. Unfortunately this
handler is not unregistered on unplug, leading to some random
crashes if the system is restarted, e.g. via virsh reboot.
Lets unregister the vmstate change handler if the device is removed.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02d583c7232d65920634f7553700eb348f84e472
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Feb 24 20:46:11 2013 +0000
ide/macio: Fix macio DMA initialisation.
Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a
bug
in the initialisation of the second macio DMA device which could cause
some
DMA operations to segfault QEMU.
CC: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 806f352d3d6f7b326b0ab3a49c622b124459dc8d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:05 2013 +0000
gen-icount.h: Rename gen_icount_start/end to gen_tb_start/end
The gen_icount_start/end functions are now somewhat misnamed since they
are useful for generic "start/end of TB" code, used for more than just
icount. Rename them to gen_tb_start/end.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3a808cc407744c30daa7470b5f191cde1fbc1aae
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:04 2013 +0000
translate-all.c: Remove cpu_unlink_tb()
The (unsafe) function cpu_unlink_tb() is now unused, so we can simply
remove it and any code that was only used by it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 378df4b23753a11be650af7664ca76bc75cb9f01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:03 2013 +0000
Handle CPU interrupts by inline checking of a flag
Fix some of the nasty TCG race conditions and crashes by implementing
cpu_exit() as setting a flag which is checked at the start of each TB.
This avoids crashes if a thread or signal handler calls cpu_exit()
while the execution thread is itself modifying the TB graph (which
may happen in system emulation mode as well as in linux-user mode
with a multithreaded guest binary).
This fixes the crashes seen in LP:668799; however there are another
class of crashes described in LP:1098729 which stem from the fact
that in linux-user with a multithreaded guest all threads will
use and modify the same global TCG date structures (including the
generated code buffer) without any kind of locking. This means that
multithreaded guest binaries are still in the "unsupported"
category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 77211379d73ea0c89c0b5bb6eee74b17cb06f9a8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:02 2013 +0000
cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC
If tcg_qemu_tb_exec() returns a value whose low bits don't indicate a
link to an indexed next TB, this means that the TB execution never
started (eg because the instruction counter hit zero). In this case the
guest PC has to be reset to the address of the start of the TB.
Refactor the cpu-exec code to make all tcg_qemu_tb_exec() calls pass
through a wrapper function which does this restoration if necessary.
Note that the apparent change in cpu_exec_nocache() from calling
cpu_pc_from_tb() with the old TB to calling it with the TB returned by
do_tcg_qemu_tb_exec() is safe, because in the nocache case we can
guarantee that the TB we try to execute is not linked to any others,
so the only possible returned TB is the one we started at. That is,
we should arguably previously have included in cpu_exec_nocache() an
assert(next_tb & ~TB_EXIT_MASK) == tb), since the API requires restore
from next_tb but we were using tb.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fadf982584b040527aeee0ede270a4d01463d293
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 18:10:01 2013 +0000
cpu: Introduce ENV_OFFSET macros
Introduce ENV_OFFSET macros which can be used in non-target-specific
code that needs to generate TCG instructions which reference CPUState
fields given the cpu_env register that TCG targets set up with a
pointer to the CPUArchState struct.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0980011b4f66482d2733ab2dd0f2f61747772c6b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:00 2013 +0000
tcg: Document tcg_qemu_tb_exec() and provide constants for low bit uses
Document tcg_qemu_tb_exec(). In particular, its return value is a
combination of a pointer to the next translation block and some
extra information in the low two bits. Provide some #defines for
the values passed in these bits to improve code clarity.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 07ca08bac88f116e9beb05d48d07b406ace8fbc0
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Wed Feb 27 16:09:38 2013 +0000
tcg-sparc: fix build
Fix build breakage by 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c:
make tcg_out_addsub2() always available.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7a2771d1541ec9a0c585e9b853e5f4dc036919ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
sh: move files referencing CPU to hw/sh4/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f64bd8aec7c31c76fa0954aaee1475d482662b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:20:00 2013 +0100
ppc: move more files to hw/ppc
These sPAPR files do not implement devices, move them over.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c68c4a56e93f54b374c5207f0185f8e9fa2aec3b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
ppc: move files referencing CPU to hw/ppc/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9743b581a819a05668e6a1f60e3ee6486d25f141
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
m68k: move files referencing CPU to hw/m68k/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8786b05e7bf3c4fc7a25fa14f1736a716cd8a8c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
i386: move files referencing CPU to hw/i386/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dd285b06490d7ef5f7b2f5e6c87b85ddf4345078
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
arm: move files referencing CPU to hw/arm/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 530182169e897c0e401b245552a4c58dc6846912
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:03:15 2013 +0100
hw: move boards and other isolated files to hw/ARCH
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:52:23 2013 +0100
ppc: express FDT dependency of pSeries and e500 boards via
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 320ba5fe494c0ef59080eac33801ec1e453663fa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:36:30 2013 +0100
build: always link device_tree.o into emulators if libfdt available
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83c9f4ca794ec3b6fa7e5a5bb055d378916503e0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:40:22 2013 +0100
hw: include hw header files with full paths
Done with this script:
cd hw
for i in `find . -name '*.h' | sed 's/^..//'`; do
echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
done | sed -i -f - `find . -type f`
This is so that paths remain valid as files are moved.
Instead, files in hw/dataplane are referenced with the relative path.
We know they are not going to move to include/, and they are the only
include files that are in subdirectories _and_ move.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7948b4b009b60c6e3b21daad29088b204ddb1966
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Feb 3 20:18:28 2013 +0100
ppc: do not use ../ in include files
This simplifies the scripted execution of the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eac7ec7f6a5c9e1a0a082ea8525f31549b1f0cb4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:00:38 2013 +0100
vt82c686: vt82c686 is not a PCI host bridge
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 60653b28f505288689d0b44218de4bb9fd254519
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:37:49 2013 +0100
virtio-9p: remove PCI dependencies from hw/9pfs/
Also move the 9p.h file to 9pfs/virtio-9p-device.h, for consistency
with the corresponding .c file.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7e6b14dfb575a687cb26be9995c96e5bbf5cba2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:32:02 2013 +0100
virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1559e0d4b54d1b0744983b57da893617ceae8b94
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 17:20:47 2013 +0100
hw: move device-hotplug.o to toplevel, compile it once
The situation with device-hotplug.c is similar to qdev-monitor.c.
Add a stub for pci_drive_hot_add, so that it can be compiled once,
and move it out of hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b4a42f81383d60900aae09513f42eb857a5a7c7c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 11:37:52 2013 +0100
hw: move qdev-monitor.o to toplevel directory
qdev-monitor.c is the only "core qdev" file that is not used in
user-mode emulation, and it does not define anything that is used
by hardware models. Remove it from the hw/ directory and
remove hw/qdev-monitor.h from hw/qdev.h too; this requires
some files to have some new explicitly includes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd7f0d66177ec1058a2a256856ff38fc9ceae5af
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 10:57:50 2013 +0100
hw: move fifo.[ch] to libqemuutil
fifo.c is generic code that can be easily unit tested. So it
belongs in libqemuutil.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 159b6e9f144c7afdf3ad95c29d1fede9626fa8b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Feb 3 20:21:00 2013 +0100
hw: move char backends to backends/
Braille and msmouse support is in hw/, but it is not hardware.
Move it to the backends/ directory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 288f1e3f87ec24abeac38399f175fe74243f7bc5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:16 2013 +0000
cadence_gem: Add debug msgs for rx desc movement
Add some helpful messages that show the rx descriptor pointer moving as
packets
are rxed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1ef2eb34dade64d589a69a2bcfd5aaddb7d50164.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5025388b5083f199b05cc252c2b031d9fc230391
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:16 2013 +0000
cadence_gem: Don't reset rx desc pointer on rx_en
This doesn't happen in the real hardware. The Zynq TRM explicitly states
that
this bit has no effect on the rx descriptor pointer ("The receive queue
pointer register is unaffected").
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
06fdf92b78ee62d8965779bafd29c8df1a5d2718.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ae80a3546f412c407199b9b7ebd52ac604361e10
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: fix interrupt events
Bits in the ISR were continually mirroring their corresponding TX/RX SR
bits.
This is incorrect. The ISR bits are only ever set at the time their
corresponding event occurs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cedfb6d108318846480b416a6041023ea5a353d6.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1c5d07909aea7657c7c6b24223460150526369ba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: factor out can_rx() logic replication
The gem_receive() function replicates the logic for whether or not the
device
can rx. Just call the actual gem_can_receive() function in place.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bf7f93969f3e01fbc76d68d2955307fdbad11bb1.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e3f9d31c9899cc94e124b042d7d5353dbfd812ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: Flush queued packets
The device needs to check for queued RX packets when the RX path is
re-enabled.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1fa8c88a3b7c654886d0a7484c2463cd4c2a2781.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7fd6915d84b20d5ff9ae287ddfabb9b222e7067
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
m25p80.c: Use QOM classes for part differentiation
Currently, M25P80 uses an object property to differentiate between flash
parts.
Changed this over to use QOM sub-classes - the actual names of the
different parts
are used to create a set of dynamic classes which passes the part info as
class
data. The object no longer needs to search the known_devices table for
itself,
instead it just gets its info from its own class.
Kept the intermediate class definition private to m25p80.c for the
moment, as
the expectation is parts will only be added as new entries in the table.
We can
factor out the TYPE_M25P80 abstraction into a header on a demand basis.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: e24e156d-ff96-4901-997a-e31178b08bee@xxxxxxxxxxxxxxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b972b4e25340abdd23238bc8f3bdacbef533bd5a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
xilinx_zynq: Added SD controllers
The Xilinx Zynq device has two SDHCI controllers. Added to the machine
model.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 80f4d9fcea86aeb3071750c199416cab9abd5c28
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
vl.c: allow for repeated -sd arguments
Allows for repeating of -sd arguments in the same way as -pflash and
-mtdblock.
Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d7dfca0807a0f579d3ec985bf1220519420c4dfe
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
hw/sdhci: introduce standard SD host controller
Device model for standard SD Host Controller Interface (SDHCI) compliant
with
version 2.00 of SD association specification.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 353575f0959234e1680622f747e20308c94505b7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
arm: a9mpcore: Coreify the SCU
Split the SCU in a9mpcore out into its own object definition. mpcore is
now
just a container for the mpcore components.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9595978292e9a5b5f0ec77a9f6a0e724c10bf3b4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: a9mpcore: remove old_timer_status field
This field was write only and thus unused. Removed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cde4577f11cd557cfd48d752b7a0929d19eac9e9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: mptimer: Remove WDT distinction
In QEMU emulation, there is no functional difference between the ARM
mpcore
private timers and watchdogs. Removed all the distinction between the two
from
arm_mptimer.c and converted it to be just the mptimer. a9mpcore and
arm11mpcore
just instantiate the same mptimer object twice to get both timer and WDT.
If in the future we want to make the WDT functionally different then we
can use
either QOM hierarchy to derive WDT from from mptimer, or we can add a
property
"is-wdt" or some such.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 845769fc6319d308a39a78734c6dc03fa93ff2c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: arm11mpcore, a9mpcore: CamelCased type names
To conform with QEMU coding style.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6205ddf6cff202ac0ce6621987cd3de8b57adee
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: mptimer: CamelCased type names
Trivial find replace on type names "timerblock" and "arm_mptimer_state" to
conform with QEMU coding style.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1be97bf22447088adebf23b1ca508d4bb00f853c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/pflash_cfi01: Treat read in unknown command state as read
The code for handling the default "unknown command state" case in
pflash_read in pflash_cfi01.c comments "reset state & treat it as
a read". However the code doesn't actually do this. Moving the
default case to the top of the switch so it can fall through into
the read case brings this file into line with pflash_cfi02 and
makes the code behave as the comments suggest.
The pflash_cfi01 code has always had this bug -- it was presumably
introduced when the original author copied the cfi02 code and
rearranged the order of the switch statement without noticing
that the default case relied on the fall-through.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1358777318-7579-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 6e392787c85809671033ec419d8e8ecf684d55da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/pflash_cfi01: Make read after byte-write or erase return status
The Intel flash command set requires that a read operation after
doing a 'single byte write' command returns the status register;
add this case to pflash_read() so we return the correct information.
Similarly, the case for the 0x28 flavour of block erase was missing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1358777318-7579-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 5c78d6a84b504e831adc8f1917cde0c79061dff0
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/ds1338: Fix conversion between 12 hours and 24 hours modes.
The proper mapping between 24 hours and 12 hours modes is:
0 12 AM
1-11 1-11 AM
12 12 PM
13-23 1-11 PM
Fix code accordingly.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 09:18:56 2013 +0100
update seabios to 1.7.2.1
Alex Williamson (3):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function
Avik Sil (1):
USB-EHCI: Fix null pointer assignment
Kevin O'Connor (4):
Update tools/acpi_extract.py to handle iasl 20130117 release.
Fix Makefile - don't reference "out/" directly, instead use
"$(OUT)".
build: Don't require $(OUT) to be a sub-directory of the main
directory.
Verify CC is valid during build tests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a4bcea3d67949c6be45992bd5092a19f163bcd4e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 26 12:06:23 2013 -0800
target-i386: Use mulu2 and muls2
These correspond very closely to the insns that we're emulating.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 554f1997f0328bc259454239db64b20b3376d9a6
Author: Gal Hammer <ghammer@xxxxxxxxxx>
Date: Wed Feb 27 15:15:31 2013 +0200
Set virtio-serial device to have a default of 2 MSI vectors.
The virtio-serial device is expected to use 2 MSI vectors, one for
control queue and a second shared for all queues.
Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0e98b436eceb9d31caad898f4983a369c76524e0
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Feb 20 02:51:24 2013 +0100
ICH9 LPC: Reset Control Register, basic implementation
This commit does the same for the ICH9 LPC as commit 1ec4ba74 for the
PIIX3. For the present we're ignoring the Full Reset (FULL_RST) and System
Reset (SYS_RST) bits; the guest can read them back but that's it.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7feb640cf32d86f91f5a624136345eb6a63eab42
Author: Alexey Korolev <akorolex@xxxxxxxxx>
Date: Fri Feb 22 16:58:44 2013 +1300
Fix guest OS hang when 64bit PCI bar present
This patch addresses the issue fully described here:
http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html
Linux kernels prior to 2.6.36 do not disable the PCI device during
enumeration process. Since lower and higher parts of a 64bit BAR
are programmed separately this leads to qemu receiving a request to occupy
a completely wrong address region for a short period of time.
We have found that the boot process screws up completely if kvm-apic range
is overlapped even for a short period of time (it is fine for other
regions though).
This patch raises the priority of the kvm-apic memory region, so it is
never pushed out by PCI devices. The patch is quite safe as it does not
touch memory manager.
Signed-off-by: Alexey Korolev <akorolex@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2af234e61d59f39ae16ba882271e7c4fef2c41c1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Feb 14 19:11:27 2013 +0200
e1000: unbreak the guest network migration to 1.3
QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a
1.3 machine during link auto negotiation, the guest link will be set to
down.
Fix this by just disabling auto negotiation for 1.3 and older.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit af347aa5a521555f5342e67993eb717d4f542ba8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 22 18:31:51 2013 +0100
qmp: netdev_add is like -netdev, not -net, fix documentation
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40e8c26d7b7e260cc3566c6b68cee969e816970e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 26 11:07:16 2013 +0100
doc: document -netdev hubport
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6b26cf257232e5854c0e5c98a8685c625bf986e
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Feb 22 23:15:06 2013 +0800
net: reduce the unnecessary memory allocation of multiqueue
Edivaldo reports a problem that the array of NetClientState in NICState
is too
large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue
is not
used.
Instead of static arrays, solving this issue by allocating the queues on
demand
for both the NetClientState array in NICState and VirtIONetQueue array in
VirtIONet.
Tested by myself, with single virtio-net-pci device. The memory
allocation is
almost the same as when multiqueue is not merged.
Cc: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d26e445c80fddcc7483b83f3115e5067fef28fe6
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 10:17:08 2013 +0100
tap: set IFF_ONE_QUEUE per default
historically the kernel queues packets two times. once
at the device and second in qdisc. this is believed to cause
interface stalls if one of these queues overruns.
setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the
flag is ignored since then. see kernel commit
5d097109257c03a71845729f8db6b5770c4bbedc
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce675a7579fea498397c5d2da3c5367671e9f02a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Feb 21 11:05:56 2013 +0800
tap: forbid creating multiqueue tap when hub is used
Obviously, hub does not support multiqueue tap. So this patch forbids
creating
multiple queue tap when hub is used to prevent the crash when command
line such
as "-net tap,queues=2" is used.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d91ddd25e3a4e5008a2ac16127d51a34fd56bf1
Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Date: Tue Feb 5 18:29:09 2013 +0100
net: fix unbounded NetQueue
In the current implementation of qemu, running without a network
backend will cause the queue to grow unbounded when the guest is
transmitting traffic.
This patch fixes the problem by implementing bounded size NetQueue,
used with an arbitrary limit of 10000 packets, and dropping packets
when the queue is full _and_ the sender does not pass a callback.
The second condition makes sure that we never drop packets that
contains a callback (which would be tricky, because the producer
expects the callback to be run when all previous packets have been
consumed; so we cannot run it when the packet is dropped).
If documentation is correct, producers that submit a callback should
stop sending when their packet is queued, so there is no real risk
that the queue exceeds the max size by large values.
Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 199ee608f0d08510b5c6c37f31a7fbff211d63c4
Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Date: Tue Feb 5 17:53:31 2013 +0100
net: fix qemu_flush_queued_packets() in presence of a hub
When frontend and backend are connected through a hub as below
(showing only one direction), and the frontend (or in general, all
output ports of the hub) cannot accept more traffic, the backend
queues packets in queue-A.
When the frontend (or in general, one output port) becomes ready again,
quemu tries to flush packets from queue-B, which is unfortunately empty.
e1000.0 <--[queue B]-- hub0port0(hub)hub0port1 <--[queue A]-- tap.0
To fix this i propose to introduce a new function net_hub_flush()
which is called when trying to flush a queue connected to a hub.
Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b37a23df98faa26391a93373930bfb15b943e00
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Feb 21 13:16:06 2013 +0200
vhost: memory sync fixes
This fixes two bugs related to memory sync during
migration:
- ram address calculation was missing the chunk
address, so the wrong page was dirtied
- one after last was used instead of the
end address of a region, which might overflow to 0
and cause us to skip the region when the region ends at
~0x0ull.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Jason Wang <jasowang@xxxxxxxxxx>
commit ee24aaf356f44ca7c8fbef136a438c12091cffd0
Merge: 31e76f6... 7bd43ec...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 13:36:09 2013 -0600
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Jan Kiszka
# Via Jan Kiszka
* kiszka/queues/slirp:
slirp: Properly initialize pollfds_idx of new sockets
commit 31e76f65a98e1502cbfd362eed5768c48e264c23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Feb 26 00:46:10 2013 +0100
glib: Add compat wrapper for g_poll on old glib
Older glib doesn't implement g_poll(). Most notably the glib version in
use
on SLE11 is on 2.18 which is hit by this.
We do want to use g_poll() in the source however. So on older systems,
just
wrap it with functions that do exist on older versions.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1361835970-2889-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 989b697ddd46769b0999e8cd16b5ecd393204734
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 26 17:52:40 2013 +0000
qemu-log: default to stderr for logging output
Switch the default for qemu_log logging output from "/tmp/qemu.log"
to stderr. This is an incompatible change in some sense, but logging
is mostly used for debugging purposes so it shouldn't affect production
use. The previous behaviour can be obtained by adding "-D /tmp/qemu.log"
to the command line.
This change requires us to:
* update all the documentation/help text (we take the opportunity
to smooth out minor inconsistencies between the phrasing in
linux-user/bsd-user/system help messages)
* make linux-user and bsd-user defer to qemu-log for the default
logging destination rather than overriding it themselves
* ensure that all logfile closing is done via qemu_log_close()
and that that function doesn't close stderr
as well as the obvious change to the behaviour of do_qemu_set_log()
when no logfile name has been specified.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1361901160-28729-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab4004495cb1cf38ab2e35f84ee54e669e2ad08a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Feb 25 10:27:48 2013 +0800
show --disable-gtk and --enable-gtk in the help message
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1361759268-16314-1-git-send-email-hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc0477c7d6445730b22e733ad4a65f0cc23fa405
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:46 2013 +0000
Add compat for GDK_KEY_XXX symbols
The GDK_KEY_XXX symbols are new in GTK3 and only the most
recent GTK2 releases. Most versions of GTK2 have simply
used GDK_XXX
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-14-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef6413a2a833abe24aae072bd59c7434969fc59d
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:45 2013 +0000
Add compat macro for gtk_widget_get_realized
The gtk_widget_get_realized method only arrived in GTK 2.20,
so defined a compat macro for earlier GTK
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-13-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 528de90ab7133e22df7c1da4632a6dcd525e88f0
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:44 2013 +0000
Add support for enabling build with GTK3
Add a arg to configure to switch from GTK2 (default) to
GTK3 (optional) build for QEMU.
./configure --with-gtkabi=3.0
will choose GTK3, while
./configure --with-gtkabi=2.0
will choose GTK2 (and remains the current default)
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-12-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d20664018a401120af28ff80ac8d22fbc887956
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:43 2013 +0000
Ensure x_keymap.o is built when GTK is enabled
The x_keymap.o file is required by both GTK and SDL builds,
so it must be explicitly listed as a GTK dep to ensure the
linker works when SDL is disabled
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-11-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe43bca85b269314b007cd9b2eecc4a52aa73dde
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:42 2013 +0000
Replace expose-event handler with draw handler in GTK3
In GTK3 the 'expose-event' signal has been replaced by a new
'draw' signal. The only difference is that the latter will
pre-create the cairo drawing context & set the clip mask.
Since the drawing code is already structured in a nice way,
we can just wire up the 'gd_draw_event' method to the 'draw'
signal in GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-10-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ed76b59c4f8670eb06df48cebe086da06111e1f
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:41 2013 +0000
Conditionalize use of gtk_widget_size_request
The gtk_widget_size_request method has been replaced by
the gtk_widget_get_preferred_size method in GTK3. Conditionally
call the new method in GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-9-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8906de769be0978fed31a0341d0a5829a4ef7ecf
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:40 2013 +0000
Conditionalize use of gdk_display_warp_pointer
In GTK3 the gdk_display_warp_pointer method is deprecated.
Instead we should use gdk_device_warp on the GdkDevice
instead associated with the event being processed.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-8-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 530daf82c129c2a8a6fa757b3ef5a21f1f50f66a
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:39 2013 +0000
Replace gtk_menu_append with gtk_menu_shell_append
The gtk_menu_append method has long been deprecated in favour
of the gtk_menu_shell_append method. The former is now entirely
gone in GTK3, so switch all code to the latter which works on
both GTK2 and GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-7-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 51572ab087b900ea67cc25f1c49dae4112274221
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:38 2013 +0000
Remove use of GtkVBox in GTK3
The GtkVBox class is deprecated, in favour of just using the
GtkBox class directly. Eventually even GtkBox will be
deprecated in favour of GtkGrid, but that is a bigger fix
which can wait.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-6-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a05485d72504ed92ce91dffd1f5867974c47ff0
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:37 2013 +0000
Conditionalize use of gdk_pointer_grab / gdk_pointer_ungrab
On GTK3 there is support for multiple pointer devices, so
rather than using gdk_pointer_grab / gdk_pointer_ungrab
we should iterate over all devices, grabbing each one in
turn
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-5-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 655199da197d2c3407d4bc937c9d3d3ac4551764
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:36 2013 +0000
Conditionalize use of gdk_keyboard_grab / gdk_keyboard_ungrab
On GTK3 there is support for multiple keyboard devices, so
rather than using gdk_keyboard_grab / gdk_keyboard_ungrab
we should iterate over all devices, grabbing each one in
turn
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-4-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66962f14378d0adf2e7d0fcfac66e2248b09bb4d
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:35 2013 +0000
Remove use of gdk_drawable_get_{screen, display}
The gdk_drawable_get_screen and gdk_drawable_get_display
methods don't exist in GDK3. Fortunately, even on GTK2
they are not required - we can call the equivalent
gtk_widget_get_screen/gtk_widget_get_display methods
which have existed since GTK 2.2
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-3-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cba68834c69f2d0fd04127301171fedac63d9b67
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:34 2013 +0000
Add compat for gdk_drawable_get_size on GTK3
GTK3 lacks the gdk_drawable_get_size method, so we create a
stub impl which gets the get_width/get_height mehtods instead
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-2-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f963e4d0ca5b7704aed8048e2bc293597d333dfb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 16:02:30 2013 +0100
gtk ui: unbreak spice
Merge of the gtk ui brought a initialitation order issue for spice:
The using_spice variable isn't set yet when checked, leading to the
default UI being activated (additionally to spice remote access).
Let's set display_remote when we find a -spice switch on the command
line, like we do for vnc.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1361804550-15858-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 864a556e9a800116a305f10fbb714268ca7e9bc3
Merge: 9a1d7f0... bf3caa3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:39 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Paolo Bonzini (7) and others
# Via Kevin Wolf
* kwolf/for-anthony: (22 commits)
pc: add compatibility machine types for 1.4
blockdev: enable discard by default
qemu-nbd: add --discard option
blockdev: add discard suboption to -drive
block: implement BDRV_O_UNMAP
block: complete all IOs before .bdrv_truncate
coroutine: trim down nesting level in perf_nesting test
coroutine: move pooling to common code
qemu-iotests: Test qcow2 image creation options
qemu-iotests: Add qemu-img compare test
qemu-img: Add compare subcommand
qemu-img: Add "Quiet mode" option
block: Add synchronous wrapper for bdrv_co_is_allocated_above
block: refuse negative iops and bps values
block: use Error in do_check_io_limits()
qcow2: support compressed clusters in BlockFragInfo
qemu-img: add compressed clusters to BlockFragInfo
qemu-img: fix missing space in qemu-img check output
qcow2: record fragmentation statistics during check
qcow2: introduce check_refcounts_l1/l2() flags
...
commit 9a1d7f00efd4b69f051d4223a70ca91af0ccb19d
Merge: b1c07f0... 90f8ae7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:32 2013 -0600
Merge remote-tracking branch 'quintela/stats.next' into staging
# By Juan Quintela
# Via Juan Quintela
* quintela/stats.next:
migration: calculate expected_downtime
migration: don't account sleep time for calculating bandwidth
migration: calculate end time after we have sent the data
migration: change initial value of expected_downtime
commit b1c07f06ed0e2094197274e636a90ad33674653c
Merge: 08f4a0f... 3960c41...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:24 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Markus Armbruster
# Via Luiz Capitulino
* luiz/queue/qmp:
check-qjson: More thorough testing of UTF-8 in strings
commit 7bd43ec2dd3ffaa12e6331af41fc55d4b2b12f13
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 20:47:10 2013 +0100
slirp: Properly initialize pollfds_idx of new sockets
Otherwise we may start processing sockets in slirp_pollfds_poll that
were created past slirp_pollfds_fill.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 08f4a0f7ee899c32bac91114e859d2687cbcf1d7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 25 11:41:40 2013 -0800
target-ppc: Fix SUBFE carry
While ~T0+T1+CF = T1-T0+CF-1 is true for the low 32-bits,
it does not produce the correct carry-out to bit 33. Do
exactly what the manual says.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e77f083292916ba43b940fdacd2fc1001b750d1d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 25 11:41:39 2013 -0800
target-arm: Fix sbc_CC carry
While T0+~T1+CF = T0-T1+CF-1 is true for the low 32-bits,
it does not produce the correct carry-out to bit 33. Do
exactly what the manual says.
Using the ~T1 makes the add and subtract code paths nearly
identical, so have sbc_CC use adc_CC.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c3ac601bdaf8d4d81823a79f2a166b586db7dab
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 25 11:41:38 2013 -0800
arm/translate.c: Fix adc_CC/sbc_CC implementation
commits 49b4c31efcce45ab714f286f14fa5d5173f9069d and
2de68a4900ef6eb67380b0c128abfe1976bc66e8 reworked the implementation of
adc_CC
and sub_CC. The new implementations (on the TCG_TARGET_HAS_add2_i32 code
path)
are incorrect. The new logic is:
CF:NF = 0:A +/- 0:CF
CF:NF = CF:A +/- 0:B
The lower 32 bits of the intermediate result stored in NF needs to be
passes
into the second addition in place of A (s/CF:A/CF:NF):
CF:NF = 0:A +/- 0:CF
CF:NF = CF:NF +/- 0:B
This patch fixes the issue.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a345481baa2b2fb3d54f8c9ddb58dfcaf75786df
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Thu Feb 7 19:36:09 2013 +0100
target-mips: fix for sign-issue in MULQ_W helper
Correct sign-propagation before multiplication in MULQ_W helper.
The change also fixes previously incorrect expected values in the
tests for MULQ_RS.W and MULQ_S.W.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9c19eb1e205b29018f6f61c5f43db6abbe7dc0e5
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Feb 6 18:05:25 2013 +0100
target-mips: fix for incorrect multiplication with MULQ_S.PH
The change corrects sign-related issue with MULQ_S.PH. It also includes
extension to the already existing test which will trigger the issue.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2123a079d983677ec8333940aa4bec803d98cde
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:26 2013 -0800
target-xtensa: Use add2/sub2 for mac
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9cda20bc55e549d31e791bfa55eabe3642b73a7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:25 2013 -0800
target-xtensa: Use mul*2 for mul*hi
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d1f8cd839136337b713a05aaf11a5f189e81532d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:24 2013 -0800
target-unicore32: Use mul*2 for do_mult
Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d3b708491b9d7dde573261fdee8ca0afc6980fd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:23 2013 -0800
target-sh4: Use mul*2 for dmul*
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 528692a8a4fb6c545d818957e758d6ad70fa255c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:22 2013 -0800
target-sparc: Use mul*2 for multiply
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 15fe216fc510c2a0ecf39536bbbc92ba75beb963
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:21 2013 -0800
target-sparc: Use official add2/sub2 interfaces for addx/subx
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e4a2c846248ff8e786e741bc4bc3103b24dfba74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:20 2013 -0800
target-ppc: Compute mullwo without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ba4af3e422f7ba2de58fd752d6ca89922c259a74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:19 2013 -0800
target-ppc: Compute arithmetic shift carry without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fd3f0081e5d873b26b9988b48f7118a9914bbd64
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:18 2013 -0800
target-ppc: Implement neg in terms of subf
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:17 2013 -0800
target-ppc: Use add2 for carry generation
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 146de60dcade65a401c6665ae4b51c2b15dfaa55
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:16 2013 -0800
target-ppc: Compute addition carry with setcond
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ffe30937c89dd67a53bf3f35b962701cd9d8f70e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:15 2013 -0800
target-ppc: Compute addition overflow without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2fdcb629071cb6206028bc7d6b69f3585fc365ec
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:14 2013 -0800
target-ppc: Use setcond in gen_op_cmp
Which means that callers need not copy data into local tmps.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit da91a00f191fc70ea7d81d7476ef933c562e6fcd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:13 2013 -0800
target-ppc: Split out SO, OV, CA fields from XER
In preparation for more efficient setting of these fields.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 23ad1d5d3c00cd07ab7aedc128565c6029802c30
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:12 2013 -0800
target-ppc: Use mul*2 in mulh* insns
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bf45f97133b7f81d27711971a9e28d60528d90c8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:11 2013 -0800
target-cris: Use mul*2 in mul* insns
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ce1dd5d1bbb0a3769566cb6967714c8c8c97a815
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:10 2013 -0800
target-mips: Use mul[us]2 in [D]MULT[U] insns
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2de68a4900ef6eb67380b0c128abfe1976bc66e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:09 2013 -0800
target-arm: Implement sbc_cc inline
Use sub2 if available, otherwise use 64-bit arithmetic.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 49b4c31efcce45ab714f286f14fa5d5173f9069d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:08 2013 -0800
target-arm: Implement adc_cc inline
Use add2 if available, otherwise use 64-bit arithmetic.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:07 2013 -0800
target-arm: Use add2 in gen_add_CC
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9f10124a2704b6bab21b31e79735b18d414a654
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:06 2013 -0800
target-arm: Use mul[us]2 and add2 in umlal et al
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 831d7fe800774db0d7142fdf2a8f8758c8bf9c92
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:05 2013 -0800
target-arm: Use mul[us]2 in gen_mul[us]_i64_i32
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:04 2013 -0800
target-s390x: Use mulu2 for mlgr insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:03 2013 -0800
target-alpha: Use mulu2 for umulh insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f1fae40c61fd4558c7d10992c98b4bb47f99e0ed
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:02 2013 -0800
tcg: Apply life analysis to 64-bit multiword arithmetic ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f402f38f439f17d4361b28248f948a6170d30133
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:01 2013 -0800
tcg: Implement muls2 with mulu2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 76f131332310d8317880ef73a2bc90725d857ed3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:00 2013 -0800
target-i386: Use add2 to implement the ADX extension
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d693e14733509f9a2124b03a912058790411140a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:58 2013 -0800
tcg-arm: Implement muls2_i32
We even had the encoding of smull already handy...
Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 624988a53b4db34ee2a2b96dc2bccdf52e133a0a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:57 2013 -0800
tcg-i386: Implement multiword arithmetic ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f6953a739972353f2cc5e3d5994127ca8c8236ce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:56 2013 -0800
tcg: Implement multiword addition helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 696a8be6a077a5760bbf9822209999c908cdf0b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:55 2013 -0800
tcg: Implement multiword multiply helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:54 2013 -0800
tcg: Implement a 64-bit to 32-bit extraction helper
We're going to have use for this shortly in implementing other helpers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:53 2013 -0800
tcg: Add signed multiword multiplication operations
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d7156f7ce4581c874df4a27409e7d99873faa413
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:52 2013 -0800
tcg: Add 64-bit multiword arithmetic operations
Matching the 32-bit multiword arithmetic that we already have.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:51 2013 -0800
tcg-sparc: Always implement 32-bit multiword ops
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bbc863bfecfb3e3a3e21ce569e25046e24c0487c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:50 2013 -0800
tcg-i386: Always implement 32-bit multiword ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e6a72734549bd05d06d19957518811c24a6cbee4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:49 2013 -0800
tcg: Make 32-bit multiword operations optional for 64-bit hosts
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f708e736d0dafc05f8b7e9e73d6440c930b94686
Merge: 6ab7e54... f437d0a...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Feb 23 17:21:41 2013 +0000
Merge branch 'eflags3' of git://github.com/rth7680/qemu
* 'eflags3' of git://github.com/rth7680/qemu: (61 commits)
target-i386: Use movcond to implement shiftd.
target-i386: Discard CC_OP computation in set_cc_op also
target-i386: Use movcond to implement rotate flags.
target-i386: Use movcond to implement shift flags.
target-i386: Add CC_OP_CLR
target-i386: Implement tzcnt and fix lzcnt
target-i386: Use clz/ctz for bsf/bsr helpers
target-i386: Implement ADX extension
target-i386: Implement RORX
target-i386: Implement SHLX, SARX, SHRX
target-i386: Implement PDEP, PEXT
target-i386: Implement MULX
target-i386: Implement BZHI
target-i386: Implement BLSR, BLSMSK, BLSI
target-i386: Implement BEXTR
target-i386: Implement ANDN
target-i386: Implement MOVBE
target-i386: Decode the VEX prefixes
target-i386: Tidy prefix parsing
target-i386: Use CC_SRC2 for ADC and SBB
...
commit 6ab7e5465a4d6188e29398fb43a30dbab1015b75
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 20 15:21:09 2013 +0000
Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp()
The setjmp() function doesn't specify whether signal masks are saved and
restored; on Linux they are not, but on BSD (including MacOSX) they are.
We want to have consistent behaviour across platforms, so we should
always use "don't save/restore signal mask" (this is also generally
going to be faster). This also works around a bug in MacOSX where the
signal-restoration on longjmp() affects the signal mask for a completely
different thread, not just the mask for the thread which did the longjmp.
The most visible effect of this was that ctrl-C was ignored on MacOSX
because the CPU thread did a longjmp which resulted in its signal mask
being applied to every thread, so that all threads had SIGINT and SIGTERM
blocked.
The POSIX-sanctioned portable way to do a jump without affecting signal
masks is to siglongjmp() to a sigjmp_buf which was created by calling
sigsetjmp() with a zero savemask parameter, so change all uses of
setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf,
0)
to save the signal mask; however the following siglongjmp() must not
restore the signal mask, so the pair can be effectively considered as
"sigjmp/longjmp which don't touch the mask".]
For Windows we provide a trivial sigsetjmp/siglongjmp in terms of
setjmp/longjmp -- this is OK because no user will ever pass a non-zero
savemask.
The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c
are left untouched because these are self-contained singlethreaded
test programs intended to be run under QEMU's Linux emulation, so they
have neither the portability nor the multithreading issues to deal with.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d1c36ba707637173b818652e51181370d51b6c58
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 12:45:07 2013 +0100
SPARC LEON power-down support added
Signed-off-by: Ronald Hecht <address@hidden>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7a0a9c2c64be242d5953d5ce6172976b05f6c14f
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 12:45:06 2013 +0100
Added LEON MMU ASI mappings and corrected LEON3 MMU masks.
This patch adds SPARC ASI mappings that are used by the LEON processor.It
also
corrects the MMU context register and context table pointer mask of the
LEON3.
Signed-off-by: Ronald Hecht <ronald.hecht@xxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 99e448006d9267d71c2e3a629b6e5d29ed67bb30
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 17:22:11 2013 +0100
grlib-apbuart: Add support of various flags
- enable/disable Rx and Tx
- Rx and Tx interrupt
- Tx FIFO empty and Tx SHIFT empty
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8eda222831d31e6562bf1ce50d22fa29e1b6d958
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Feb 19 17:22:10 2013 +0100
Typo: replace gptimer by apbuart
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit af18078d8057203b1ed26ac5534d233aabb36886
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 2 17:17:54 2013 +0000
disas/i386.c: Add explicit braces round empty for-loop body
Add explicit braces round an empty for-loop body; this fits
QEMU style and is easier to read than an inconspicuous semicolon
at the end of the line. It also silences a clang warning:
disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body]
for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++);
^
disas/i386.c:4723:49: note: put the semicolon on a separate line to
silence this warning [-Wempty-body]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 632314c49ce20ee9c974f07544d9125fbbbfbe1b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 12 16:13:27 2013 +0000
qemu-log: Remove qemu_log_try_set_file() and its users
Remove the function qemu_log_try_set_file() and its users (which
are all in TCG code generation functions for various targets).
This function was added to abstract out code which was originally
written as "if (!logfile) logfile = stderr;" in order that BUG:
case code which did an unguarded "fprintf(logfile, ...)" would
not crash if debug logging was not enabled. Since those direct
uses of logfile have also been abstracted away into qemu_log()
calls which check for a NULL logfile, there is no need for the
target-* files to mess with the user's chosen logging settings.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 685cbd2f63a48bd111bd2c3c4a2228029595ba12
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Thu Feb 21 22:58:08 2013 +0100
xhci: fix bad print specifier
This fixes the following compilation error:
hw/usb/hcd-xhci.c:1156:17: error: format â??%llxâ?? expects argument of
type
â??long long unsigned intâ??, but argument 4 has type â??unsigned intâ??
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 30e8f22b7bc6694b9abea43f45db6fd5be4df429
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 20:53:33 2013 +0100
gtk: Rename File to Machine menu and add pause, reset and power down items
This adds basic guest control commands to the "Machine" menu - a nice
added-value for the GTK UI.
We use "pause" as the term for stopping the machine here. So reword also
the related caption tag.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 104092825ac3274d16ffc35b7ef9ac8c636e1c48
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 20:33:34 2013 +0100
ui/gtk: Use menu item from stock for full screen
This reduces the required translations and gives a nicer menu
with an icon.
The full screen menu item is no longer a check menu item.
A checked item is not visible in full screen mode,
so it is not needed for this special menu item.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361561614-11180-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28d2e5b27d538d94d2489d657b563c58b4d69bc4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 20:09:59 2013 +0100
ui/gtk: Support versions of VTE before 0.26
This is needed for current Debian stable (Squeeze).
VTE versions before 0.26 did not support VtePty.
Lower the version requirement and use alternate code which works for
Debian.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361560199-28906-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c95e3080a44946ac5739542b549f5a10ee4ec377
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 22 21:08:51 2013 +0100
Reenable -Wstrict-prototypes
One part of this patch reverts commit 22bc9a46, which disabled the
warning. The rest of it deals with the warning by adding a #pragma for
newer gcc and by disabling -Werror for compilers that can't deal with
the #pragma.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1361563731-13307-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf3caa3dc17552b323cec6831301a22cfc98ecd5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:15 2013 +0100
pc: add compatibility machine types for 1.4
Adds both pc-i440fx-1.4 and pc-q35-1.4.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 215e47b9ea2cd7926333b7dc683024aa00e0c386
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:14 2013 +0100
blockdev: enable discard by default
Because discard is now a host parameter, we can always fake it as enabled
in the guest. This is an extension of the current choice to ignore
"not supported" errors from the host when discard_granularity is set
to nonzero.
The default granularity is set to the logical block size or 4k, whichever
is largest, because cluster sizes below 4k are rarely used and 4K is a
typical block size for files.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ded9d2d5e247dc4d141c01bc8dc99d6ec832f9e8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:13 2013 +0100
qemu-nbd: add --discard option
Similar to --cache and --aio, this option mimics the discard suboption
of "-drive".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a9384aff5315e7568b6ebc171f4a482e01f06526
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:12 2013 +0100
blockdev: add discard suboption to -drive
Add support for BDRV_O_UNMAP from the QEMU command-line.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e8f1835ea3ab3be83634f34c1bb8b69cd871766
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:11 2013 +0100
block: implement BDRV_O_UNMAP
It is better to present homogeneous hardware independent of the storage
technology that is chosen on the host, hence we make discard a host
parameter; the user can choose whether to pass it down to the image
format and protocol, or to ignore it.
Using DISCARD with filesystems can cause very severe fragmentation, so it
is left default-off for now. This can change later when we implement the
"anchor" operation for efficient management of preallocated files.
There is still one choice to make: whether DISCARD has an effect on the
dirty bitmap or not. I chose yes, though there is a disadvantage: if
the guest is buggy and issues discards for data that is in use, there
will be no way to migrate storage for that guest without downgrading
the machine type to an older one.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9a665b2b8640e464f0a778216fc2dca8d02acf33
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 18 13:48:31 2013 +0100
block: complete all IOs before .bdrv_truncate
bdrv_truncate() invalidates the bdrv_check_request() result for
in-flight requests, so there should better be none.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 027003152f4cf21952f9282b4487daf3fdd372ba
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 19 11:59:10 2013 +0100
coroutine: trim down nesting level in perf_nesting test
20000 nested coroutines require 20 GB of virtual address space.
Only nest 1000 of them so that the test (only enabled with
"-m perf" on the command line) runs on 32-bit machines too.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 402397843e20e35d6cb7c80837c7cfdb19ede591
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 19 11:59:09 2013 +0100
coroutine: move pooling to common code
The coroutine pool code is duplicated between the ucontext and
sigaltstack backends, and absent from the win32 backend. But the
code can be shared easily by moving it to qemu-coroutine.c.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4dc9f9d67dbf5d062d8db188b81cef435f291dd8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 29 10:46:52 2013 +0100
qemu-iotests: Test qcow2 image creation options
Just create lots of images and try out each of the creation options that
qcow2 provides (except backing_file/fmt for now)
I'm not totally happy with the behaviour of qemu-img in each of the
cases, but let's be explicit and update the test when we do change
things later.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e930d201bc8066a314b9e115e4a2afca50f9c504
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:42 2013 +0100
qemu-iotests: Add qemu-img compare test
Simple test for qemu-img compare to check it's working correctly.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d14ed18c8d10a936e6f8b55f56afb4b75c305e10
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:41 2013 +0100
qemu-img: Add compare subcommand
This patch adds new qemu-img subcommand that compares content of two disk
images.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f382d43a9180ed20c671dc058d5452c2df7d3c61
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:40 2013 +0100
qemu-img: Add "Quiet mode" option
There can be a need to turn output to stdout off. This patch adds a -q
option
that enable "Quiet mode". In Quiet mode, only errors are printed out.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b35b2bba5b372ff912c5fe7e5ad6c5a9d883464f
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:39 2013 +0100
block: Add synchronous wrapper for bdrv_co_is_allocated_above
There's no synchronous wrapper for bdrv_co_is_allocated_above function
so it's not possible to check for sector allocation in an image with
a backing file.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d81c1413c9c9bdcc966453636e4ca7776b59861
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 16:53:43 2013 +0100
block: refuse negative iops and bps values
Negative I/O throttling iops and bps values do not make sense so reject
them with an error message.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c546194f260fb3e391193cb8cc33505618077ecb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 16:53:42 2013 +0100
block: use Error in do_check_io_limits()
The do_check_io_limits() function returns false when I/O limits are
invalid but it doesn't set an Error to indicate why. The two
do_check_io_limits() callers duplicate error reporting. Solve this by
passing an Error pointer into do_check_io_limits().
Note that the two callers report slightly different errors: drive_init()
prints a custom error message while qmp_block_set_io_throttle() does
error_set(errp, QERR_INVALID_PARAMETER_COMBINATION).
QERR_INVALID_PARAMETER_COMBINATION is a generic error, see
include/qapi/qmp/qerror.h:
#define QERR_INVALID_PARAMETER_COMBINATION \
ERROR_CLASS_GENERIC_ERROR, "Invalid parameter combination"
Since it is generic we are not obliged to keep this error. Switch to
the custom error message which contains more information.
This patch prepares for adding additional checks with their own error
messages to do_check_io_limits(). The next patch adds a new check.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4db35162ea54d84c29074adfcff470ee2687e7b9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:05 2013 +0100
qcow2: support compressed clusters in BlockFragInfo
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e6439d783cce2c5cdbe4f8028f0b45162b540f82
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:04 2013 +0100
qemu-img: add compressed clusters to BlockFragInfo
Show how many clusters are compressed. This can be used to monitor how
many compressed clusters remain and whether to recompress the image.
Suggested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c9fc50839863f05545caca92bb9fbead8b1c91bd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:03 2013 +0100
qemu-img: fix missing space in qemu-img check output
The qemu-img check fragmentation printf() is missing a space before the
'=' sign. The human output is not guaranteed to be stable and we are
not aware of screen scrapers, so add the missing space.
Also fix the missing indentation of the printf() arguments.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fba31bae2d776fb4134186a830a252523df7933f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:02 2013 +0100
qcow2: record fragmentation statistics during check
The qemu-img check command can display fragmentation statistics:
* Total number of clusters in virtual disk
* Number of allocated clusters
* Number of fragmented clusters
This patch adds fragmentation statistics support to qcow2.
Compressed and normal clusters count as allocated. Zero clusters are
not counted as allocated unless their L2 entry has a non-zero offset
(e.g. preallocation).
Only the current L1 table counts towards the statistics - snapshots are
ignored.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 801f70445293ec8ed2d78fd92313c2f71fa48ac9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:01 2013 +0100
qcow2: introduce check_refcounts_l1/l2() flags
The check_refcounts_l1/l2() functions have a check_copied argument to
check that the QCOW_O_COPIED flag is consistent with refcount == 1.
This should be a bool, not an int.
However, the next patch introduces qcow2 fragmentation statistics and
also needs to pass an option to check_refcounts_l1/l2(). This is a good
opportunity to use an int flags field.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8599ea4c42c098d2657ed632ad569f7a665706a4
Author: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Date: Mon Jan 28 06:59:47 2013 -0500
qemu-img: add json output option to the check command
This option --output=[human|json] makes qemu-img check output a human
or JSON representation at the choice of the user.
Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c6bb9ad198c2caa9c7c8ba360a07630b5c10e4a8
Author: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Date: Mon Jan 28 06:59:46 2013 -0500
qemu-img: find the image end offset during check
This patch adds the support for reporting the image end offset (in
bytes). This is particularly useful after a conversion (or a rebase)
where the destination is a block device in order to find the first
unused byte at the end of the image.
Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5cbb08283789caf7dbfd0890dcff47124ad766c2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 22 08:40:30 2013 -0600
ui/gtk: require at least GTK 2.18 and VTE 0.26
This gives us the bare amount of features we need. We can add work
arounds
for older versions and lower the requirement but this should be a good
starting point.
Suggested-by: Daniel Berrange <berrange@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
---
v1 -> v2
- tremendous simplification suggested by danpb
commit 82fb0c8908ccbf775be749be9eb3fc0a5813ceaa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 12:11:59 2013 +0100
unbreak hw/usb/redirect.c build
Commit 8550a02d1239415342959f6a32d178bc05c557cc added a streams
parameter to usb_wakeup and didn't update redirect.c. Fix it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3f58eadeed497445a0ce11468c7394cb3d3f1b65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 07:28:01 2013 +0100
ui/gtk: Fix build (missing include for setlocale)
At least for Ubuntu Linux locale.h is needed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361514481-26164-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90f8ae724a575861f093fbdbfd49a925bcfec327
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 13:22:37 2013 +0100
migration: calculate expected_downtime
We removed the calculation in commit
e4ed1541ac9413eac494a03532e34beaf8a7d1c5
Now we add it back. We need to create dirty_bytes_rate because we
can't include cpu-all.h from migration.c, and there is no other way to
include TARGET_PAGE_SIZE.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7161082c8d8cf167c508976887a0a63f4db92b51
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 12:41:38 2013 +0100
migration: don't account sleep time for calculating bandwidth
While we are sleeping we are not sending, so we should not use that
time to estimate our bandwidth.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a3e879cd51c4f614f702117c4b1449f0218c00f3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 12:39:08 2013 +0100
migration: calculate end time after we have sent the data
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit cc283e3bf04d2f64eb6ec2ee5bcd36edd779fe89
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 11:12:26 2013 +0100
migration: change initial value of expected_downtime
0 is a very bad initial value, what we are trying to get is
max_downtime, so that is a much better estimation.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 73d4dc71f3a41131541c73b3ac2a8b160a51842b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:26 2013 -0600
gtk: suppress accelerators from the File menu when grab is active
If you're full screen, you probably expect Ctrl-Q to go to the guest,
not the host. I think restricting certain menus is the right way to
handle this generally speaking.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-10-git-send-email-aliguori@xxxxxxxxxx
commit 15546425c5527ebb08ede399373b705866f1ff84
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:25 2013 -0600
gtk: make default UI (v5)
A user can still enable SDL with '-sdl' or '-display sdl' but start
making the
default display GTK by default.
I'd also like to deprecate the SDL display and remove it in a few
releases.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-9-git-send-email-aliguori@xxxxxxxxxx
commit 834574ea89fa9c3ee0a557a13ad3f50db2509054
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:24 2013 -0600
gtk: add translation support (v5)
This includes a de_DE translation from Kevin Wolf and an it translation
from
Paolo Bonzini.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-8-git-send-email-aliguori@xxxxxxxxxx
commit c61584833c579cd7bf800499124ce3d0e15bfb37
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:23 2013 -0600
gtk: add support for screen scaling and full screen (v5)
Basic menu items to enter full screen mode and zoom in/out. Unlike SDL,
we
don't allow arbitrary scaling based on window resizing. The current
behavior
with SDL causes a lot of problems for me.
Sometimes I accidentally resize the window a tiny bit while trying to
move it
(Ubuntu's 1-pixel window decorations don't help here). After that,
scaling is
now active and if the screen changes size again, badness ensues since the
aspect ratio is skewed.
Allowing zooming by 25% in and out should cover most use cases. We can
add a
more flexible scaling later but for now, I think this is a more friendly
behavior.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-7-git-send-email-aliguori@xxxxxxxxxx
commit 5104a1f65088285ddf870aa641b9061064e8757d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:22 2013 -0600
gtk: add support for input grabbing (v2)
There is a small deviation from SDL's behavior here. Instead of Ctrl+Alt
triggering grab, we now use Ctrl-Alt-g to trigger grab.
GTK will not accept Ctrl+Alt as an accelerator since it just consists of
modifiers. Having grab as a proper accelerator is important as it allows
a user
to override the accelerator for accessibility purposes.
We also are not automatically grabbing on left-click. Besides the
inability to
tie mouse clicks to an accelerator, I think this behavior is hard to
discover
and since it only happens depending on the guest state, it can lead to
confusing
behavior.
This can be changed in the future if there's a strong resistence to
dropping
left-click-to-grab, but I think we're better off dropping it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-6-git-send-email-aliguori@xxxxxxxxxx
commit d861def367b516055dc4c46dc1305143ee653c84
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:21 2013 -0600
gtk: add virtual console support (v2)
This enables VteTerminal to be used to render the text consoles.
VteTerminal is
the same widget used by gnome-terminal which means it's VT100 emulation
is as
good as they come.
It's also screen reader accessible, supports copy/paste, proper scrolling
and
most of the other features you would expect from a terminal widget.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-5-git-send-email-aliguori@xxxxxxxxxx
commit a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:20 2013 -0600
ui: add basic GTK gui (v5)
This is minimalistic and just contains the basic widget infrastructure.
The GUI
consists of a menu and a GtkNotebook. To start with, the notebook has
its tabs
hidden which provides a UI that looks very similar to SDL with the
exception of
the menu bar.
The menu bar allows a user to toggle the visibility of the tabs. Cairo
is used
for rendering.
I used gtk-vnc as a reference. gtk-vnc solves the same basic problems as
QEMU
since it was originally written as a remote display for QEMU. So for the
most
part, the approach to rendering and keyboard handling should be pretty
solid for
GTK.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-4-git-send-email-aliguori@xxxxxxxxxx
commit d82831dbc5471d72785c49b33710436af49bf9ca
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:19 2013 -0600
console: allow VCs to be overridden by UI
We want to expose VCs using a VteTerminal widget. We need access to
provide our
own CharDriverState in order to do this.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-3-git-send-email-aliguori@xxxxxxxxxx
commit 22bc9a46bda8f5f88626d3fb578f5d55953c9743
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:18 2013 -0600
build: disable Wstrict-prototypes
GTK won't build with strict-prototypes due to gtkitemfactory.h:
/* We use () here to mean unspecified arguments. This is deprecated
* as of C99, but we can't change it without breaking compatibility.
* (Note that if we are included from a C++ program () will mean
* (void) so an explicit cast will be needed.)
*/
typedef void (*GtkItemFactoryCallback) ();
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-2-git-send-email-aliguori@xxxxxxxxxx
commit 00e2ceae6c55bef40f5128a3e606f5c44351e0f9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 19 14:02:10 2013 +1000
qom/object.c: Allow itf cast with num_itfs = 0
num_interfaces only tells you how many interfaces the concrete child
class has
(as defined in the TypeInfo). This means if you have a child class which
defines
no interfaces of its own, but its parent has interfaces you cannot cast
to those
parent interfaces.
Fixed changing the guard to check the class->interfaces list instead
(which is
a complete flattened list of implemented interfaces).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a8c2db3b9b1f3c4bb81aca352b69e33260f36545.1361246206.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3e407de47700cce4babbe0f3ac35677e7b852cf6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 19 14:02:09 2013 +1000
qom/object.c: Reset interface list on inheritance
The QOM framework will attempt the recreate a classes interface list from
scratch for each class. This means that a child class should zero out the
list of interfaces when cloned from the parent class.
Currently the list is memcpy()d from the parent to the child. As the
interface
list is just a pointer to a list, this means the parent and child will
share
the same list of interfaces. When the child inits, it will append its own
interfaces to the parents list. This is incorrect as the parent should
not pick
up its childs interfaces.
This actually causes an infinite loop at class init time, as the child
will
iterate through the parent interface list adding each itf to its own
list(in
type_initialize()). As the list is (erroneously) shared, the new interface
instances for the child are appended to the parent, and the iterator
never hits
the tail and loops forever.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
1f58d2b629d82865dbb2fd5ba8445854049c4382.1361246206.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1424e0381a7f1c9969079eca4458d5f20bf1859
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 20 09:37:12 2013 +0100
vga: fix byteswapping.
In case host and guest endianness differ the vga code first creates
a shared surface (using qemu_create_displaysurface_from), then goes
patch the surface format to indicate that the bytes must be swapped.
The switch to pixman broke that hack as the format patching isn't
propagated into the pixman image, so ui code using the pixman image
directly (such as vnc) uses the wrong format.
Fix that by adding a byteswap parameter to
qemu_create_displaysurface_from, so we'll use the correct format
when creating the surface (and the pixman image) and don't have
to patch the format afterwards.
[ v2: unbreak xen build ]
Cc: qemu-stable@xxxxxxxxxx
Cc: mark.cave-ayland@xxxxxxxxxxxx
Cc: agraf@xxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1361349432-23884-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba43da36983a0bff2778abfa2338697da129030c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 20 16:24:22 2013 +0000
Remove elderly top level TODO file
The top level TODO file hasn't been touched since 2008, so it's now
an unhelpful and out of date mix of things that have already been done,
things that don't make sense any more and things which could in theory
be done but are not in practice important enough (or we'd have done
them some time in the last five years). Remove it. The bug tracking
system is probably a better place to track TODO items if we want to
do so.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1361377462-19816-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ca81baa0b3363d57de94f8b80c02a003b361161
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Feb 20 18:04:01 2013 +0800
help: add docs for multiqueue tap options
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1361354641-51969-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5a01a70ad49b518c2c4b0f0a37f5435f01ce716
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:33 2013 +0100
aio: support G_IO_HUP and G_IO_ERR
aio-posix.c could not take advantage of G_IO_HUP and G_IO_ERR because
select(2) does not have equivalent events. Now that g_poll(3) is used
we can support G_IO_HUP and G_IO_ERR.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-11-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6b5f876252b7aeec43e319afdf17705f512be2bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:32 2013 +0100
aio: convert aio_poll() to g_poll(3)
AioHandler already has a GPollFD so we can directly use its
events/revents.
Add the int pollfds_idx field to AioContext so we can map g_poll(3)
results back to AioHandlers.
Reuse aio_dispatch() to invoke handlers after g_poll(3).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-10-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0c8d2c05f67a1a007d87fa3b99254abfa42d06d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:31 2013 +0100
aio: extract aio_dispatch() from aio_poll()
We will need to loop over AioHandlers calling ->io_read()/->io_write()
when aio_poll() is converted from select(2) to g_poll(2).
Luckily the code for this already exists, extract it into the new
aio_dispatch() function.
Two small changes:
* aio_poll() checks !node->deleted to avoid calling handlers that have
been deleted.
* Fix typo 'then' -> 'them' in aio_poll() comment.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-9-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9cbaacf999b01b27dc3a22502705178057af66de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:30 2013 +0100
main-loop: drop rfds/wfds/xfds for good
Now that all *_fill() and *_poll() functions use GPollFD we no longer
need rfds/wfds/xfds or pollfds_from_select()/pollfds_to_select().
>From now on everything uses GPollFD.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-8-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3e4b4a8091cc4fcf7cb619570c72c54c2d6a6e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:29 2013 +0100
iohandler: switch to GPollFD
Convert iohandler_select_fill() and iohandler_select_poll() to use
GPollFD instead of rfds/wfds/xfds.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-7-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8917c3bdba37d6fe4393db0fad3fabbde9530d6b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:28 2013 +0100
slirp: switch to GPollFD
Slirp uses rfds/wfds/xfds more extensively than other QEMU components.
The rarely-used out-of-band TCP data feature is used. That means we
need the full table of select(2) to g_poll(3) events:
rfds -> G_IO_IN | G_IO_HUP | G_IO_ERR
wfds -> G_IO_OUT | G_IO_ERR
xfds -> G_IO_PRI
I came up with this table by looking at Linux fs/select.c which maps
select(2) to poll(2) internally.
Another detail to watch out for are the global variables that reference
rfds/wfds/xfds during slirp_select_poll(). sofcantrcvmore() and
sofcantsendmore() use these globals to clear fd_set bits. When
sofcantrcvmore() is called, the wfds bit is cleared so that the write
handler will no longer be run for this iteration of the event loop.
This actually seems buggy to me since TCP connections can be half-closed
and we'd still want to handle data in half-duplex fashion. I think the
real intention is to avoid running the read/write handler when the
socket has been fully closed. This is indicated with the SS_NOFDREF
state bit so we now check for it before invoking the TCP write handler.
Note that UDP/ICMP code paths don't care because they are
connectionless.
Note that slirp/ has a lot of tabs and sometimes mixed tabs with spaces.
I followed the style of the surrounding code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-6-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cf1d078e4ea094e516faab49678fbea3a34b7848
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:27 2013 +0100
slirp: slirp/slirp.c coding style cleanup
The slirp glue code uses tabs in some places. Since the next patch will
modify the file, convert tabs to spaces and fix checkpatch.pl issues.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-5-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 48ce11ff972c733afaed3e2a2613a2e56081ec92
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:26 2013 +0100
main-loop: switch POSIX glib integration to GPollFD
Convert glib file descriptor polling from rfds/wfds/xfds to GPollFD.
The Windows code still needs poll_fds[] and n_poll_fds but they can now
become local variables.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-4-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cbff4b342b000a7642125dbdabf61113e05eee44
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:25 2013 +0100
main-loop: switch to g_poll() on POSIX hosts
Use g_poll(3) instead of select(2). Well, this is kind of a cheat.
It's true that we're now using g_poll(3) on POSIX hosts but the *_fill()
and *_poll() functions are still using rfds/wfds/xfds.
We've set the scene to start converting *_fill() and *_poll() functions
step-by-step until no more rfds/wfds/xfds users remain. Then we'll drop
the temporary gpollfds_from_select() and gpollfds_to_select() functions
and be left with native g_poll(2).
On Windows things are a little crazy: convert from rfds/wfds/xfds to
GPollFDs, back to rfds/wfds/xfds, call select(2), rfds/wfds/xfds back to
GPollFDs, and finally back to rfds/wfds/xfds again. This is only
temporary and keeps the Windows build working through the following
patches. We'll drop this excessive conversion later and be left with a
single GPollFDs -> select(2) -> GPollFDs sequence that allows Windows to
use select(2) while the rest of QEMU only knows about GPollFD.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 134a03e0b3d34b01b68107104c525c3bff1211d4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:24 2013 +0100
main-loop: fix select_ret uninitialized variable warning
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3960c41f05bf776cc23a4a3b861f729fa65295a5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Feb 5 09:30:55 2013 +0100
check-qjson: More thorough testing of UTF-8 in strings
Test cases are scraped from Markus Kuhn's UTF-8 decoder capability and
stress test at
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
Unfortunately, both JSON parser and formatter misbehave right now.
This test expects current, incorrect results. They're all clearly
marked, and are to be replaced by correct ones as the bugs get fixed.
See comments in new utf8_string() for details.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 70aa41b56ce3f34fceac44e828ba2d8cc19523ee
Merge: 259dc0c... 89a453d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 21 09:39:17 2013 -0600
Merge remote-tracking branch 'kraxel/usb.78' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.78:
uas-uas: usb3 streams
usb-xhci: usb3 streams
usb-core: usb3 streams
usb: fix endpoint descriptor ordering
usb-redir: simplify packet copy
usb: make usb_packet_copy operate on combined packets
usb: add usb_ep_set_halted
usb-host: remove usb_host_device_close
usb-host: move legacy cmd line bits
usb-storage: use scsi_req_enqueue return value
allow disabling usb smartcard support
make usb devices configurable
fix scripts/make_device_config.sh
usb: Makefile cleanup
commit 259dc0c1ce8eef14e5e0c349bc68ba05c9d5d82f
Merge: cc2832a5... 159c983...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 21 09:38:27 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Alin Tomescu (1) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
.gitignore: Ignore optionrom/*.asm
ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c
Add some missing qtest binaries to .gitignore
xilinx_axienet.c: Assert no error when making link
Remove forward declaration of non-existant variable
commit 159c9836d057d8990e71399e8a431b2b911e2885
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Feb 19 17:41:28 2013 -0500
.gitignore: Ignore optionrom/*.asm
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11e5d738a4c68cd20e90477fa8b7ee873bf3e2c0
Author: Alin Tomescu <tomescu.alin@xxxxxxxxx>
Date: Wed Feb 20 21:36:09 2013 -0500
ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c
I was trying to launch a PowerPC "bamboo" machine with more than 256MB of
RAM
with qemu-system-ppc -M bamboo -kernel $kernel -initrd $ramdisk -m 512,
but QEMU
would just hang. However, when I used -m 256, the machine would boot.
I looked through the code in hw/ and it seems there is an error when the
RAM memory is setup (if my understanding is correct).
After patching it, the machine launched and booted successfully with
512MB of
RAM.
Signed-off-by: Alin Tomescu <tomescu.alin@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 499a6165bef56ce3f5297fa7b1abaab32858a34f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Feb 21 13:34:40 2013 +1100
Add some missing qtest binaries to .gitignore
These binaries are generated during make check on at least some
configurations, so att them to .gitignore.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b15aaca4303fe009870842dd922a0128b332a2fd
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 11 17:16:05 2013 +1000
xilinx_axienet.c: Assert no error when making link
This gives an awful silent failure when it doesn't work. Assert against
link
creation failure.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 87f1361c193c77dad428a7aa9bdce7ae2b76871f
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sun Feb 10 23:11:05 2013 +0100
Remove forward declaration of non-existant variable
This variable has been removed 5 years ago in
970ac5a3082428dca91171f270dcd95d6f4b2636.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f437d0a3c24e471a855da33a086fe529e09a06af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 21:06:31 2013 -0800
target-i386: Use movcond to implement shiftd.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2f515cf2f3795b9edb68eee42262e7c5f88fe98
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 14:48:43 2013 -0800
target-i386: Discard CC_OP computation in set_cc_op also
The shift and rotate insns use movcond to set CC_OP, and thus
achieve a conditional EFLAGS setting. By discarding CC_OP in
a later flags setting insn, we can discard that movcond.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34d80a55ff8517fd37bcfea5063b9797e2bd9132
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 19:16:45 2013 -0800
target-i386: Use movcond to implement rotate flags.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a41f62f592d9ecf97df4a12023760fe082b1ee68
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 17:52:59 2013 -0800
target-i386: Use movcond to implement shift flags.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 436ff2d227588d42970c4f0ed1cdfcb87c872fba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 29 13:38:43 2013 -0800
target-i386: Add CC_OP_CLR
Special case xor with self. We need not even store the known
zero into cc_src.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 321c535105a182501b888f095f7ec4dbb5f3f6ae
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 21 13:32:02 2013 -0800
target-i386: Implement tzcnt and fix lzcnt
We weren't computing flags for lzcnt at all. At the same time,
adjust the implementation of bsf/bsr to avoid the local branch,
using movcond instead.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f1300734cbca515d30953b2c87e259fa378ea301
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 21 11:52:26 2013 -0800
target-i386: Use clz/ctz for bsf/bsr helpers
And mark the helpers as NO_RWG_SE.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:17:33 2013 -0800
target-i386: Implement ADX extension
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 89a453d4a5c195e6d0a3c3d4fcaacb447447115f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 25 17:38:59 2013 +0100
uas-uas: usb3 streams
Add usb3 streams support to the uas (usb attached scsi) emulation.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 024426acc0a2707a85faa1983499647649d6d2db
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 25 17:23:44 2013 +0100
usb-xhci: usb3 streams
Add streams support to the xhci emulation. No secondary streams yet,
only linear stream arays are supported for now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8550a02d1239415342959f6a32d178bc05c557cc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 29 12:44:35 2013 +0100
usb-core: usb3 streams
This patch adds support for usb3 streams to the usb subsystem core.
This is just adding a streams field / parameter in a number of places.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e5df36df8d0c3ffe59de254ef016508b27562bb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 28 15:52:57 2013 +0100
usb: fix endpoint descriptor ordering
Fix the ordering of the endpoint descriptors for superspeed endpoints:
The superspeed companion must come first, possible additional
descriptors for the endpoint after that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6ef3ccd18f881a7bece556ff0fe1b0bf70ac2262
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 24 15:40:37 2013 +0100
usb-redir: simplify packet copy
usb_packet_copy can handle combined packets now,
so it isn't needed to special-case them any more.
Also use the new usb_packet_size() function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6a98d1c0f9e4f6a95d6ecd730ae6fdc70d15c73f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 24 15:38:23 2013 +0100
usb: make usb_packet_copy operate on combined packets
Likewise usb_packet_skip.
Also usb_packet_size.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e382d966d06d2989fc28eec8cfdcc2fd99ebfbb7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 13:40:59 2012 +0100
usb: add usb_ep_set_halted
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1a3973b33d36583d7194798f789a37759a13e269
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 30 13:02:47 2012 +0100
usb-host: remove usb_host_device_close
Nobody implements that anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4075975d832c55abdfc951726e54f9a28a2421c8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 23 14:15:38 2013 +0100
usb-host: move legacy cmd line bits
The code handling the "-usbdevice host:..." legacy command line
syntax is moved to the new hw/usb/host-legacy.c file.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9db7c41419e89adee5650a5868ac91e83614abf5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 22 14:17:05 2013 +0100
usb-storage: use scsi_req_enqueue return value
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07d17e772095ee2b1171498536e5671a97920149
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 11:08:24 2013 +0100
allow disabling usb smartcard support
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6c83f81542e4fda1777a74e4647a69086e44357c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 10:49:43 2013 +0100
make usb devices configurable
Leave the core usb devices (usb hub, tablet, mouse, keyboard)
enabled unconditionally. Make the other ones configurable.
Exceptions:
- bluetooth: not qdevified yet, has a vl.c dependency because
of that, thus disabling isn't as easy as not linking the
object file.
- smardcard: ccid-card-emulated depends on that one *and*
CONFIG_SMARTCARD_NSS. So it isn't a one-liner and comes
as separate patch because of that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4ece4046344230a3a030ef1e494599eaf0a5935
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 10:48:34 2013 +0100
fix scripts/make_device_config.sh
Make it handle multiple include statements in a file:
(1) The printf needs a space so the include files will be separated.
(2) Also $f can contain multiple failes, so redirection will not work
and we have to use cat to process all files.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 62162fff598f941c198b16b4e8814015ec5a0bef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 09:53:17 2013 +0100
usb: Makefile cleanup
Group files, sprinkle in some comments.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2c3c2c551bccd843135eab1ba202f8d2f86800b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 14:55:09 2013 -0800
target-i386: Implement RORX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a554890e479a43568de8b5354d9ca8583f5ec7f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:12:13 2013 -0800
target-i386: Implement SHLX, SARX, SHRX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0592f74a75ab695efd48a151219667adc0fa7cc4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:09:43 2013 -0800
target-i386: Implement PDEP, PEXT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f1f4b177152286102475f9bffc359002a14d9c9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:06:18 2013 -0800
target-i386: Implement MULX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 02ea1e6b4fab803551bbea47eea29bc7709ba008
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 17:01:10 2013 -0800
target-i386: Implement BZHI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:44:37 2013 -0800
target-i386: Implement BLSR, BLSMSK, BLSI
Do all of group 17 at one time for ease.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7ab7565bc6d52cc140230aa4d0533d13d89c8b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:21:33 2013 -0800
target-i386: Implement BEXTR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7073fbada733c8d10992f00772c9b9299d740e9b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:17:10 2013 -0800
target-i386: Implement ANDN
As this is the first of the BMI insns to be implemented,
this carries quite a bit more baggage than normal.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 111994ee05b810d81dc6abea7fac5280e48dc198
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 10 12:06:59 2013 -0800
target-i386: Implement MOVBE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 701ed211d62b2b0dba732d75997c4bbf37010c1e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 11 11:35:02 2013 -0800
target-i386: Decode the VEX prefixes
No actual required uses of these encodings yet.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a6fd938f5457ee161d2acbd9364608a2a68b7a1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 10 13:29:23 2013 -0800
target-i386: Tidy prefix parsing
Avoid duplicating switch statement between 32 and 64-bit modes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 988c3eb0d6f41ac13f4ec145c637f12c776de602
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:03:16 2013 -0800
target-i386: Use CC_SRC2 for ADC and SBB
Add another slot in ENV and store two of the three inputs. This lets us
do less work when carry-out is not needed, and avoids the unpredictable
CC_OP after translating these insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db9f2597722d5d8bc5f2330f186288d893114338
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:10:49 2013 -0800
target-i386: Make helper_cc_compute_{all,c} const
Pass the data in explicitly, rather than indirectly via env.
This avoids all sorts of unnecessary register spillage.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8601c0b6c553a018fc62007efa8ac2a71d77f449
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:06:38 2013 -0800
target-i386: Don't reference ENV through most of cc helpers
In preparation for making this a const helper.
By using the proper types in the parameters to the helper functions,
we get to avoid quite a lot of subsequent casting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a3251186fc6a04d421e9c4b65aa04ec32379ec38
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 15:43:03 2013 -0800
target-i386: optimize flags checking after sub using CC_SRCT
After a comparison or subtraction, the original value of the LHS will
currently be reconstructed using an addition. However, in most cases
it is already available: store it in a temp-local variable and save 1
or 2 TCG ops (2 if the result of the addition needs to be extended).
The temp-local can be declared dead as soon as the cc_op changes again,
or also before the translation block ends because gen_prepare_cc will
always make a copy before returning it. All this magic, plus copy
propagation and dead-code elimination, ensures that the temp local will
(almost) never be spilled.
Example (cmp $0x21,%rax + jbe):
Before After
----------------------------------------------------------------------------
movi_i64 tmp1,$0x21 movi_i64 tmp1,$0x21
movi_i64 cc_src,$0x21 movi_i64 cc_src,$0x21
sub_i64 cc_dst,rax,tmp1 sub_i64 cc_dst,rax,tmp1
add_i64 tmp7,cc_dst,cc_src
movi_i32 cc_op,$0x11 movi_i32 cc_op,$0x11
brcond_i64 tmp7,cc_src,leu,$0x0 discard loc11
brcond_i64 rax,cc_src,leu,$0x0
Before After
----------------------------------------------------------------------------
mov (%r14),%rbp mov (%r14),%rbp
mov %rbp,%rbx mov %rbp,%rbx
sub $0x21,%rbx sub $0x21,%rbx
lea 0x21(%rbx),%r12
movl $0x11,0xa0(%r14) movl $0x11,0xa0(%r14)
movq $0x21,0x90(%r14) movq $0x21,0x90(%r14)
mov %rbx,0x98(%r14) mov %rbx,0x98(%r14)
cmp $0x21,%r12 | cmp $0x21,%rbp
jbe ... jbe ...
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 891a5133f1637296c3823229180b5851132ed5f5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 18 10:06:55 2013 -0800
target-i386: Update cc_op before TCG branches
Placing the CC_OP_DYNAMIC at the join is less effective than
before the branch, as the branch will have forced global registers
to their home locations. This way we have a chance to discard
CC_SRC2 before it gets stored.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc259201f8b471f27136ffe50cc7019c8311ccb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 15:01:35 2013 -0800
target-i386: introduce gen_jcc1_noeob
A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC
will always have to call gen_op_set_cc_op. However, not all jumps end
a basic block, so introduce a variant that does not do this.
This was partially undone earlier (i386: drop cc_op argument of gen_jcc1),
redo it now also to prepare for the introduction of src2.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 63633fe6eb15107d688f3b7f61a4b379f57fc4ca
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:51:34 2013 -0800
target-i386: use gen_op for cmps/scas
Replace low-level ops with a higher-level "cmp %al, (A0)" in the case
of scas, and "cmp T0, (A0)" in the case of cmps.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3b9d3cf1609ec98411508c1e8b6dde711117825f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 15:04:10 2012 +0200
target-i386: kill cpu_T3
It is almost unused, and it is simpler to pass a TCG value directly
to gen_shiftd_rm_T1_T3. This value is then written to t2 without
going through a temporary register.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 57eb0cc85469a8948d1036ab830951e63aa32f66
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 11:00:14 2013 -0800
target-i386: expand cmov via movcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f32d3781de8328237c2db45ff774cbd4b30134d6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Oct 7 17:55:26 2012 +0200
target-i386: introduce gen_cmovcc1
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc8b6f5b39ae47a93074a5384faa734bf2a6ae61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 8 09:42:48 2012 +0200
target-i386: cleanup temporary macros for CCPrepare
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 69d1aa31f7551050bf918dc22f0fe3307b779186
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:41:21 2013 -0800
target-i386: inline gen_prepare_cc_slow
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 943131ca98af142da7b99111b410e741a5d42338
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Oct 7 15:53:23 2012 +0200
target-i386: use CCPrepare to generate conditional jumps
This simplifies all the jump generation code. CCPrepare allows the
code to create an efficient brcond always, so there is no need to
duplicate the setcc and jcc code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 276e6b5f069e189e204a4320f824daa07db10286
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:33:45 2013 -0800
target-i386: introduce gen_prepare_cc
This makes the i386 front-end able to create CCPrepare structs for all
condition, not just those that come from a single flag. In particular,
JCC_L and JCC_LE can be optimized because gen_prepare_cc is not forced
to return a result in bit 0 (unlike gen_setcc_slow).
However, for now the slow jcc operations will still go through CC
computation in a single-bit temporary, followed by a brcond if the
temporary is nonzero.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bec93d7283b635aabaf0bbff67b6da7fc99e020a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:21:52 2013 -0800
target-i386: introduce CCPrepare
Introduce a struct that describes how to build a *cond operation
that checks for a given x86 condition code. For now, just change
gen_compute_eflags_* to return the new struct, generate code for
the CCPrepare struct, and go on as before.
[rth: Use ctz with the proper width rather than ffs.]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c365395e9bd2b3bcac48ef562c187ea6ab9820ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 23:00:10 2012 +0200
target-i386: optimize setcc instructions
Reconstruct the arguments for complex conditions involving CC_OP_SUBx (BE,
L, LE). In the others do it via setcond and gen_setcc_slow (which is
not that slow in many cases).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit be10b289d697420b6e0d8d1a681aa64555066639
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:53:51 2013 -0800
target-i386: optimize setle
And allow gen_setcc_slow to operate on cpu_cc_src.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2cb4764577f270eec259123955a6396ad6a2f161
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:49:43 2013 -0800
target-i386: optimize setbe
This is looking at EFLAGS, but it can do so more efficiently with
setcond.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1a5c635947e60167c4626dd274531b8b0eacc2e5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 22:54:34 2012 +0200
target-i386: change gen_setcc_slow_T0 to gen_setcc_slow
Do not hard code the destination register.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 06847f1f1a7cff71f68dc6416cdd729c01ae2305
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:46:02 2013 -0800
target-i386: convert gen_compute_eflags_c to TCG
Do the switch at translation time, converting the helper templates to
TCG opcodes. In some cases CF can be computed with a single setcond,
though others it may require a little more work.
In the CC_OP_DYNAMIC case, compute the whole EFLAGS, same as for ZF/SF/PF.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8115f117357a63bff84522caac6c3bcadee0a285
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:37:28 2013 -0800
target-i386: use inverted setcond when computing NS or NZ
Make gen_compute_eflags_z and gen_compute_eflags_s able to compute the
inverted condition, and use this in gen_setcc_slow_T0. We cannot do it
yet in gen_compute_eflags_c, but prepare the code for it anyway. It is
not worthwhile for PF, as usual.
shr+and+xor could be replaced by and+setcond. I'm not doing it yet.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 086c40778485f9a52d41a66fd4ef0d8723a2ac0a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:33:59 2013 -0800
target-i386: do not call helper to compute ZF/SF
ZF, SF and PF can always be computed from CC_DST except in the
CC_OP_EFLAGS case (and CC_OP_DYNAMIC, which just resolves to CC_OP_EFLAGS
in gen_compute_eflags). Use setcond to compute ZF and SF.
We could also use a table lookup to compute PF.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b666265b2071e4288110f6553b598efe00246d06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:26:38 2013 -0800
target-i386: Move CC discards to set_cc_op
This gets us universal coverage, rather than scattering discards
around at various places. As a bonus, we do not emit redundant
discards e.g. between sequential logic insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:07:10 2013 -0800
target-i386: no need to flush out cc_op before gen_eob
This makes code more similar to the other callers of gen_eob, especially
loopz/loopnz/jcxz.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d229edce1c58e6bb13d386bef4c31fc2e3850cb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:03:26 2013 -0800
target-i386: do not compute eflags multiple times consecutively
After calling gen_compute_eflags, leave the computed value in cc_reg_src
and set cc_op to CC_OP_EFLAGS. The next few patches will remove anyway
most calls to gen_compute_eflags.
As a result of this change it is more natural to remove the register
argument from gen_compute_eflags and change all the callers.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1608ecca95188dcf4f78072be48f41dbe2062b25
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:42:59 2012 +0200
target-i386: add helper functions to get other flags
Introduce new functions to extract PF, SF, OF, ZF in addition to CF.
These provide single entry points for optimizing accesses to a single
flag.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 773cdfccb835cc82aca2b2ff34277b4bf58d6bb9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:43:12 2013 -0800
target-i386: Use gen_update_cc_op everywhere
All of the conditional calls to gen_op_set_cc_op go away, and
gen_op_set_cc_op itself gets inlined into its only remaining caller.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e207582f6660e0e2d10a2e79e664e456e80b2887
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:34:26 2013 -0800
target-i386: Don't clobber s->cc_op in gen_update_cc_op
Use a dirty flag to know whether env->cc_op is up to date,
rather than forcing s->cc_op to DYNAMIC and losing info.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ca51d07dae5b2d2301431c55b08d4faaad95d91
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:30:52 2013 -0800
target-i386: Introduce set_cc_op
This will provide a good hook into which we can consolidate
all of the cc variable discards.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fee71888a29ab9f31b23386383812a4f5c953829
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 16:23:46 2013 -0800
target-i386: Name the cc_op enumeration
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7b3c87397a3458d3d26499c483e0badaf79849c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:29:21 2012 +0200
target-i386: factor gen_op_set_cc_op/tcg_gen_discard_tl around computing
flags
Before computing flags we need to store the cc_op to memory. Move this
to gen_compute_eflags_c and gen_compute_eflags rather than doing it all
over the place.
Alo, after computing the flags in cpu_cc_src we are in EFLAGS mode.
Set s->cc_op and discard cpu_cc_dst in gen_compute_eflags, rather than
doing it all over the place.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 13:35:40 2012 +0200
target-i386: use gen_jcc1 to compile loopz
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6fa38ed219587723fcab9b878f42269489d51705
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: clean up sahf
Discard CC_DST and set s->cc_op immediately after computing EFLAGS.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5847c912d62d60a9917ed1e88cd6d4548fd40f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: compute eflags outside rcl/rcr helper
Always compute EFLAGS first since it is needed whenever
the shift is non-zero, i.e. most of the time. This makes it possible
to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly
removes cases where s->cc_op becomes CC_OP_DYNAMIC. Also, we can
remove cc_tmp and just modify cc_src from within the helper.
Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ff6addd92979b9759efa1c0945526e6ac78ce5b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: move eflags computation closer to gen_op_set_cc_op
This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers. The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.
Always compute EFLAGS first since it is needed whenever the shift is
non-zero, i.e. most of the time. This makes it possible to remove some
writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases
where s->cc_op becomes CC_OP_DYNAMIC. These are slow and we want to
avoid them: CC_OP_EFLAGS is quite efficient once we paid the initial
cost of computing the flags.
Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52320e15dbb0c2531501a924972e63cdb59742a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: move carry computation for inc/dec closer to gen_op_set_cc_op
This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers. The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b27fc131fe8dc18924904e4dd0b82dfd77dc51c7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:36:45 2012 +0200
target-i386: drop cc_op argument of gen_jcc1
As in the gen_repz_scas/gen_repz_cmps case, delay setting
CC_OP_DYNAMIC in gen_jcc until after code generation. All of
gen_jcc1/is_fast_jcc/gen_setcc_slow_T0 now work on s->cc_op, which makes
things a bit easier to follow and to patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 91642ff80607ad90c66ba044fe91e4a53b09bdbb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:22:09 2012 +0200
target-i386: factor setting of s->cc_op handling for string functions
Set it to the appropriate CC_OP_SUBx constant in gen_scas/gen_cmps.
In the repz case it can be overridden to CC_OP_DYNAMIC after generating
the code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d824df34e8cdd2fbe55258f26731d7ef3ac7ced2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:02:41 2012 +0200
target-i386: introduce gen_ext_tl
Introduce a function that abstracts extracting an 8, 16, 32 or 64-bit
value
with or without sign, generalizing gen_extu and gen_exts.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 93ab25d7d129fbe47a99fd8c91292ea99bff747e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:56:03 2012 +0200
target-i386: use OT_* consistently
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b99f83e3946c447eefb3417ec1ea4c2f3b44582
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 16:40:21 2012 +0200
test-i386: make it compile with a recent gcc
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40475087a5ee80f5251dac6087142458d8dc7d99
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 16:40:41 2012 +0200
test-i386: QEMU_PACKED is not defined here
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc2832a51c8ce43349967ab1b6c7aafd510e55b2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 17:46:57 2013 +0100
rtc-test: add testcases for alarms in 12hour mode
Trying (unsuccessfully) to break the device model as mentioned in
https://bugs.launchpad.net/qemu/+bug/1090558.
At least if someone tries to fix that, it won't break what works...
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1357922817-17584-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f9b3ed401c5cf3df9689f74c15a7b4d91566a3ac
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 17:46:56 2013 +0100
rtc-test: always set register B in its entirety
Eliminate dependencies between one test and the others.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1357922817-17584-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d2a929feba319c18603e324b1750830d6c8b7a1
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Oct 18 11:16:58 2012 +0200
vnc-tls: Fix compilation with newer versions of GNU-TLS
In my installation of GNU-TLS (v3.0.23) the type
gnutls_anon_server_credentials is marked deprecated, so -Werror
breaks compilation.
Simply replacing it with the newer ..._t version fixed the compilation
on my machine (Slackware 14.0). I cannot tell how far back this "new"
type goes, at least the header file in RHEL 5.0 (v1.4.1) seems to have
it already. If someone finds a broken distribution, tell me and I
insert some compat code.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Message-id: 1350551818-14717-1-git-send-email-andre.przywara@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10adb8be87c315573a5bf9f5bda885f25da28ce6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:43 2013 +0100
doc help: Collect block device stuff under its own heading
Collect them from "Standard options", "File system options", "Virtual
File system pass-through options", "Debug/Expert options".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84644c451ce7cf8e3cf027501f0f44041f8c6972
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:42 2013 +0100
doc help: A few options are under inappropriate headings, fix
--device is under heading "USB options". --name and --uuid are under
"Virtual File system pass-through options". Move all three to
"Standard options".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f037809907bcc51295a471ad66b14e90f22d8caa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:41 2013 +0100
help: Fix markup of heading "USB options" so it appears in -help
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c70a01e449536c616c85ab820c6fbad7d7e9cf39
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:40 2013 +0100
doc: Fix texinfo @table markup in qemu-options.hx
End tables before headings, start new ones afterwards. Fixes
incorrect indentation of headings "File system options" and "Virtual
File system pass-through options" in manual page and qemu-doc.
Normalize markup some to increase chances it survives future edits.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6265c43b0c872015e4331d3a93ff99946f3edb01
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:39 2013 +0100
doc: Fill some option doc gaps in manual page and qemu-doc
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8f490eb271cf07f491f05e11e3a3a4e7fde9f70
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:38 2013 +0100
doc: Fix some option entries in qemu-doc's function index
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 31e70d6c12d8f0170d7eeb56fa8275a9cc77c4a4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:37 2013 +0100
help: Drop bogus help on -qtest and -qtest-log
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c538ca66ffec97432057d3fe1aa5a4bb417ae9e9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 11:27:26 2013 +0100
isa: Split off instance_init for ISADevice
Prepares for assigning IRQs before QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361010446-1427-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 872536bf5dfdf207d275cd627caec2aefb68aab9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:03 2013 +0100
qtest: Add MMIO support
Introduce [qtest_]{read,write}[bwlq]() libqtest functions and
corresponding QTest protocol commands to replace local versions in
libi2c-omap.c.
Also convert m48t59-test's cmos_{read,write}_mmio() to {read,write}b().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b73cf9e93f1c7fd6e949f71172c49848b4d70aa9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:02 2013 +0100
libqtest: Introduce qtest_qmpv() and convert remaining macro
In order to convert qmp() macro to an inline function, expose a
qtest_qmpv() function, reused by qtest_qmp().
We can't apply GCC_FMT_ATTR() since fdc-test is using zero-length format
strings, which would result in warnings treated as errors.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6acf801de5a6e299c02ab3efe3e0dcd75ae678e0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:01 2013 +0100
libqtest: Convert macros to functions and clean up documentation
libqtest.h provides a number of shortcut macros to avoid tests feeding
it the QTestState they operate on. Most of these can easily be turned
into static inline functions, so let's do that for clarity.
This avoids getting off-by-one error messages when passing wrong args.
Some macros had a val argument but documented @value argument. Fix this.
While touching things, enforce gtk-doc markup for return values and for
referencing types.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3c3adde005ec929d7d581d495d9a0bb223e6e055
Merge: f4c0f98... 2d64255...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 18 08:37:29 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu: (47 commits)
target-i386: Split command line parsing out of cpu_x86_register()
target-i386: Move cpu_x86_init()
target-lm32: Drop unused cpu_lm32_close() prototype
target-s390x: Drop unused cpu_s390x_close() prototype
spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu()
ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu()
e500: Replace open-coded loop with qemu_get_cpu()
cpu: Add CPUArchState pointer to CPUState
cputlb: Pass CPUState to cpu_unlink_tb()
cpu: Move current_tb field to CPUState
cpu: Move exit_request field to CPUState
cpu: Move running field to CPUState
cpu: Move host_tid field to CPUState
target-cris: Introduce CRISCPU subclasses
target-m68k: Pass M68kCPU to m68k_set_irq_level()
mcf_intc: Pass M68kCPU to mcf_intc_init()
mcf5206: Pass M68kCPU to mcf5206_init()
target-m68k: Return M68kCPU from cpu_m68k_init()
ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset()
target-xtensa: Move TCG initialization to XtensaCPU initfn
...
commit f4c0f986c061f34fd5b020c30e2aa8c37e17193b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:47:01 2013 -0800
tests: Add unit tests for mulu64 and muls64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ff7a1eb0a1262f7d451cc1e70c65dd23771ce2a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:47:00 2013 -0800
host-utils: Improve mulu64 and muls64
The new formulation makes better use of add-with-carry type insns
that the host may have. Use gcc's sign adjustment trick to avoid
having to perform a 128-bit negation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f540166b7dfdf4ec2057ac322d8cbfd0691e1d65
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:46:59 2013 -0800
host-utils: Use __int128_t for mul[us]64
Replace some x86_64 specific inline assembly with something that
all 64-bit hosts ought to optimize well. At worst this becomes
a call to the gcc __multi3 routine, which is no worse than our
implementation in util/host-utils.c.
With gcc 4.7, we get identical code generation for x86_64. We
now get native multiplication on ia64 and s390x hosts. With minor
improvements to gcc we can get it for ppc64 as well.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit be96bd3fbffde908a392c830c856063e122791c1
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Feb 16 23:21:24 2013 +0100
tcg/ppc: Fix build of tcg_qemu_tb_exec()
Commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 (TCG: Final globals
clean-up) moved code_gen_prologue but forgot to update ppc code.
This broke the build on 32-bit ppc. ppc64 is unaffected.
Cc: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 05499f4b9fd431631299dc1b70156dbc1fb43318
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 14:32:05 2013 +0100
target-sparc: Fix debug output for DEBUG_MMU
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2d64255bd7c0d3933ff5ab2cabff11bcb09117a8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 14:06:56 2013 +0100
target-i386: Split command line parsing out of cpu_x86_register()
In order to instantiate a CPU subtype we will need to know which type,
so move the cpu_model splitting into cpu_x86_init().
Parameters need to be set on the X86CPU instance, so move
cpu_x86_parse_featurestr() into cpu_x86_init() as well.
This leaves cpu_x86_register() operating on the model name only.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c3c6a682dedb3ef6becf112867cf92abf203816
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 1 15:12:13 2013 +0100
target-i386: Move cpu_x86_init()
Consolidate CPU functions in cpu.c.
Allows to make cpu_x86_register() static.
No functional changes.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0203f86f5205e09a56df41021d872c6353754250
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:13:15 2013 +0100
target-lm32: Drop unused cpu_lm32_close() prototype
It was never implemented.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0dac84597a66eb8f416972faef451ce786b3cdd4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:10:37 2013 +0100
target-s390x: Drop unused cpu_s390x_close() prototype
It was never implemented.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5353d03dd7917875b46ff03e0d9e2935770f5e9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 16:43:08 2013 +0100
spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu()
The helper functions all access ppc-specific fields only so don't bother
to change arguments to PowerPCCPU and use env_ptr instead.
No functional change.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 912ebe10eff6cf7e05f908a44283033c1c0270a0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:56:27 2013 +0100
ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu()
Potentially env could be NULL whereas cpu would still be valid and
correspond to a previous env.
Wrapping this in qemu_get_cpu(), env is no longer needed, so simplify
code that existed before 55e5c2850293547203874098f7cec148ffd12dfa.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 440c8152bd410b0f928d4de6f187f1e2280e1324
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:21:13 2013 +0100
e500: Replace open-coded loop with qemu_get_cpu()
Since we still need env for ppc-specific fields, obtain it via the new
env_ptr fields to avoid "cpu" name conflicts between CPUState and
PowerPCCPU for now.
This fixes a potential issue with env being NULL at the end of the loop
but cpu still being a valid pointer corresponding to a previous env.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c05efcb18ee30cdf2b00b3512aa0f5233b52911f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 12:13:41 2013 +0100
cpu: Add CPUArchState pointer to CPUState
The target-specific ENV_GET_CPU() macros have allowed us to navigate
from CPUArchState to CPUState. The reverse direction was not supported.
Avoid introducing CPU_GET_ENV() macros by initializing an untyped
pointer that is initialized in derived instance_init functions.
The field may not be called "env" due to it being poisoned.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 907a5e32f293a0af8875973d4cce12b96bea5bae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 09:16:15 2013 +0100
cputlb: Pass CPUState to cpu_unlink_tb()
CPUArchState is no longer needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d77953b94ff20868b21796ee22ca57baa1cfc941
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 19:29:31 2013 +0100
cpu: Move current_tb field to CPUState
Explictly NULL it on CPU reset since it was located before breakpoints.
Change vapic_report_tpr_access() argument to CPUState. This also
resolves the use of void* for cpu.h independence.
Change vAPIC patch_instruction() argument to X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fcd7d0034b7eddba505a548f456f452bf5a7d56c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 08:02:44 2012 +0100
cpu: Move exit_request field to CPUState
Since it was located before breakpoints field, it needs to be reset.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0315c31cda054775585b31f8cb3c9228cc6fc28b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 07:34:52 2012 +0100
cpu: Move running field to CPUState
Pass CPUState to cpu_exec_{start,end}() functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d34282fdde1d8f337d2a9e10f5ac793b12ef2e7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 07:12:13 2012 +0100
cpu: Move host_tid field to CPUState
Change gdbstub's cpu_index() argument to CPUState now that CPUArchState
is no longer used.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6ae064fc671f1c475b1371c067fa3100ec6daf80
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 6 17:18:12 2013 +0100
target-cris: Introduce CRISCPU subclasses
Use class_init functions to initialize the VR in preparation for
overriding v32+ behavior there.
Move cpu_cris_init() to cpu.c and hook up a class_by_name callback.
This change leads to unknown -cpu model names no longer falling back
to a CPU with VR 32 but instead returning NULL.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb3fb38e91caacfcb0f86e8c587ed74ffa34fe8e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:20:52 2013 +0100
target-m68k: Pass M68kCPU to m68k_set_irq_level()
Simplifies use of cpu_reset_interrupt() et al.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9a6ee9fd35483446fe14e083fa335358c86ba595
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:15:09 2013 +0100
mcf_intc: Pass M68kCPU to mcf_intc_init()
Store it in mcf_intc_state.
Prepares for passing it to m68k_set_irq_level().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4025cfd5d7175203008343a375f9287c77cd383c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:10:34 2013 +0100
mcf5206: Pass M68kCPU to mcf5206_init()
Store it in m5206_mbar_state. Prepares for passing M68kCPU to
m68k_set_irq_level().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7937d9f9a99d8cc2848e85f608d89c6f326daf0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:03:58 2013 +0100
target-m68k: Return M68kCPU from cpu_m68k_init()
Turn cpu_init() into a static inline function for backwards
compatibility.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3273ba643f2d0221492381b24bbc35fb6089a48
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:57:51 2013 +0100
ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset()
Prepares for changing cpu_interrupt() argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 25733eada6c1d4928262e77e2ee1e9ed12de18fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:46:45 2013 +0100
target-xtensa: Move TCG initialization to XtensaCPU initfn
Combine this with breakpoint handler registration, guarding both with
tcg_enabled() to suppress also TCG init for qtest. Rename the handler to
xtensa_breakpoint_handler() since it needs to become global.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d9c27f00b174df070470d48d6577042d2186d969
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:36:47 2013 +0100
target-unicore32: Move TCG initialization to UniCore32CPU initfn
Normalize the "inited" logic and add a tcg_enabled() check to suppress
it for qtest.
Ensures that a QOM-created UniCore32CPU is usable.
Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5266d20a12f2ef01841aad5f1692d73551a39dac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:34:18 2013 +0100
target-sparc: Move TCG initialization to SPARCCPU initfn
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa7408ec18c3517b2476a3671cd0b7f171241e2d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:30:32 2013 +0100
target-sh4: Move TCG initialization to SuperHCPU initfn
Add a tcg_enabled() check to suppress it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b7ac76729c8253d799a8d3bb9bae76cccb0714e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 22:43:32 2013 +0100
target-s390x: Move TCG initialization to S390CPU initfn
Ensures that a QOM-created S390CPU is usable.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60925d2644953ce1ca7813411853d8c04e637050
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:26:37 2013 +0100
target-ppc: Move TCG initialization to PowerPCCPU initfn
Ensures that a QOM-created PowerPCCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 78ce64f492498050083e46cdd7e6cbae6435843c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:22:25 2013 +0100
target-mips: Move TCG initialization to MIPSCPU initfn
Make mips_tcg_init() non-static and add tcg_enabled() check to suppress
it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cd0c24f9095b1f825210bb9d9f99532c78668074
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:10:52 2013 +0100
target-microblaze: Move TCG initialization to MicroBlazeCPU initfn
Split off TCG initialization from cpu_mb_init() into mb_tcg_init() to
call it from the initfn.
Ensures that a QOM-created MicroBlazeCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cc896195bae54d7a5f48f9032037d8f6f65abd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 00:48:29 2013 +0100
target-m68k: Move TCG initialization to M68kCPU initfn
Add a tcg_enabled() check to suppress it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 868e2824276cbe6ef2e202c05c4eb3a3a19d3ee0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 00:05:12 2013 +0100
target-lm32: Move TCG initialization to LM32CPU initfn
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1a94fec3d8d70009fd5ac27ade5539fe58cd702
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 23:55:42 2013 +0100
target-cris: Move TCG initialization to CRISCPU initfn
Split out TCG initialization from cpu_cris_init(). Avoid CPUCRISState
dependency for v10-specific initialization and for non-v10 by inlining
the decision into the initfn as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 79614b781df5096ffecf531992314781dbab54af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 07:37:45 2013 +0100
target-arm: Move TCG initialization to ARMCPU initfn
Ensures that a QOM-created ARMCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5f6c964389ea5320e81e2fb8c2bc3aa40c5a8013
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:19:35 2013 +0100
target-xtensa: Introduce QOM realizefn for XtensaCPU
Introduce realizefn and set realized = true in cpu_xtensa_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 088383e3220776917f538d0e43933e842e16b804
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:38:30 2013 +0100
target-unicore32: Introduce QOM realizefn for UniCore32CPU
Introduce a realizefn and set realized = true in uc32_cpu_init().
Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
[AF: Invoke the parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e91ebfe06f1d90331d162259553a5330514143
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:13:19 2013 +0100
target-sparc: Introduce QOM realizefn for SPARCCPU
Introduce realizefn and set realized = true in cpu_sparc_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 55acb588dd184a1e33be0ff1fe23f8c19f88fd6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 23 18:16:02 2012 +0200
target-sh4: Introduce QOM realizefn for SuperHCPU
Introduce a realizefn and set realized = true in cpu_sh4_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f1366322b21678c33003a373366697a4542d2d4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:00:41 2013 +0100
target-s390x: Introduce QOM realizefn for S390CPU
Introduce realizefn and set realized = true in cpu_s390x_init().
Defer CPU reset from initfn to realizefn.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1caf1d961288e41c25de6631c6751ae7baa20f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:48:37 2013 +0100
target-mips: Introduce QOM realizefn for MIPSCPU
Introduce a realizefn and set realized = true from cpu_mips_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 746b03b27cac48be5a376d8635ffaf568339ebd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:27:31 2013 +0100
target-microblaze: Introduce QOM realizefn for MicroBlazeCPU
Introduce realizefn and set realized = true from cpu_mb_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d1bbc6273d45520c5ce6475186bfa30d8afb47c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:15:30 2013 +0100
target-m68k: Introduce QOM realizefn for M68kCPU
Introduce realizefn and set realized = true in cpu_m68k_init().
Split off GDB registration to a new m68k_cpu_init_gdb() so that it can
be called from the realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c23169e8cd54b490d55221b6498d42966f964f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:31:27 2013 +0100
target-lm32: Introduce QOM realizefn for LM32CPU
Introduce a realizefn and set realized = true in cpu_lm32_init().
Also move cpu_reset() call from initfn to realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca45f8b0440358ccca63446cf0df05772791b2a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:41:21 2013 +0100
target-cris: Introduce QOM realizefn for CRISCPU
Introduce realizefn and set realized = true from cpu_cris_init().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4776ce600338e17f75d200d1ad17d4ce9effa57f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:55:14 2013 +0100
target-ppc: Update PowerPCCPU to QOM realizefn
Adapt ppc_cpu_realize() signature, hook it up to DeviceClass and set
realized = true in cpu_ppc_init().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c296262bc94651a7a43639857d8343470f4129f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:11:07 2013 +0100
target-openrisc: Update OpenRISCCPU to QOM realizefn
Update the openrisc_cpu_realize() signature, hook it up to
DeviceClass::realize and set realized = true in cpu_openrisc_init().
qapi/error.h is now included through qdev and no longer needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Jia Liu <proljc@xxxxxxxxx>
commit 2b6f294cacd9f4e133a7813d22e1b4e87ac6b2a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:41:47 2013 +0100
target-i386: Update X86CPU to QOM realizefn
Adapt the signature of x86_cpu_realize(), hook up to
DeviceClass::realize and set realized = true in cpu_x86_init().
The QOM realizefn cannot depend on errp being non-NULL as in
cpu_x86_init(), so use a local Error to preserve error handling behavior
on APIC initialization errors.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 149692667f8a46430127ca0555b38965f52177f5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 10:18:18 2013 +0100
target-arm: Update ARMCPU to QOM realizefn
Turn arm_cpu_realize() into a QOM realize function, no longer called
via cpu.h prototype. To maintain the semantics of cpu_init(), set
realized = true explicitly in cpu_arm_init().
Move GDB coprocessor registration, CPU reset and vCPU initialization
into the realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd1b282836a7885a13c13f9cc63123fa8e32f02f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:01:30 2013 +0100
target-alpha: Update AlphaCPU to QOM realizefn
Update the alpha_cpu_realize() signature and hook up to
DeviceClass::realize. Set realized = true in cpu_alpha_init().
qapi/error.h is included through qdev now and no longer needed.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4f65809994274989bdf51c8605bb974565cb1c9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 06:17:06 2013 +0100
cpu: Prepare QOM realizefn
Overwrite the default implementation with a no-op, no longer
attempting to call DeviceClass::init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 453776e5746be23c66df65fadf12e115b7d2dadd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:43 2013 -0800
bitops: Remove routines redundant with host-utils
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0f9d8bd386c9b7b17fc68fef36caa81750c39494
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:42 2013 -0800
bitops: Replace bitops_ctol with ctzl
The is the only remaining user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4932398fac273b8ebe5688bc4b79407a7f41edbd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:41 2013 -0800
bitops: Inline bitops_flsl
This is the only remaining user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 14e534265aad0796690a5aea429f5bd2877ccff0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:40 2013 -0800
target-i386: Inline bitops_flsl
Use clz32 directly. Which makes slightly more sense given
that the input is type "int" and not type "long".
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0cfa6adc7fd1eba4694515bde6bbfb9ecd892f2f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:39 2013 -0800
bitops: Write bitops_flsl in terms of clzl
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5bbf90be97203c472f47da070c0040b464c0460f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:38 2013 -0800
memory: Use non-bitops ctzl
A memory size of zero is invalid, and so that edge condition
does not occur.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 265ce4a5ca39fb7f74a803dd61bbd9108ca6cdee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:37 2013 -0800
bitops: Use non-bitops ctzl
The use of ctz has already eliminated zero, and thus the difference
in edge conditions between the two routines is irrelevant.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 18331e7c189507513008a2936f5fe79c3d8b8a08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:36 2013 -0800
hbitmap: Use non-bitops ctzl
Both uses of ctz have already eliminated zero, and thus the difference
in edge conditions between the two routines is irrelevant.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 72d81155d0b88ba757c5a972d3fff83027e7a6e7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:35 2013 -0800
host-utils: Fix coding style and add comments
Add function comments to the routines, documenting the corner
cases upon which we are standardizing. Fix the few instances
of non-standard coding style.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0165437302448d210742cc3def362d1de0413621
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:34 2013 -0800
host-utils: Add host long specific aliases for clz, ctz, ctpop
We will standardize on these names, rather than the similar routines
currently residing in qemu/bitops.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 38dad9e574746981dfbac52b3bbbd6d894f31d26
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:25 2013 +0000
qemu-log: Rename CPULogItem, cpu_log_items to QEMULogItem, qemu_log_items
Rename the typedef CPULogItem and the public array cpu_log_items
to names that better reflect the fact that the qemu_log functionality
isn't restricted to TCG CPU debug logs any more.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b946bffab5e0d359accfcc78faead20fd69f26e8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:24 2013 +0000
cpus.c: Drop unnecessary set_cpu_log()
The set_cpu_log() function in cpus.c is a fairly simple wrapper
which is only called from one location. Just inline the code
into vl.c, since there is no need to indirect it via cpus.c
and the handling of the error case is more appropriate to vl.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 24537a01910f110fe3e343c13df13e48f7968a9e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:23 2013 +0000
qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log
Rename the public-facing function cpu_set_log to qemu_set_log. This
requires us to rename the internal-only qemu_set_log() to
do_qemu_set_log().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4fde1eba0f98779d4fdb64818071f72bb1672438
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:22 2013 +0000
qemu-log: Rename cpu_str_to_log_mask to qemu_str_to_log_mask
Rename cpu_str_to_log_mask() to qemu_str_to_log_mask(), since
the qemu_log functionality is no longer restricted to TCG CPU
debug logging.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 59a6fa6e67d2335d867c66c59d992847e5b62879
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:21 2013 +0000
qemu-log: Abstract out "print usage message about valid log categories"
Abstract out the "print a human readable list of all the
valid log categories" functionality which is currently duplicated
in three separate places. (We leave the monitor.c help_cmd()
implementation as-is since it wants to send the message to
the monitor and add its own information.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9a7e54242910d26d280589e1f5c7ec8814d02a6b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:20 2013 +0000
qemu-log: Unify {cpu_set,set_cpu}_log_filename as qemu_set_log_filename
The qemu_log() functionality is no longer specific to TCG CPU debug logs.
Rename cpu_set_log_filename() to qemu_set_log_filename() and drop the
pointless wrapper set_cpu_log_filename().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5e5f07e08f7ed8c8eb9b02d9f9c3c79cf95d65ee
Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Date: Fri Feb 1 01:47:23 2013 +0700
TCG: Move translation block variables to new context inside tcg_ctx:
tb_ctx
It's worth to clean-up translation blocks variables and move them
into one context as was suggested by Swirl.
Also if we use this context directly inside tcg_ctx, then it
speeds up code generation a bit.
Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4
Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Date: Fri Feb 1 01:47:22 2013 +0700
TCG: Final globals clean-up
Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2742f56d134ba0f5ed7e447afd0b6e2001ffc5c1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 15 17:40:56 2013 -0600
Open up 1.5 development tree
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 03e94e39ce5259efdbdeefa1f249ddb499d57321
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 15 16:15:40 2013 -0600
Update VERSION for release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 571f65ec20fbcb991d7bce51787248ab9d325e3f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 14 08:58:49 2013 -0600
Update VERSION of release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 71652365c53115d2090d294406ec0bd3b7c63953
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Feb 13 23:58:12 2013 +0100
Revert "Update OpenBIOS images"
This reverts commit 10442558ab1797bfbb01285b909e34c5cf038f12.
With the updated OpenBIOS image, -M g3beige fails to boot quik.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Message-id: 1360796292-27078-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9893c80d81587ac25d8ea4a82651371b54e7df35
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:29:31 2013 +1000
cadance_uart: Accept input after rx FIFO pop
The device returns false from the can receive function when the FIFO is
full. This means the device should check for buffered input whenever a
byte is
popped from the FIFO.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1360632571-25638-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a8f5840082eb65d140ccfe7b128c92390cce1c3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 09:25:34 2013 +0100
block/curl: only restrict protocols with libcurl>=7.19.4
The curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, ...) interface was
introduced in libcurl 7.19.4. Therefore we cannot protect against
CVE-2013-0249 when linking against an older libcurl.
This fixes the build failure introduced by
fb6d1bbd246c7a57ef53d3847ef225cd1349d602.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Andreas Färber <andreas.faeber@xxxxxx>
Message-id: 1360743934-8337-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d36b2b904ee921b380fad559cb824a40eb587bcb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 15:54:16 2013 +0100
qapi: Flatten away ChardevPort
Simplifies the schema and the code.
QMP command
{ "execute" : "chardev-add",
"arguments" : { "id" : "ser0",
"backend" : { "type" : "port",
"data" : { "type": "serial",
"device":"/dev/ttyS0"} } }
}
becomes
{ "execute" : "chardev-add",
"arguments" : { "id" : "ser0",
"backend" : { "type" : "serial",
"data" : { "device":"/dev/ttyS0"} } }
}
Bonus: nicer error messages. "unknown chardev port (1)" becomes
"character device backend type 'parallel' not supported".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1360767256-610-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d037d6bbbcdda6552254286b6da090ef0dc0d98a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 15:54:15 2013 +0100
chardev: Fix manual page and qemu-doc for -chardev tty
Broken in commit d59044ef.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1360767256-610-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc2a90432d9cb7546a2c4360ad7200a2fb3af31a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Feb 12 23:16:06 2013 +0100
net: Avoid NULL function pointer dereference on cleanup
The pSeries machine and some other devices don't supply a cleanup
callback. Revert part of 1ceef9f27359cbe92ef124bf74de6f792e71f6fb that
started calling it unconditionally.
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1360707366-9271-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91b0a8f33419573c1d741e49559bfb666fd8b1f0
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Feb 7 02:20:51 2013 +0000
s390: Fix handling of iscs.
There are two ways to express an interruption subclass:
- As a bitmask, as used in cr6.
- As a number, as used in the I/O interruption word.
Unfortunately, we have treated to I/O interruption word as if it
contained the bitmask as well, which went unnoticed so far as
- (queued-for-next) kvm made the same mistake, and
- Linux guest kernels don't check the isc value in the I/O interruption
word for subchannel interrupts.
Make sure that we treat the I/O interruption word correctly.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bd9a8d852c857fd19c4626acaac1d4979f816f3a
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Feb 7 02:20:50 2013 +0000
s390: Keep I/O interrupts enabled for all iscs.
do_io_interrupt() would stop scanning further iscs if it found
an I/O interrupt it could inject. This might cause the pending
interrupt indication for I/O interrupts to be reset although there
might be queued I/O interrupts for subsequent iscs.
Fix this by reordering the logic: Inject the I/O interrupt immediately
and continue searching all iscs for queued interrupts.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 760794f784f66e262a9ca32821ba202cdf3a3e4b
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Feb 4 22:53:24 2013 +0000
s390/sclpconsole: prevent char layer callback during initialization
Starting a qemu with an sclp console and pressing a key very early
can result in
"qemu-system-s390x: hw/s390x/sclpconsole.c:60: receive_from_chr_layer:
Assertion `scon->iov' failed."
Lets make sure that the init process is finished, since the iov is
allocated after CHR_EVENT_OPENED by also checking for scon->iov.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7ce4106c2125eca8f7f61f460456a49074c13e56
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:17:11 2013 +1000
xilinx.h: s/xilinx_axiethernetdma()/xilinx_axidma()
This function has nothing to do with ethernet. Its reusable for all DMA
clients.
Dropped the "ethernet" in the name accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit dada5c7e92434df7c0ec152fe9a8f0e3de67b632
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:17:10 2013 +1000
xilinx.h: Dont qdev_create from ethernet_create()
Pulled the qdev_create functionality out of xilinx_axiethernet_create()
and
pushed it up to the petalogix_ml605_mmu machine model. This makes the
ethernet
create+init process consistent with the AXI DMA. Renamed function to
xilinx_axiethernet_init accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0231ed4f22dd67844d8bbc027eaa5b713cb25ba2
Merge: 6aaa9da... 33ccf66...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 12 16:26:52 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
Revert "block/vpc: Fix size calculation"
block/raw-posix: detect readonly Linux block devices using BLKROGET
commit 6aaa9dae8059633d52ddcd0622de1a2700fc58a8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 10:37:15 2013 +0100
block-migration: fix pending() and iterate() return values
The return value of .save_live_pending() is the number of bytes
remaining. This is just an estimate because we do not know how many
blocks will be dirtied by the running guest.
Currently our return value for .save_live_pending() is wrong because it
includes dirty blocks but not in-flight bdrv_aio_readv() requests or
unsent blocks. Crucially, it also doesn't include the bulk phase where
the entire device is transferred - therefore we risk completing block
migration before all blocks have been transferred!
The return value of .save_live_iterate() is the number of bytes
transferred this iteration. Currently we return whether there are bytes
remaining, which is incorrect.
Move the bytes remaining calculation into .save_live_pending() and
really return the number of bytes transferred this iteration in
.save_live_iterate().
Also fix the %ld format specifier which was used for a uint64_t
argument. PRIu64 must be use to avoid warnings on 32-bit hosts.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 1360661835-28663-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ad55ab42d494c5f4ebc5199c5c9db473b7d5fbf9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 10:37:14 2013 +0100
migration: make qemu_ftell() public and support writable files
Migration .save_live_iterate() functions return the number of bytes
transferred. The easiest way of doing this is by calling qemu_ftell(f)
at the beginning and end of the function to calculate the difference.
Make qemu_ftell() public so that block-migration will be able to use it.
Also adjust the ftell calculation for writable files where buf_offset
does not include buf_size.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 1360661835-28663-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a0e6714b06453078e02029e1432fab052927691
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 14:34:05 2013 +0100
trace: deal with deprecated glib thread functions
g_thread_create() was deprecated in favor of g_thread_new() and
g_cond_new() was deprecated in favor of GCond initialization. If the
host has glib 2.31 or newer, avoid using the deprecated functions.
This patch solves compiler warnings that are generated when glib's
deprecated functions are used.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360676045-9204-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30d940875dcd1adfbfd7fe7ccd3e543408519662
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 14:34:04 2013 +0100
trace: use glib atomic int types
Juan reported that RHEL 6.4 hosts give compiler warnings because we use
unsigned int while glib prototypes use volatile gint in trace/simple.c.
trace/simple.c:223: error: pointer targets in passing argument 1 of
'g_atomic_int_compare_and_exchange' differ in signedness
These variables are only accessed with glib atomic int functions so
let's play it by the book and use volatile gint.
Reported-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360676045-9204-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33ccf6675faa3c56f30399e184064fd126904515
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 12:25:15 2013 +0100
Revert "block/vpc: Fix size calculation"
This reverts commit f880defbb06708d30a38ce9f2667067626acdd38.
Jeff Cody's testing revealed that the interpretation of size differs
even between VirtualPC and HyperV. Revert this so there is time to
consider the impact of any backwards incompatible behavior this change
creates.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da888d37b0b85fc23e4ea55ab8b0c482d4918afb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 5 12:28:33 2013 +0100
block/raw-posix: detect readonly Linux block devices using BLKROGET
Linux block devices can be set read-only with "blockdev --setro
<device>". The same thing can be done for LVM volumes using "lvchange
--permission r <volume>". This read-only setting is independent of
device node permissions. Therefore the device can still be opened
O_RDWR but actual writes will fail.
This results in odd behavior for QEMU. bdrv_open() is supposed to fail
if a read-only image is being opened with BDRV_O_RDWR. By not failing
for Linux block devices, the guest boots up but every write produces an
I/O error.
This patch checks whether the block device is read-only so that Linux
block devices behave like regular files.
Reported-by: Sibiao Luo <sluo@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 03ec2f83087de34924489eeae0ea6fe7785cc050
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Mon Feb 4 17:56:25 2013 +0800
hw/m25p80.c: add WRSR(0x01) support
Atmel, SST and Intel/Numonyx serial flash tend to power up
with the software protection bits set.
And thus the new m25p80.c in linux kernel would always tries
to use WREN(0x06) + WRSR(0x01) to turn-off the protection.
The WEL(0x02) of status register is supposed to be cleared after
WRSR(0x01). There are also some drivers (i.e mine for RTOSes)
would check the WEL(0x02) in status register to make sure the
protection is correctly turned off.
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 58fa4325228f61d58317f48364259b31e9b92d15
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Feb 11 18:05:48 2013 +0100
qapi: Improve chardev-add documentation
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360602348-4727-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d7cd369402191814a1bb339a730f3af411e9682f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 11 17:01:45 2013 +0100
migration: restrict scope of incoming fd read handler
The incoming migration is processed in a coroutine and uses an fd read
handler to enter the yielded coroutine when data becomes available.
The read handler was set too broadly, so that spurious coroutine entries
were be triggered if other coroutine users yielded (like the block
layer's bdrv_write() function).
Install the fd read only only when yielding for more data to become
available. This prevents spurious coroutine entries which break code
that assumes only a specific set of places can re-enter the coroutine.
This patch fixes crashes in block/raw-posix.c that are triggered with
"migrate -b" when qiov becomes a dangling pointer due to a spurious
coroutine entry that frees qiov early.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360598505-5512-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0bce760e04b1658a3b4ac95be2839ae20fd86db
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Mon Feb 11 17:41:54 2013 +0100
libi2c-omap: Fix endianness dependency
The libqos driver for omap_i2c currently does not work on Big Endian.
Introduce helpers for reading from and writing to 16-bit armel registers.
This fixes tmp105-test failures on ppc.
To prepare for a QTest-level endianness solution, poison mem{read,write}
and always use the helpers. Adopt the expected signatures.
To avoid an unused variable warning, assert the STAT Single Byte Data
bit but, due to it not getting cleared, only it being set when len == 1.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1360600914-5448-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dd6be069bf832f888005d28cebdec16720dedac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 17:41:53 2013 +0100
qtest: Use strtoull() for uint64_t
On 32-bit hosts, unsigned long may be uint32_t and uint64_t may be
unsigned long long. Account for this by always using strtoull().
We were already using strtoll() for int64_t.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1360600914-5448-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84eac31707a8f103cc9a0b38ab62a8832bec1153
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 18:35:39 2013 +0100
libqtest: Fix documentation copy&paste errors
The [qtest_]in[bwl]() functions/macros don't have a value argument.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1360604139-16797-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f880defbb06708d30a38ce9f2667067626acdd38
Author: Stefan Weil <stefan@kiwi.(none)>
Date: Thu Feb 7 20:26:52 2013 +0100
block/vpc: Fix size calculation
The size calculated from the CHS values is not the real image (disk) size,
but usually a smaller value. This is caused by rounding effects.
Only older operating systems use CHS. Such guests won't be able to use
the whole disk. All modern operating systems use the real size.
This patch fixes https://bugs.launchpad.net/qemu/+bug/1105670/.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1360265212-22037-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c5a7f20112615ce13a3434ab90bee1ed8d44ebd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:46 2013 +0100
block-migration: fix block_save_iterate() return value
The .save_live_iterate() function returns 0 to continue iterating or 1
to stop iterating.
Since 16310a3cca7320edb9341c976f7819de0a8c27e0 it only ever returns 0,
leading to an infinite loop.
Return 1 if we have finished sending dirty blocks.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1360534366-26723-4-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ee0cb201e6bfe03549a649fd165a85cfed34d05
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:45 2013 +0100
block-migration: fix blk_mig_save_dirty_block() return value checking
Commit 43be3a25c931a7f61a76fbfc9d35584cbfc5fb58 changed the
blk_mig_save_dirty_block() return code handling. The function's doc
comment says:
/* return value:
* 0: too much data for max_downtime
* 1: few enough data for max_downtime
*/
Because of the 1 return value, callers must check for ret < 0 instead of
just:
if (ret) { ... }
We do not want to bail when 1 is returned, only on error.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360534366-26723-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5f1f286ef8c7c96614779a40af724d7109175d5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:44 2013 +0100
block-migration: improve "Unknown flags" error message
Show the actual flags value and include "block migration" in the error
message so it's clear where the error is coming from.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360534366-26723-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 49295ebc56a303a60c6ca2ead6f548eae3521150
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:19 2013 +0100
vl: Exit unsuccessfully on option argument syntax error
We exit successfully after reporting syntax error for argument of
--sandbox and --add-fd.
We continue undaunted after reporting it for argument of -boot,
--option-rom and --object.
Change all five to exit unsuccessfully, like the other options.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cfdd1628666f1342925f9c77cbb63b7d6d049dae
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:18 2013 +0100
vl: Drop redundant "parse error" reports
qemu_opts_parse() reports the error already, and in a much more useful
way.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7216ae3d1a11e07192623ad04d450e98bf1f3d10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:17 2013 +0100
qemu-option: Disable two helpful messages that got broken recently
commit 8be7e7e4 and commit ec7b2ccb messed up the ordering of error
message and the helpful explanation that should follow it, like this:
$ qemu-system-x86_64 --nodefaults -S --vnc :0 --chardev null,id=,
Identifiers consist of letters, digits, '-', '.', '_', starting with
a letter.
qemu-system-x86_64: -chardev null,id=,: Parameter 'id' expects an
identifier
$ qemu-system-x86_64 --nodefaults -S --vnc :0 --machine
kvm_shadow_mem=dunno
You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes
and terabytes.
qemu-system-x86_64: -machine kvm_shadow_mem=dunno: Parameter
'kvm_shadow_mem' expects a size
Pity. Disable them for now.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 312fd5f29097890179793d8bbb59ab18afbe0ad4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:16 2013 +0100
error: Strip trailing '\n' from error string arguments (again)
Commit 6daf194d and be62a2eb got rid of a bunch, but they keep coming
back. Tracked down with this Coccinelle semantic patch:
@r@
expression err, eno, cls, fmt;
position p;
@@
(
error_report(fmt, ...)@p
|
error_set(err, cls, fmt, ...)@p
|
error_set_errno(err, eno, cls, fmt, ...)@p
|
error_setg(err, fmt, ...)@p
|
error_setg_errno(err, eno, fmt, ...)@p
)
@script:python@
fmt << r.fmt;
p << r.p;
@@
if "\\n" in str(fmt):
print "%s:%s:%s:%s" % (p[0].file, p[0].line, p[0].column, fmt)
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a9522cc6ea04968e1169f0195952d0029d5dbb9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:15 2013 +0100
error: Clean up abuse of error_report() for help
Use error_printf() instead, so the help gets presented more nicely.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 474c21349fdde3c477357c2317ca6ad50872827b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:14 2013 +0100
error: Clean up error strings with embedded newlines
The arguments of error_report() should yield a short error string
without newlines.
A few places try to print additional help after the error message by
embedding newlines in the error string. That's nice, but let's do it
the right way.
Since I'm touching these lines anyway, drop a stray preposition and
some tabs. We don't use tabs for similar messages elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2da2e52dce73c5e3a916bcc8e86451ed64f557d8
Merge: 1044255... 0184543...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 11 08:10:39 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Peter Maydell
# Via Luiz Capitulino
* luiz/queue/qmp:
tests/test-string-input-visitor: Handle errors provoked by fuzz test
commit 10442558ab1797bfbb01285b909e34c5cf038f12
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Feb 9 13:39:45 2013 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1097 built from submodule.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 70ef6a5b7121cb54d7f9713d6315fb8547761bfc
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Thu Feb 7 16:58:15 2013 +1000
xilinx_zynq: Fix wrong IRQ number of the second EHCI controller
The IRQ number of the second EHCI controller should be 76, not 75.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fb6d1bbd246c7a57ef53d3847ef225cd1349d602
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Feb 8 08:49:10 2013 +0100
block/curl: disable extra protocols to prevent CVE-2013-0249
There is a buffer overflow in libcurl POP3/SMTP/IMAP. The workaround is
simple: disable extra protocols so that they cannot be exploited. Full
details here:
http://curl.haxx.se/docs/adv_20130206.html
QEMU only cares about HTTP, HTTPS, FTP, FTPS, and TFTP. I have tested
that this fix prevents the exploit on my host with
libcurl-7.27.0-5.fc18.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0eb256a2173d35c64696189adcd3599be61922ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 13:19:07 2013 +0100
qemu-nbd: document --cache and --aio options
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 32ab06bcf1352848eec42629a85e20efa4e105dc
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 17:47:17 2013 -0600
hw/virtio-net: disable multiqueue by default
The new multiqueue feature adds fields to the virtio device config, which
breaks Windows guests. Disable the feature by default until the Windows
drivers are fixed.
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 14f9b664b34bbd37a488cb5c762aa278c60e1fb6
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 17:47:16 2013 -0600
hw/virtio-net.c: set config size using host features
Currently, the config size for virtio devices is hard coded. When a new
feature is added that changes the config size, drivers that assume a
static
config size will break. For purposes of backward compatibility, there
needs
to be a way to inform drivers of the config size needed to accommodate the
set of features enabled.
aliguori: merged in
- hw/virtio-net: use existing macros to implement endof
- hw/virtio-net: fix config_size data type
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e89ad5b00ba0426d4e949c9e6ce2926c15b81b7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 5 17:47:15 2013 -0600
virtio-net: pass host features to virtio_net_init
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b890492110ccdc943554231d40b67d29fef6af82
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 6 18:25:48 2013 -0600
net: fix infinite loop on exit
1ceef9f27359cbe92ef124bf74de6f792e71f6fb added handling for cleaning
up multiple queues in qemu_del_nic() for cases where multiqueue is in
use. To determine the number of queues it looks at nic->conf->queues,
then iterates through all the queues to cleanup the associated
NetClientStates. If no queues are found, no NetClientStates are deleted.
However, nic->conf->queues is only set when a peer is created via
-netdev or netdev_add, and is otherwise 0. This causes us to spin in
net_cleanup() if we attempt to shut down qemu before adding a host
device.
Since qemu_new_nic() unconditionally creates at least 1
queue/NetClientState at queue idx 0, make qemu_del_nic() always attempt
to clean it up.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0184543814354d37eab75132712c3874d71dd776
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 5 20:44:23 2013 +0000
tests/test-string-input-visitor: Handle errors provoked by fuzz test
It's OK and expected for visitors to return errors when presented with
the fuzz test's random data. Since the fuzzer doesn't care about
errors, we pass in NULL rather than an Error**. This fixes a bug in
the fuzzer where it was passing the same Error** into each visitor,
with the effect that once one visitor returned an error, each later
visitor would notice that it had been passed in an Error** representing
an already set error, and do nothing.
For the case of visit_type_str() we also need to handle the case where
an error means that the visitor doesn't set our char*. We initialize
the pointer to NULL so we can safely g_free() it regardless of whether
the visitor allocated a string for us or not.
This fixes a problem where this test failed the MacOSX malloc()
consistency checks and might segfault on other platforms [due
to calling free() on an uninitialized pointer variable when
visit_type_str() failed.].
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ecd8d4715ea33aa2c146a5047bacb031e86af599
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 18:33:47 2013 -0600
Update version for release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bd4bd24ed3e33f4f0ffa9dde23b8b85430592dc6
Merge: 0bc8ce9... c07ecc6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:39:04 2013 -0600
Merge branch 'for-linux-user' of
https://git.gitorious.org/qemu-m68k/qemu-m68k into staging
* 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k:
linux-user: correct reboot()
linux-user: correct setsockopt()
linux-user: correct print_timeval() swap tv_sec and tv_usec
linux-user: correct msgrcv()
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0bc8ce9460c1f51211e797a825432e55327b70c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 31 12:50:40 2013 +0000
linux-user: Restore cast to target type in get_user()
Commit 658f2dc97 accidentally dropped the cast to the target type of
the value loaded by get_user(). The most visible effect of this would
be that the sequence "uint64_t v; get_user_u32(v, addr)" would sign
extend the 32 bit loaded value into v rather than zero extending as
would be expected for a _u32 accessor. Put the cast back again to
restore the old behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f565235b71b7be66f3f6b385a5377969f5ed26f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 2 15:13:02 2013 +0000
hw/pxa2xx: Fix transposed crn/crm values for pxa2xx cp14 perf regs
When the pxa2xx performance counter related cp14 registers were converted
from a switch-statement implementation to the new table driven cpregs
format in commit dc2a9045c, the crn and crm values for all these
registers were accidentally transposed. Fix this mistake, which was
causing OpenBSD for Zaurus to fail to boot.
Reported-by: Jonathan Gray <jsg@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5b2cd9857d945cc1e9b6f596c757f70e25aed60c
Merge: 3f23624... 8f44015...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:36:16 2013 -0600
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Markus Armbruster
# Via Stefan Hajnoczi
* stefanha/tracing:
trace: Fix location of simpletrace.py in docs
trace: Clean up the "try to update atomic until it worked" loops
trace: Direct access of atomics is verboten, use the API
trace: Fix simple trace dropped event record for big endian
commit 3f23624c848b8f1c88e4305fe01e19b2520bfd3d
Merge: 8a14952... 2a0e1ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:36:11 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Michael Tokarev (1) and Stefan Weil (1)
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
vnc: recognize Hungarian doubleacutes
target-m68k: Fix comment
commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 17:07:46 2013 +0100
hmp: Disable chardev-add and chardev-remove
As a general rule, HMP commands must be built on top of the QMP API.
Luiz and others have worked long & hard to make HMP conform to this
rule.
Commit f1088908 added chardev-add, in violation of this rule. QMP
command chardev-add was added right before, with minimal features, and
the idea to complete it step by step, then switch over the HMP command
to use it.
Unfortunately, we're not there, yet, and we don't want to release with
chardev-add in a "HMP is more powerful than QMP" state.
Disable the HMP command for now, along with its chardev-remove buddy.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 543f34126b7bfc85b05d0e371e3ce0695444f433
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:26 2013 +0100
hmp: make memchar-read escape ASCII control chars except \n and \t
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit de1cc36e1039faf65b1739d28bef9f2a4e230eb6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:25 2013 +0100
qemu-char: Support suffixed ringbuf size arguments like "size=64K"
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3949e59414fccefadc50ae65650d676cc734048c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:24 2013 +0100
qemu-char: Saner naming of memchar stuff & doc fixes
New device, has never been released, so we can still improve things
without worrying about compatibility.
Naming is a mess. The code calls the device driver CirMemCharDriver,
the public API calls it "memory", "memchardev", or "memchar", and the
special commands are named like "memchar-FOO". "memory" is a
particularly unfortunate choice, because there's another character
device driver called MemoryDriver. Moreover, the device's distinctive
property is that it's a ring buffer, not that's in memory. Therefore:
* Rename CirMemCharDriver to RingBufCharDriver, and call the thing a
"ringbuf" in the API.
* Rename QMP and HMP commands from memchar-FOO to ringbuf-FOO.
* Rename device parameter from maxcapacity to size (simple words are
good for you).
* Clearly mark the parameter as optional in documentation.
* Fix error reporting so that chardev-add reports to current monitor,
not stderr.
* Replace cirmem in C identifiers by ringbuf.
* Rework documentation. Document the impact of our crappy UTF-8
handling on reading.
* QMP examples that even work.
I could split this up into multiple commits, but they'd change the
same documentation lines multiple times. Not worth it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c230105cdea8ac9338bd5b4485c6ae80ec1fa18
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:23 2013 +0100
qemu-char: General chardev "memory" code cleanup
Inline trivial cirmem_chr_is_empty() into its only caller.
Rename qemu_chr_cirmem_count() to cirmem_count().
Fast ring buffer index wraparound. Without this, there's no point in
restricting size to a power two.
qemu_is_chr(chr, "memory") returns *zero* when chr is a memory
character device, which isn't what I'd expect. Replace it by the
saner and more obviously correct chr_is_cirmem(). Also avoids
encouraging testing for specific character devices elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd5b66950fc5551d371ba5017d0e0858b7c800b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:22 2013 +0100
qemu-char: Drop undocumented chardev "memory" compatibility syntax
This is a new device, so there's no compatibility to maintain, and its
use case isn't common enough to justify shorthand syntax.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 094c8c2c67c486bcbc03c5e6327edc6ad3e5e29a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:21 2013 +0100
qemu-char: Fix chardev "memory" not to drop IAC characters
Undocumented misfeature, get rid of it while we can.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44f3bcd2c7991cc9d096e51e38864135543ea1ce
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:20 2013 +0100
qmp: Drop wasteful zero-initialization in qmp_memchar_read()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c287e99fe47b179e6ef6b212139821b4d78934c1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:19 2013 +0100
qmp: Drop superfluous special case "empty" in qmp_memchar_read()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 13289fb5a716e06fb06febb880e5e116d485f82b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:18 2013 +0100
qmp: Plug memory leaks in memchar-write, memchar-read
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c4f331b6b3b5fe260128f316ee9f01997f7c428d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:17 2013 +0100
qmp: Clean up type usage in qmp_memchar_write(), qmp_memchar_read()
Const-correctness, consistently use standard C types instead of mixing
them with GLib types.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a69278e53a0e5060c8c6cc825449a122634ce3b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:16 2013 +0100
qmp: Use generic errors in memchar-read, memchar-write
New errors should be generic unless there's a real use case for rich
errors.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab651fc819178cf6a518af5860cc49f42cff455
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:15 2013 +0100
qmp: Clean up design of memchar-read
The data returned has a well-defined size, which makes the size
returned along with it redundant at best. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 82e59a676c01b3df3b53998d428d0a64a55f2439
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:14 2013 +0100
qmp: Fix design bug and read beyond buffer in memchar-write
Command memchar-write takes data and size parameter. Begs the
question what happens when data doesn't match size.
With format base64, qmp_memchar_write() copies the full data argument,
regardless of size argument.
With format utf8, qmp_memchar_write() copies size bytes from data,
happily reading beyond data. Copies crap from the heap or even
crashes.
Drop the size parameter, and always copy the full data argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a0e1ad66e4177dddc6c8fb7aeadc095aafac828
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Feb 4 00:36:25 2013 +0400
vnc: recognize Hungarian doubleacutes
As reported in http://bugs.debian.org/697641 , some Hungarian keys
does not work with qemu when using vnc display.
This is because while the Hungarian keymap mentions these symbols,
qemu know nothing about them. So add them.
This patch is applicable to -stable for all previous releases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f38f7a847e316def8606d25441878d723de84b65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Feb 5 13:12:43 2013 +0100
target-m68k: Fix comment
* spelling fix ito -> into
* reorder to match load/store
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 15af6321f4d1f90d0ae1b5cb05093c48b41c4533
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Feb 4 00:36:25 2013 +0400
vnc: recognize Hungarian doubleacutes
As reported in http://bugs.debian.org/697641 , some Hungarian keys
does not work with qemu when using vnc display.
This is because while the Hungarian keymap mentions these symbols,
qemu know nothing about them. So add them.
This patch is applicable to -stable for all previous releases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a911a182a6bfd3b0257b13f862b0d4fbd9392715
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 11:27:46 2013 +0530
qemu/9p: Don't ignore error in fid clunk
We use the clunk request to do the actual xattr operation. So don't
ignore the error value for fid clunk.
Security model "none" don't support posix acl. Without this patch
guest won't get EOPNOTSUPP error on setxattr("system.posix_acl_access")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit facf98ad987a38d97e12511f81375380b407a828
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 11:27:45 2013 +0530
qemu/iovec: Don't assert if sbytes is zero
Since these values can possibly be sent from guest (for hw/9pfs), do a
sanity check
on them. A 9p write request with 0 bytes caused qemu to abort without
this patch
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ddcb73b7782cb6104479503faea04cc224f982b5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 5 21:00:21 2013 +0200
e1000: fix link down handling with auto negotiation
Fixes a couple of regression bugs introduced by
b9d03e352cb6b31a66545763f6a1e20c9abf0c2c and related to
auto-negotiation:
- Auto-negotiation currently sets link up even if it was
forced down from the monitor.
- If Auto-negotiation was in progress during migration,
link will never come up.
As a fix, don't touch NC link_down field at all,
instead add code on receive path to check
guest link status.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84208085d357d95b84f6e281ec3aa028e988e5ff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 4 16:21:07 2013 -0800
configure: Fix build with XFree
The build is broken on ppc64-linux, possibly only with new binutils:
ld: hw/lm32/../milkymist-tmu2.o: undefined reference to symbol 'XFree'
ld: note: 'XFree' is defined in DSO /lib64/libX11.so.6 so try \
adding it to the linker command line
So let's follow the linker's advice.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91107fdf4443d2171e06840e87277bb7a047343b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 4 16:21:06 2013 -0800
bswap: Fix width of swap in leul_to_cpu
The misnamed HOST_LONG_BITS is really HOST_POINTER_BITS. Here we're
explicitly using an unsigned long, rather than uintptr_t, so it is
more correct to select the swap size via ULONG_MAX.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f876756c57c15f5e14d4136fc432b74f05f082b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 05:12:06 2013 -0600
bios: recompile BIOS
SeaBIOS is really close to spilling over to 256k. Until we can better
handle migration across RAM block size changes, recompile SeaBIOS with
a compiler that causes the binary to still fit in 128k.
This was built with:
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)
On 64-bit Fedora 18.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f44015e4600041e200506720e39de7728c5cde9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:40 2013 +0100
trace: Fix location of simpletrace.py in docs
Missed when commit 4c3b5a48 moved it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6b2c9628084f1672b92393cf84039a075a95301
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:39 2013 +0100
trace: Clean up the "try to update atomic until it worked" loops
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e722d705ae7648a6bd94848319a11eb0afd58a17
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:38 2013 +0100
trace: Direct access of atomics is verboten, use the API
The GLib Reference Manual says:
It is very important that all accesses to a particular integer or
pointer be performed using only this API and that different sizes
of operation are not mixed or used on overlapping memory
regions. Never read or assign directly from or to a value --
always use this API.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb3a508531227bc7fb7eee22c51d30bf2ceb15f5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:37 2013 +0100
trace: Fix simple trace dropped event record for big endian
We use atomic operations to keep track of dropped events.
Inconveniently, GLib supports only int and void * atomics, but the
counter dropped_events is uint64_t. Can't stop commit 62bab732: a
quick (gint *)&dropped_events bludgeons the compiler into submission.
That cast is okay only when int is exactly 64 bits wide, which it
commonly isn't.
If int is even wider, we clobber whatever follows dropped_events. Not
worth worrying about, as none of the machines that interest us have
such morbidly obese ints.
That leaves the common case: int narrower than 64 bits.
Harmless on little endian hosts: we just don't access the most
significant bits of dropped_events. They remain zero.
On big endian hosts, we use only the most significant bits of
dropped_events as counter. The least significant bits remain zero.
However, we write out the full value, which is the correct counter
shifted left a bunch of places.
Fix by changing the variables involved to int.
There's another, equally suspicious-looking (gint *)&trace_idx
argument to g_atomic_int_compare_and_exchange(), but that one casts
unsigned *, so it's okay. But it's also superfluous, because GLib's
atomic int operations work just fine for unsigned. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b22dd1243f38286263d40496ce5298a8a7d96eea
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 3 21:33:16 2013 +0100
target-s390x: Fix wrong comparison in interrupt handling
gcc with -Wextra complains about an ordered pointer comparison:
target-s390x/helper.c:660:27: warning:
ordered comparison of pointer with integer zero [-Wextra]
Obviously the index was missing in the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0123c486367ab77c3c5ed349616a862eb474a03f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 4 15:22:08 2013 -0600
s390x: silence warning from GCC on uninitialized values
As best I can tell, this is a false positive.
[aliguori@ccnode4 qemu-s390]$ make
CC s390x-softmmu/target-s390x/helper.o
/home/aliguori/git/qemu/target-s390x/helper.c: In function
â??do_interruptâ??:
/home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??addrâ??
may be used uninitialized in this function [-Werror=maybe-uninitialized]
/home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: â??addrâ??
was declared here
/home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??maskâ??
may be used uninitialized in this function [-Werror=maybe-uninitialized]
/home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: â??maskâ??
was declared here
cc1: all warnings being treated as errors
make[1]: *** [target-s390x/helper.o] Error 1
make: *** [subdir-s390x-softmmu] Error 2
Cc: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ded67782e6d06069873adce7f9074d273ae75760
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 4 10:07:51 2013 -0600
acpi_piix4: fix segfault migrating from 1.2
b0b873a07872f7ab7f66f259c73fb9dd42aa66a9 bumped the vmstate version and
introduced an old-style load function to handle migration from prior
(<= 1.2) versions.
The load function passes the top-level PIIX4PMState pointer to
vmstate_load_state() to handle nested structs for APMState and
pci_status, which leads to corruption of the top-level PIIX4PMState,
since pointers to the nested structs are expected.
A segfault can be fairly reliably triggered by migrating from 1.2 and
issuing a reset, which will trigger a number of QOM operations which
rely on the now corrupted ObjectClass/Object members.
Fix this by passing in the expected pointers for vmstate_load_state().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c881e20eed4911ab6f8c674f2b1bf225a2cdde71
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:52 2013 -0200
vl.c: validate -numa "cpus" parameter properly
- Accept empty strings without aborting
- Use parse_uint*() to parse numbers
- Abort if anything except '-' or end-of-string is found after the first
number.
- Check for endvalue < value
Also change the MAX_CPUMASK_BITS warning message from "A max of %d CPUs
are supported in a guest" to "qemu: NUMA: A max of %d VCPUs are
supported".
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 845e5bf9cd49873c72f84796cabf107c3f520f37
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:51 2013 -0200
vl.c: Extract -numa "cpus" parsing to separate function
This will make it easier to refactor that code later.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f1399651eaab1b04e49107250d182968a227aa6
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:50 2013 -0200
vl.c: Use parse_uint_full() for NUMA nodeid
This should catch many kinds of errors that the current code wasn't
checking for:
- Values that can't be parsed as a number
- Negative values
- Overflow
- Empty string
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ce85b25838694d2d7396b5e969eb4830329631
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:49 2013 -0200
vl.c: numa_add(): Validate nodeid before using it
Without this check, QEMU will corrupt memory if a too-large nodeid is
provided in the command-line. e.g.:
-numa node,mem=...,cpus=...,nodeid=65
This changes nodenr to unsigned long long, to avoid integer conversion
issues when converting the strtoull() result to int.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ca4c6d363153f19abf3ffdf0ca1532daa581867d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:48 2013 -0200
vl.c: Check for NUMA node limit inside numa_add()
Instead of checking the limit before calling numa_add(), check the limit
only when we already know we're going to add a new node.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 12e53a9d59c8cb272a423e1db036324579a3c697
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:47 2013 -0200
vl.c: Abort on unknown -numa option type
Abort in case an invalid -numa option is provided, instead of silently
ignoring it.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f302cb0900ba7f38b62da5759f07b77483d6fb9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:46 2013 -0200
vl.c: Fix off-by-one bug when handling "-numa node" argument
The numa_add() code was unconditionally adding 1 to the get_opt_name()
return value, making it point after the end of the string if no ','
separator is present.
Example of weird behavior caused by the bug:
$ qemu-img create -f qcow2
this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2 5G
Formatting 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2',
fmt=qcow2 size=5368709120 encryption=off cluster_size=65536
$ ./x86_64-softmmu/qemu-system-x86_64 -S -monitor stdio -numa node
'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2'
QEMU 1.3.50 monitor - type 'help' for more information
(qemu) info numa
1 nodes
node 0 cpus: 0
node 0 size: 1000 MB
(qemu)
This changes the code to nove the pointer only if ',' is found.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3f9fe2d404ca10153e95499ece111c077b6690a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:45 2013 -0200
cutils: unsigned int parsing functions
There are lots of duplicate parsing code using strto*() in QEMU, and
most of that code is broken in one way or another. Even the visitors
code have duplicate integer parsing code[1]. This introduces functions
to help parsing unsigned int values: parse_uint() and parse_uint_full().
Parsing functions for signed ints and floats will be submitted later.
parse_uint_full() has all the checks made by opts_type_uint64() at
opts-visitor.c:
- Check for NULL (returns -EINVAL)
- Check for negative numbers (returns -EINVAL)
- Check for empty string (returns -EINVAL)
- Check for overflow or other errno values set by strtoll() (returns
-errno)
- Check for end of string (reject invalid characters after number)
(returns -EINVAL)
parse_uint() does everything above except checking for the end of the
string, so callers can continue parsing the remainder of string after
the number.
Unit tests included.
[1] string-input-visitor.c:parse_int() could use the same parsing code
used by opts-visitor.c:opts_type_int(), instead of duplicating that
logic.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ff057ccb07f07ee8f34ae4104f7ba8c2dcbc3f9a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 07:26:05 2013 +0100
target-cris: Build fix for debug output
Around r3361 (81fdc5f8d2d681da8d255baf0713144f8656bac9) env->debug1 used
to contain the address of an MMU fault. This is now written into
env->pregs[PR_EDA] instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fbeadf50f2f965741def823036b086bbc2999b1f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 1 23:03:16 2013 +0100
bitops: unify bitops_ffsl with the one in host-utils.h, call it
bitops_ctzl
We had two copies of a ffs function for longs with subtly different
semantics and, for the one in bitops.h, a confusing name: the result
was off-by-one compared to the library function ffsl.
Unify the functions into one, and solve the name problem by calling
the 0-based functions "bitops_ctzl" and "bitops_ctol" respectively.
This also fixes the build on platforms with ffsl, including Mac OS X
and Windows.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7b2d9779818f4c0d4c31d3a0292bee1c4b633217
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 19:04:27 2013 +0100
util: Fix compilation of envlist.c for MinGW
MinGW has no strtok_r, so we need a declaration in sysemu/os-win32.h.
We must also fix the include statements in util/envlist.c to include
that file.
We currently don't need an implementation of strtok_r because the
code is compiled but not linked for MinGW.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit abd8d4a4d6dfea7ddea72f095f993e1de941614e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 15:10:33 2013 -0600
Update version for 1.4.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02cd809099322d6bdbd3fb232e9dd1018b125866
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 18:02:50 2013 -0600
tap: unbreak -netdev tap,fd=X
The multiqueue patch series broke -netdev tap,fd=X which manifests
as libvirt not being able to start a guest. This was because it
passed NULL for the netdev name which results in an anonymous netdev
device regardless of what the user specified.
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Cc: Bruce Rogers <brogers@xxxxxxxx>
Reported-by: Bruce Rogers <brogers@xxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b76facc35b0153cee5a8972f8a3c70694a7e3913
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:39 2013 +0100
qom: remove object_delete
This is now unused. Document the initial reference count of an object
and when it will be freed/finalized.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c099537a646370d85f9a0f6bc18371ceeeb14dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:38 2013 +0100
cpu: do not use object_delete
CPUs are never added to the composition tree, so delete is achieved
simply by removing the last references to them.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b09995aef1d4a5879000a196a82e37b0511c8e03
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:37 2013 +0100
qdev: drop extra references at creation time
qdev_free and qbus_free have to do unparent+unref, because nobody else
drops the initial reference (the one included by object_initialize)
before them.
For device_init_func and do_device_add, this is trivially correct,
since the DeviceState goes out of scope.
For qdev_create, qdev_try_create and qbus_init, it is a bit more tricky.
What we are doing here is just assuming that the caller knows what it's
doing, and won't call qdev_free/qbus_free while the device is still there.
This is a pretty reasonable assumption and (behind the scenes) is also
what GObject/GTK does. GTK actually has a "floating reference" that
goes away as soon as the caller does gtk_container_add or something
like that, but in the end qbus_init and qdev_try_create are already
adding the new object to its qdev parent! So in the end the two solutions
are the same.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc7389b79a15082fa4824bd3de966499f3b8cb2a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:36 2013 +0100
qdev: inline object_delete into qbus_free/qdev_free
We want object_delete to disappear, and we will do this one class at a
time. Inline it for the qdev case, which we will tackle first.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62d7ba669dbd5b4c92664eea453d28448ab9cb4b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:35 2013 +0100
qdev: add reference for the bus while it is referred to by the DeviceState
Now that the unparent callbacks are complete, we can correctly account
more missing references.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 06f7f2bb562826101468f387b4a34971b16e9aee
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:34 2013 +0100
qdev: move unrealization of devices from finalize to unparent
Similarly, a bus holds a reference back to the device, and this will
prevent the device from going away as soon as this reference is counted
properly. To avoid this, move the unrealization of devices to the
unparent callback. This includes recursively unparenting all the buses
and (after the previous patch) the devices on those buses, which ensures
that the web of references completely disappears for all devices that
reside (in the qdev tree) below the one being unplugged.
After this patch, the qdev tree and the bus<->child relationship is
defined as "A is above B, iff unplugging A will automatically unplug B".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6853d27a1253cd29c43d08b0624e7938a48d52a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:33 2013 +0100
qdev: move deletion of children from finalize to unparent
A device will never be finalized as long as it has a reference from
other devices that sit on its buses. To ensure that the references
go away, deassociate a bus from its children in the unparent callback
for the bus.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d127820ebbdc76592e3922cbbe803533455f9a2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:32 2013 +0100
qdev: add reference count to a device for the BusChild
Each device has a reference through the BusChild. This reference
was not accounted for, add it now.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c232d2ffb7cf60e9fdf5dc17c5d5f7fe6d1ca64
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:31 2013 +0100
qom: document reference counting of link properties
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 52e636cdd8528b8f72f43b653356ac177524912b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:30 2013 +0100
qom: preserve object while unparenting it
Avoid that the object disappears after it's deleted from the QOM
composition tree, in case that was the only reference to it.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4fec6404465fdb1f09670b1451605c7cbf87c01e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:29 2013 +0100
pci: use qbus_create in pci_bus_new
Remove knowledge of QOM innards. The common part of pci_bus_new and
pci_bus_new_inplace is moved to a new function pci_bus_init.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:28 2013 +0100
qdev: change first argument of qbus_create_inplace to void *
Make it clear that no BUS() macro is needed in the callers (in fact it
wouldn't work because the object has not been initialized yet with the
right class).
Suggested-by: Andreas Faerber <afaerber@xxxxxxx>
Acked-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 013e118247d0f1894f329ad31b8f8a9e279555f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:27 2013 +0100
qdev: remove duplication between qbus_create and qbus_create_inplace
Move the common part to qbus_realize.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5286af5ef27bfe25aa0472eb4d695964ae16b23
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:27 2013 +0800
accel: change {xen, kvm, tcg, qtest}_allowed from int to bool
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 217e21be6e0f2c1caa0b644f56aa60dba7ea7893
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:26 2013 +0800
vl: correct error message when fail to init kvm
command:
qemu-system-x86_64 -hda disk.img -smp 32 --enable-kvm
error:
Number of SMP cpus requested (32) exceeds max cpus supported by KVM (16)
failed to initialize KVM: Invalid argument
No accelerator found!
well, it did find kvm, but failed to init,
so message "No accelerator found!" is confusing,
this commit remove the confusing error message.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3c66d939480e0f372316c22184c07fb3de12873
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:25 2013 +0800
vl: skip init accelerator if it's not available
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit baeddded5fe6fa37d13fb94bf8dc0e9b2b184e21
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 15:42:45 2013 -0600
sparc: disable qtest in make check
We've seen this repeatedly in buildbot but I can now reliably
reproduce it myself too. With a few hundred runs of 'make check',
qemu-system-sparc will hang consuming 100% CPU. I've attached GDB
to the hung process and unfortunately, I can't get anything useful
out of GDB (RIP is not a valid simple and there is nothing else on
the stack).
At any rate, since this only manifests in qemu-system-sparc and it
doesn't appear to be a qtest specific problem, I think we should
disable it until the problem is resolved.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77a5f4f20371c5f564d670c25ad72443a9aa2ee6
Merge: 3e3648b... fdf263f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 14:40:05 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (7) and others
# Via Stefan Hajnoczi
* stefanha/block:
block/raw-posix: Build fix for O_ASYNC
vmdk: Allow space in file name
parallels: Fix bdrv_open() error handling
dmg: Use g_free instead of free
dmg: Fix bdrv_open() error handling
vpc: Fix bdrv_open() error handling
cloop: Fix bdrv_open() error handling
bochs: Fix bdrv_open() error handling
sheepdog: pass vdi_id to sheep daemon for sd_close()
vmdk: Allow selecting SCSI adapter in image creation
block: Adds mirroring tests for resized images
block: Fix is_allocated_above with resized files
qemu-iotests: Add regression test for b7ab0fea
commit 3e3648b29f80c3c406dae127592150b550f20d2f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 12:55:56 2013 -0600
xen: fix build problem introduced from per-queue peers
Reported-by Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a9c87c586ba9ee290792a98dc126b2861b7f8b03
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:41 2013 +0800
virtio-net: compat multiqueue support
Disable multiqueue support for pre 1.4.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f800801838f74a8a430fb41a7393fa5df0a61f9
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:40 2013 +0800
virtio-net: migration support for multiqueue
This patch add migration support for multiqueue virtio-net. Instead of
bumping
the version, we conditionally send the info of multiqueue only when the
device
support more than one queue to maintain the backward compatibility.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fed699f9ca6ae8a0fb62803334cf46fa64d1eb91
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:39 2013 +0800
virtio-net: multiqueue support
This patch implements both userspace and vhost support for multiple queue
virtio-net (VIRTIO_NET_F_MQ). This is done by introducing an array of
VirtIONetQueue to VirtIONet.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c87e93e3102f0c717f58ed90858e6b410fd4e04
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:38 2013 +0800
virtio-net: separate virtqueue from VirtIONet
To support multiqueue virtio-net, the first step is to separate the
virtqueue
related fields from VirtIONet to a new structure VirtIONetQueue. The
following
patches will add an array of VirtIONetQueue to VirtIONet based on this
patch.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e78a2b4285f6cc125dc7a514bebef97d9af1d812
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:37 2013 +0800
virtio: add a queue_index to VirtQueue
Add a queue_index to VirtQueue and a helper to fetch it, this could be
used by
multiqueue supported device.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f23fd811ac4f49f482058cad3b465dc5dc0edc11
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:36 2013 +0800
virtio: introduce virtio_del_queue()
Some device (such as virtio-net) needs the ability to destroy or re-order
the
virtqueues, this patch adds a helper to do this.
Signed-off-by: Jason Wang <jasowang>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a9f98bb5ebe6fb1869321dcc58e72041ae626ad8
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:35 2013 +0800
vhost: multiqueue support
This patch lets vhost support multiqueue. The idea is simple, just
launching
multiple threads of vhost and let each of vhost thread processing a
subset of
the virtqueues of the device. After this change each emulated device can
have
multiple vhost threads as its backend.
To do this, a virtqueue index were introduced to record to first
virtqueue that
will be handled by this vhost_net device. Based on this and nvqs, vhost
could
calculate its relative index to setup vhost_net device.
Since we may have many vhost/net devices for a virtio-net device. The
setting of
guest notifiers were moved out of the starting/stopping of a specific
vhost
thread. The vhost_net_{start|stop}() were renamed to
vhost_net_{start|stop}_one(), and a new vhost_net_{start|stop}() were
introduced
to configure the guest notifiers and start/stop all vhost/vhost_net
devices.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 264986e2c8f14a0f4a32ac6f1e083905833a5fc7
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:34 2013 +0800
tap: multiqueue support
Recently, linux support multiqueue tap which could let userspace call
TUNSETIFF
for a signle device many times to create multiple file descriptors as
independent queues. User could also enable/disabe a specific queue through
TUNSETQUEUE.
The patch adds the generic infrastructure to create multiqueue taps. To
achieve
this a new parameter "queues" were introduced to specify how many queues
were
expected to be created for tap by qemu itself. Alternatively, management
could
also pass multiple pre-created tap file descriptors separated with ':'
through a
new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost
file
descriptors could also be passed in this way.
Each TAPState were still associated to a tap fd, which mean multiple
TAPStates
were created when user needs multiqueue taps. Since each TAPState
contains one
NetClientState, with the multiqueue nic support, an N peers of
NetClientState
were built up.
A new parameter, mq_required were introduce in tap_open() to create
multiqueue
tap fds.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e5dc0b402e64d245956c47cf22776e5206f322dc
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:33 2013 +0800
tap: introduce a helper to get the name of an interface
This patch introduces a helper tap_get_ifname() to get the device name of
tap
device. This is needed when ifname is unspecified in the command line and
qemu
were asked to create tap device by itself. In this situation, the name
were
allocated by kernel, so if multiqueue is asked, we need to fetch its name
after
creating the first queue.
Only linux has this support since it's the only platform that supports
multiqueue tap.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16dbaf905b72636d1bb066968bceabd64eaa1a9d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:32 2013 +0800
tap: support enabling or disabling a queue
This patch introduce a new bit - enabled in TAPState which tracks whether
a
specific queue/fd is enabled. The tap/fd is enabled during initialization
and
could be enabled/disabled by tap_enalbe() and tap_disable() which calls
platform
specific helpers to do the real work. Polling of a tap fd can only done
when
the tap was enabled.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 94fdc6d03034f594c53d5413590e23fcb7ffc268
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:31 2013 +0800
tap: add Linux multiqueue support
This patch add basic multiqueue support for Linux. When multiqueue is
needed, we
will first check whether kernel support multiqueue tap before creating
more
queues. Two new functions tap_fd_enable() and tap_fd_disable() were
introduced
to enable and disable a specific queue. Since the multiqueue is only
supported
in Linux, return error on other platforms.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5193e5fbb52a33f1f684b0d42d29a452dfd29e4a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:30 2013 +0800
tap: factor out common tap initialization
This patch factors out the common initialization of tap into a new helper
net_init_tap_one(). This will be used by multiqueue tap patches.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4e4f9ae7da90b55fe77307e58c867aa6b02a7384
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:29 2013 +0800
tap: import linux multiqueue constants
Import multiqueue constants from if_tun.h from 3.8-rc3. A new ifr flag
IFF_MULTI_QUEUE were introduced to create a multiqueue backend by calling
TUNSETIFF with the this flag and with the same interface name many times.
A new ioctl TUNSETQUEUE were introduced. When doing this ioctl with
IFF_DETACH_QUEUE, the queue were disabled in the linux kernel. When doing
this
ioctl with IFF_ATTACH_QUEUE, the queue were enabled in the linux kernel.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:28 2013 +0800
net: multiqueue support
This patch adds basic multiqueue support for qemu. The idea is simple, an
array
of NetClientStates were introduced in NICState, parse_netdev() were
extended to
find and match all NetClientStates belongs to the backend and place their
pointers in NICConf. Then qemu_new_nic can setup a N:N mapping between
NICStates
that belongs to a nic and NICStates belongs to the netdev. And a
queue_index
were introduced in NetClientState to track its index. After this, each
peers of
a NICState were abstracted as a queue.
After this change, all NetClientState that belongs to the same
backend/nic has
the same id. When use want to change the link status, all NetClientStates
that
belongs to the same backend/nic will be also changed. When user want to
delete
a device or netdev, all NetClientStates that belongs to the same
backend/nic
will be deleted also. Changing or deleting an specific queue is not
allowed.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7860455fd582b171e526b4b4647b9b9c9a3e703
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:27 2013 +0800
net: introduce NetClientState destructor
To allow allocating an array of NetClientState and free it once, this
patch
introduces destructor of NetClientState. Which could do type specific
free,
which could be used by multiqueue to free the array once.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 18a1541a8da40271056aab99100bdc38283c42ac
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:26 2013 +0800
net: introduce qemu_net_client_setup()
This patch separates the setup of NetClientState from its allocation,
this will
allow allocating an arrays of NetClientState and does the initialization
one by
one which is what multiqueue needs.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c51ae73fc68de2a4f11f5a7ebb52a4e79687e7d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:25 2013 +0800
net: introduce qemu_find_net_clients_except()
In multiqueue, all NetClientState that belongs to the same netdev or nic
has the
same id. So this patches introduces an helper
qemu_find_net_clients_except()
which finds all NetClientState with the same id. This will be used by
multiqueue
networking.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 948ecf219c032e3483b35ba4e162e5eee17d8b77
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:24 2013 +0800
net: intorduce qemu_del_nic()
To support multiqueue nic, this patch separate the nic destructor from
qemu_del_net_client() to a new helper qemu_del_nic() since the mapping
bettween
NiCState and NetClientState were not 1:1 in multiqueue. The following
patches
would refactor this function to support multiqueue nic.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc1f0f45425d0cca41ad421623f92bebc93a21a9
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:23 2013 +0800
net: introduce qemu_get_nic()
To support multiqueue, this patch introduces a helper qemu_get_nic() to
get
NICState from a NetClientState. The following patches would refactor this
helper
to support multiqueue.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b356f76de31e343121cdab3a01b39182edce9519
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:22 2013 +0800
net: introduce qemu_get_queue()
To support multiqueue, the patch introduce a helper qemu_get_queue()
which is used to get the NetClientState of a device. The following
patches would
refactor this helper to support multiqueue.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28a65891a0deb10b222890b9eb916ca32cb977bb
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:21 2013 +0800
net: tap: use abort() instead of assert(0)
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ec45f08313ce92039d52ea0338db4a0c862fef6a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:20 2013 +0800
net: tap: using bool instead of bitfield
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 350ed2fcd95d30b02609e8783f33735f356ad7ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 31 14:49:44 2013 +0100
target-ppc: Fix target_ulong vs. hwaddr format mismatches
Since HWADDR_PRIx is always the same now, use %016 for TARGET_PPC64 and
%08 for common code. This may slightly change the ppc64 debug output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bf0076643dac4f37cabb9233dc9170f1c2fdd49
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 28 16:15:16 2013 -0200
libqtest: Wait for the right child PID after killing QEMU
When running "make check" with gcov enabled, we get the following
message:
hw/tmp105.gcda:cannot open data file, assuming not executed
The problem happens because:
* tmp105-test exits before QEMU exits, because waitpid() at
qtest_quit() fails;
* waitpid() fails because there's another process already
waiting for the QEMU process;
* The process that is already waiting for QEMU is the child created by
qtest_init() to run system();
* qtest_quit() is incorrectly waiting for the QEMU PID directly instead
of the child created by qtest_init().
This fixes the problem by sending SIGTERM to QEMU, but waiting for the
child process created by qtest_init() (that exits immediately after QEMU
exits).
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3e7b8f4e6f507e09e27b7449f3744596f19c0083
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 18:56:18 2013 +0100
isa: QOM'ify isa_bus_from_device()
DeviceState::parent_bus is document as private and should be accessed
through qdev_get_parent_bus(). Use a DEVICE() cast instead of accessing
ISADevice's qdev field directly. Use ISA_BUS() in place of DO_UPCAST().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aae84a1f2ad256d222c97411af17013b1c35799
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 09:12:54 2013 +0100
i2c: Drop I2C_SLAVE_FROM_QDEV() macro
It is not being used in hot paths and is obsoleted by I2C_SLAVE()
QOM cast macro. Clean it up using a scripted conversion, so that it
doesn't get used in new code.
Some of its callers were combining it with FROM_I2C_SLAVE() macro, which
is equally obsolete but needs to be replaced in a type-specific way.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c8fec8372147a561f5b721d3a5180b73d7ce4cb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 16:16:19 2013 +0100
configure: Keep -Werror enabled for Release Candidates
The automatic drop of -Werror during the RC phases has in the past led
to warnings creeping into submaintainer trees.
Last QEMU Summit it was concluded that -Werror should stay on and
enabled only as part of the release process.
To relieve our release manager, instead of always enabling -Werror or
doing some number magic, let's enable it depending on whether a .git/
directory exists in the source tree.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70ddd9f66d1d5234b38b4444f209c511e7757ce6
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu Jan 31 17:43:51 2013 -0600
Revert "e1000: no need auto-negotiation if link was down"
This reverts commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d.
I'm not sure what issue the original commit was meant to fix, or if
the logic is actually wrong, but it causes e1000 to stop working
after a guest issues a reset.
>From what I can tell a guest with an e1000 nic has no way of changing
the link status, as far as it's NetClient peer is concerned, except
in the auto-negotiation path, so with this patch in place there's no
recovery after a reset, since the link goes down and stays that way.
Revert this patch now to fix the bigger problem, and handle any
lingering issues with a follow-up.
Reproduced/tested with qemu-jeos and Ubuntu 12.10.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dea9a694ffa6fdd19ba5ce265c619686c14df1b
Merge: e205842... a31ca01...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:08:14 2013 -0600
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Orit Wasserman
# Via Juan Quintela
* quintela/migration.next:
Fix error message in migrate_set_capability HMP command
Allow XBZRLE decoding without enabling the capability
Fix example for query-migrate-capabilities
Add XBZRLE testing
Move XBZRLE encoding code to a separate file to allow testing
commit e205842bd91fbd15655ff40a4282b1ffcbc301b1
Merge: fabb604... 49e1587...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:06:23 2013 -0600
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Andreas Färber
# Via Alexander Graf
* agraf/s390-for-upstream:
target-s390x: Pass S390CPU to s390_{add, del}_running_cpu()
target-s390x: Clean up cpu_inject_*() signatures
target-s390x: Fix debug output
target-s390x: Fix debug output (continued)
commit fabb60424d68b7c3af1be447a1f48c5b9ffe5123
Merge: 8a55ebf... 476b6d1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:02:09 2013 -0600
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Andreas Färber (2) and Alexander Graf (1)
# Via Alexander Graf
* agraf/ppc-for-upstream:
target-ppc: Fix build for PPC_DEBUG_DISAS
target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS
PPC: Unify dcbzl code path
commit fdf263f63fad86b04032da86686a952edfe4644f
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 31 15:40:14 2013 +0100
block/raw-posix: Build fix for O_ASYNC
Commit eeb6b45d48800e96f67ef2a5c80332557fd45ddb (block: raw-posix image
file reopen) broke the build on OpenIndiana.
illumos has no O_ASYNC. Exclude it from flags to be compared
and instead assert that it is not set where defined.
Cf. e61ab1da7e98357da47c54d8f893b9bd6ff2f7f9 for qemu-ga.
Cc: qemu-stable@xxxxxxxxxx (1.3.x)
Cc: Jeff Cody <jcody@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd9234757528a1b7155a75ec2eedb375f71e99fa
Author: Philipp Hahn <hahn@xxxxxxxxxxxxx>
Date: Tue Jan 29 22:50:31 2013 +0100
vmdk: Allow space in file name
The previous scanf() format string stopped parsing the file name on the
first white white space, which seems to be allowed at least by VMware
Workstation.
Change the format string to collect everything between the first and
second quote as the file name, disallowing line breaks.
Signed-off-by: Philipp Hahn <hahn@xxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 46536235d80a012cc4286b71426cafad0c7f41f0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:32 2013 +0100
parallels: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. Hey, no memory leak to fix here
while we're touching it!
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f8aa2e19f88fe0dfaf8240ae666de7fd18dd1d0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:31 2013 +0100
dmg: Use g_free instead of free
The buffers are allocated with g_(re)alloc, so use g_free to free them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69d34a360dfe773e17e72c76d15931c9b9d190f6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:30 2013 +0100
dmg: Fix bdrv_open() error handling
Return -errno instead of -1 on errors and add error checks in some
places that didn't have one. Passing things by reference requires more
correct typing, replaced a few off_ts therefore - with a 32-bit off_t
this is even a fix for truncation bugs.
While touching the code, fix even some more memory leaks than in the
other drivers...
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 59294e465953ffb07d42dc61c827bb98cc0ca423
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:29 2013 +0100
vpc: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a60657f5729bac57e70802eb17e67ad793400fd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:28 2013 +0100
cloop: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b7d7dfd198f06ec5edd0c857291c5035c5c060f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:27 2013 +0100
bochs: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f74c260b45a8f94007929c800d95c2303f1a7ec
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Jan 29 17:14:16 2013 +0800
sheepdog: pass vdi_id to sheep daemon for sd_close()
Sheep daemon needs vdi_id to identify which vdi is closed to release
resources
such as object cache.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f2039f61113f11be92112adf31b6052e04d986f
Author: Othmar Pasteka <pasteka@xxxxxxxx>
Date: Wed Jan 30 00:26:52 2013 +0100
vmdk: Allow selecting SCSI adapter in image creation
Introduce a new option "adapter_type" when converting to vmdk images.
It can be one of the following: ide (default), buslogic, lsilogic
or legacyESX (according to the vmdk spec from vmware).
In case of a non-ide adapter, heads is set to 255 instead of the 16.
The latter is used for "ide".
Also see LP#545089
Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a04eca108e5efe8a09fe82f7079fcd1568ffc8d7
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Fri Jan 25 10:57:20 2013 -0800
block: Adds mirroring tests for resized images
This test verifies two mirroring issues are fixed with resized images:
* sync='top' creates an image that is the proper size
* sync='full' doesn't cause an assertion failure and crash qemu
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63ba17d39f1a8d262b31ea6a07dd3eb45d5a41e2
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Thu Jan 24 10:02:08 2013 -0800
block: Fix is_allocated_above with resized files
In an image chain, if the base image is smaller than the current
image, we need to make sure to use the current images count of
unallocated blocks once we get to the end of the base image. Without
this change the code will return 0 blocks when it gets to the end
of the base image and mirror_run will fail its assertion.
Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b93d6d2468ba81b9e373066004f2084efbdcc9d6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 23 16:52:49 2013 +0100
qemu-iotests: Add regression test for b7ab0fea
It turned out that the change in b7ab0fea was actually a real qcow2
corruption fix. This is a reproducer for the bug.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a31ca017aaf9074c1bb636b3ddaceb40f994375f
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:19 2013 +0200
Fix error message in migrate_set_capability HMP command
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1b1fdfeae68c61786a474b02601fbba6040fc5a4
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:18 2013 +0200
Allow XBZRLE decoding without enabling the capability
Before this fix we couldn't load a guest from
XBZRLE compressed file.
For example:
The user activated the XBZRLE capability
The user run migrate -d "exec:gzip -c > vm.gz"
The user won't be able to load vm.gz and get an error.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dbca1b3773185af0413e750f26d04b0110cff107
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:17 2013 +0200
Fix example for query-migrate-capabilities
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 21e3cd295b52b3ac1528262b8639f2e896cd9467
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:16 2013 +0200
Add XBZRLE testing
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit ba2e28e8a20cf78ea4f64fbf84055f969013f9f7
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:15 2013 +0200
Move XBZRLE encoding code to a separate file to allow testing
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8a55ebf01507ab73cc458cfcd5b9cb856aba0b9e
Merge: 2854c54... 7786812...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:37:33 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu:
linux-user: bsd-user: Don't reset X86CPU twice
target-i386: Pass X86CPU to cpu_x86_set_a20()
target-unicore32: Rename CPU subtypes
target-openrisc: Rename CPU subtypes
target-openrisc: TYPE_OPENRISC_CPU should be abstract
target-m68k: Rename CPU subtypes
target-m68k: Mark as unmigratable
target-s390x: Mark as unmigratable
target-sh4: Mark as unmigratable
target-xtensa: Mark as unmigratable
target-microblaze: Mark as unmigratable
target-unicore32: Mark as unmigratable
ide/mmio: QOM'ify MMIO IDE for R2D
commit 2854c549e84532f0b76b7884f1903da8a1bf4dbb
Merge: c628d74... 7e02dc6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:37:23 2013 -0600
Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging
# By Henry Harrington (1) and Stefan Weil (1)
# Via Andreas Färber
* afaerber-or/cocoa-for-upstream:
cocoa: Replace non-portable asprintf() by g_strdup_printf()
cocoa: Fix VBE function Set Display Start
commit c628d74738bfdb872f771407a2790509ec4520f9
Merge: e62a214... 6a659bb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:35:24 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,make,pci,e1000,vfio,piix
This includes my timestamp generation cleanup,
Amos's and my work on virtio net commands,
pci,e1000,vfio and piix fixes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 31 Jan 2013 06:20:27 AM CST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (6) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vfio-pci: Enable PCIe extended config space
PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set
ich9: add support for pci assignment
virtio-net: rename ctrl rx commands
virtio-net: introduce a new macaddr control
virtio-net: remove layout assumptions for ctrl vq
virtio-net: revert mac on reset
rules/mak: make clean should blow away timestamp files
Makefile: clean timestamp generation rule
rules.mak: cleanup config generation rules
e1000: document ICS read behaviour
commit 49e158785fa86f04e2d4027dd19719d8b79a4421
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 30 12:48:25 2013 +0000
target-s390x: Pass S390CPU to s390_{add, del}_running_cpu()
This prepares for moving the halted field to CPUState.
Most call sites can already supply S390CPU, for some env becomes unused.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f94667336ecf6566e090a895a37bc06da435d686
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 30 12:48:24 2013 +0000
target-s390x: Clean up cpu_inject_*() signatures
Despite cautioning that S390CPU is needed for upcoming CPUState
refactorings, commit 5d69c547d947798cba92d836d06f6e017ba2b19d (s390:
I/O interrupt and machine check injection.) added functions
cpu_inject_io() and cpu_inject_crw_mchk() with CPUS390XState argument,
claiming consistency with cpu_inject_ext().
This complicates making cpu_interrupt() take a CPUState even more and it
required to pass &cpu->env from some S390CPU-aware call sites already,
creating inconsistency elsewhere. Address that.
This also eliminates the need for CPUS390XState in s390_virtio_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 07cc7d128111958e1079632129b1633cb2a435ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:03 2013 +0000
target-s390x: Fix debug output
Commit 71e470886fb6092504503a5fe41092ace71c096c (target-s390x: fix
style) renamed the cpu_s390x_handle_mmu_fault() argument from _vaddr to
orig_vaddr. Update the debug output code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a6f921b0c398c941bb3e17704ffa546849d243de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:04 2013 +0000
target-s390x: Fix debug output (continued)
Since its introduction in d5a439645a5a70fed5431318c3bce9dc2caa950f
(s390x: helper functions for system emulation) the variable name was
raddr. Fix this.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 476b6d1619446b9c8f72d7523985ba4fdfeaa405
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:02 2013 +0000
target-ppc: Fix build for PPC_DEBUG_DISAS
In r5949 / 76db3ba44ee8db671f804755f13b016eefd13288 (target-ppc: memory
load/store rework) variable little_endian was replaced with ctx.le_mode.
Update the debug code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cca48a93a9a6c1c95ace89b299d3f9f47adadd6d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:01 2013 +0000
target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e33944f8c648e579a2827ae6f30e4d66ee87f96
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 29 13:36:02 2013 +0100
PPC: Unify dcbzl code path
The bit that makes a dcbz instruction a dcbzl instruction was declared as
reserved in ppc32 ISAs. However, hardware simply ignores the bit, making
code valid if it simply invokes dcbzl instead of dcbz even on 750 and G4.
Thus, mark the bit as unreserved so that we properly emulate a simple dcbz
in case we're running on non-G5s.
While at it, also refactor the code to check the 970 special case during
runtime. This way we don't need to differenciate between a 970 dcbz and
any other dcbz anymore. We also allow for future improvements to add
e500mc
dcbz handling.
Reported-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 77868120cfe93ad7816dfac6546684e5a6c6e256
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 05:34:10 2013 +0100
linux-user: bsd-user: Don't reset X86CPU twice
Since commit 65dee38052597b6285eb208125369f01b29ba6c1 (target-i386:
move cpu_reset and reset callback to cpu.c) the x86 CPU is reset through
cpu_init() but was still reset immediately after in linux-user and
bsd-user. Clean this up.
Similarly in linux-user/syscall.c it is also reset after cpu_copy().
But that's a bug of its own, fixing which poses a semantic change.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit cc36a7a2c7e281d7d715ac73d31bbccc0d2d2670
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:19:06 2013 +0100
target-i386: Pass X86CPU to cpu_x86_set_a20()
Prepares for cpu_interrupt() changing argument to CPUState.
While touching it, rename to x86_cpu_...() now that it takes an X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit eeb266ded886185d1d3b0d8bc089ec72df1a2bfd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 23:25:25 2013 +0100
target-unicore32: Rename CPU subtypes
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 478032a93d908e59085c1ac56f10979942e7dc4f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 22:50:35 2013 +0100
target-openrisc: Rename CPU subtypes
Model names were mapped 1:1 to type names. As a side effect this
registered a type "any", which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments or -cpu ? output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc755a00b1fd58ac9bfa316237134958489f0145
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 22:27:17 2013 +0100
target-openrisc: TYPE_OPENRISC_CPU should be abstract
A basic assumption of CPU subtypes is that only specific models get
instantiated. A user is not supposed to instantiate an <arch>-cpu.
Suppress it via abstract = true, which also drops or32-cpu from
-cpu ? output.
Cc: qemu-stable@xxxxxxxxxx
Cc: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a9f812b381639b96a020bdb1f4783f11f886754
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 20:16:17 2013 +0100
target-m68k: Rename CPU subtypes
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments or -cpu ? output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 087fe4f824e88d5924bf6887cb59985510a790b7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:53:28 2013 +0100
target-m68k: Mark as unmigratable
It neither defined CPU_SAVE_VERSION nor implemented cpu_{save,load}().
Mark M68kCPU as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c7396bbb2597577b1463fc997a73e67b8a067880
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:41:06 2013 +0100
target-s390x: Mark as unmigratable
CPU_SAVE_VERSION was undefined, so "cpu_common" VMState and
cpu_{save,load}() were not registered. They were no-ops.
Therefore there is no backwards compatibility to keep, so we can mark
S390CPU as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1e45d31b04b1e3ccad2bfb3b4a90a75317ada16a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:32:33 2013 +0100
target-sh4: Mark as unmigratable
It neither defined CPU_SAVE_VERSION nor implemented cpu{save,load}().
Mark it as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 004a569057492784e4922f2f8cb396fb55affe71
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:22:41 2013 +0100
target-xtensa: Mark as unmigratable
There was no CPU_SAVE_VERSION defined, so neither "cpu_common" VMState
nor cpu_{save,load}() were registered. Their implementation was no-op.
Therefore there is no backwards compatibility to keep, so mark XtensaCPU
as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3ce8b2bcbff6445f84db53ef38dbc4e5dd102676
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:03:32 2013 +0100
target-microblaze: Mark as unmigratable
cpu_{save,load} were no-ops, so de facto it is unmigratable and no
backwards compatibility to keep. Therefore mark the MicroBlazeCPU as
unmigratable at device level the QOM way and suppress "cpu_common"
VMState registration by dropping CPU_SAVE_VERSION.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 88e28512efd8d36476e50a78acb1dca8b41a3cf1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 11:43:30 2013 +0100
target-unicore32: Mark as unmigratable
CPU_SAVE_VERSION 2 was bogus as both save and load would just throw a
hw_error(). Therefore we can without problems suppress registration of
"cpu_common" VMState by dropping CPU_SAVE_VERSION define and provide an
unmigratable "cpu" VMStateDescription for UniCore32CPU at device level
instead, where we can attach this the QOM way.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6b2578d678497dbce44ed7999d269fc973ae6e8f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 1 00:13:41 2013 +0100
ide/mmio: QOM'ify MMIO IDE for R2D
It was not qdev'ified before, so turn it into a SysBusDevice.
Keep mmio_ide_init_drives() around to attach the hard drive.
Signed-off-by: Andreas Färberr <afaerber@xxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e62a214cd49f836339fe3fd8126fc81d66c3c917
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx>
Date: Wed Jan 23 04:17:41 2013 +0100
target-mips: fix incorrect test for MTHLIP
The pos field in the DSPControl register is not correctly initialized.
Per documentation, the result of MTHLIP is unpredictable if the value of
the
pos field before the execution is greater than 32.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6f0af30449b4780c65723d0d45d0f956af5e8c4e
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Jan 23 03:57:02 2013 +0100
target-mips: enable access to DSP ASE if implemented
compute_hflags() will reset DSP h-flags, so MX bit should be initially set
for usermode in cpu_state_reset() if DSP ASE is implemented.
This change will bring back user-mode support for DSP ASE, since one of
the
recent changes broke it.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f54c35d1ea287beb26f6e929e2362cbc9dcfec07
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Tue Jan 22 17:16:00 2013 +0000
target-mips: Unfuse {,N}M{ADD,SUB}.fmt
Turn MADD.fmt, MSUB.fmt, NMADD.fmt and NMSUB.fmt from fused to unfused
operations, so that they behave in the same way as a separate
multiplication
and addition. The instructions were only fused in early MIPS IV
processors.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c728154bbbc1a86465a0fd6bfc839bc9710ac374
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Sun Jan 20 19:30:54 2013 +0000
target-mips: Sign-extend the result of LWR
Sign-extend the result of LWR, as is already done for LWL. This is
necessary
in the case where LWR loads the full word (i.e. the address is actually
aligned). In the other cases, it is implementation defined whether the
upper 32 bits of the result are unchanged or a copy of bit 31. The latter
seems easier to implement.
Previously the code used:
(oldval & (0xfffffffe << (31 - bitshift))) | (newval >> bitshift)
which zeroed the upper bits of the register, losing any previous sign
extension in the unaligned cases.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 17e8fef1af2db3a13613a311db2ec2f7a69645a1
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Sun Jan 20 19:28:48 2013 +0000
target-mips: Fix signedness of loads in MIPS16 RESTOREs
Make RESTORE use sign-extending rather than zero-extending loads.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 810ded13792042d988c8dbdea3b97eedbd949b40
Merge: df6126a... 51492fd...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Jan 31 23:33:14 2013 +0100
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Rename CPU types
target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes
commit df6126a7f21a1a032e41b15899ca29777399d5a2
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:24 2013 +0100
target-mips: implement DSP (d)append sub-class with TCG
DSP instruction from the (d)append sub-class can be implemented with
TCG. Use a different function for these instructions are they are quite
different from compare-pick sub-class.
Fix BALIGN instruction for negative value, where the value should be
zero-extended before being shift to the right.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0a16c79cc4087838ae5f2bc9554d91db2cbb2503
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for reduction add instructions
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 75d012ac7f5c92ac5ee2c1dee8c7a7fbeb724e3c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for unary DSP operators
This allow to reduce the number of macros.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6de0e6c13e275a59de7fcf5dee26c5a88e3a2ebe
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for binary DSP operators
This allow to reduce the number of macros.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 652613ab5ae4559b481c612010b407e1c2216f36
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: add unions to access DSP elements
Instead of playing with bit shifting, add two unions (one for 32-bit
values, one for 64-bit ones) to access all the DSP elements with the
correct type.
This make the code easier to read and less error prone, and allow GCC
to vectorize the code in some cases.
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ad153f153da08f5e08bc8e433c0070af53e34e0a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: generate a reserved instruction exception on CPU without DSP
On CPU without DSP ASE support, a reserved instruction exception (instead
of
a DSP ASE sate disabled) should be generated.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d75c135e6b6255787dfc01ce997862d820ed1d36
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:22 2013 +0100
target-mips: copy insn_flags in DisasContext
Copy insn_flags in DisasContext to avoid passing a CPUMIPSState pointer
to subroutines, as suggested by Richard Henderson. Change subroutines to
use this new field and remove the first argument.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f7d2072e25d3592acec4657dae8862facf298e9f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:22 2013 +0100
target-mips: fix DSP loads with rd = 0
When rd is 0, which still need to do the actually load to possibly
generate a TLB exception.
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 7e02dc63b8f16372107434d44269e21cdff5d19d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 07:38:40 2013 +0000
cocoa: Replace non-portable asprintf() by g_strdup_printf()
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 477a3877fdc3125f309133ce511236f39f58c16e
Author: Henry Harrington <henry.harrington@xxxxxxxxx>
Date: Tue Nov 27 08:59:41 2012 +0000
cocoa: Fix VBE function Set Display Start
Register a dpy_gfx_setdata callback so that the Cocoa code
is notified whenever the screen start address changes.
Commit 1d3323d has a similar fix for the VNC UI.
Signed-off-by: Henry Harrington <henry.harrington@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx (1.3.x)
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 321f211707822b4c87f0bb89e4f46586fff43163
Merge: b0df98f... f61850b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:51:47 2013 -0600
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Christoffer Dall (1) and Peter Maydell (1)
# Via Peter Maydell
* pmaydell/arm-devs.next:
hw/vexpress: Use correct HBI (board model number) for vexpress-a15
hw/arm_sysctl: Clear sysctl cfgctrl start bit
commit b0df98f3a2968eb5aba3075d1cf9b1a3931907e0
Merge: 7cc2a8b... 99f4280...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:51:18 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Markus Armbruster (12) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema
tests: Fix {rtc, m48t59}-test build on illumos
qemu-pixman.h: Avoid mutual inclusion loop with console.h
qemu-ga: Fix unchecked strdup() by converting to g_strdup()
qapi: Fix unchecked strdup() by converting to g_strdup()
libcacard: Fix unchecked strdup() by converting to g_strdup()
qemu-log: Plug trivial memory leak in cpu_set_log_filename()
qemu-log: Fix unchecked strdup() by converting to g_strdup()
virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup()
spice: Fix unchecked strdup() by converting to g_strdup()
readline: Fix unchecked strdup() by converting to g_strdup()
hw/9pfs: Fix unchecked strdup() by converting to g_strdup()
g_strdup(NULL) returns NULL; simplify
g_malloc(0) and g_malloc0(0) return NULL; simplify
xilinx_axidma: Fix debug mode compile messages
cadence_gem: Debug mode compile fixes
cadence_ttc: Debug mode compile fixes
vnc: Clean up vncws_send_handshake_response()
commit 7cc2a8b14a363777e7d5b7d102176fba0cf27667
Merge: 6ac5107... 7561015...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:48:23 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber-or/prep-up:
prep: Move PReP machine to hw/ppc/
prep_pci: Convert to QOM realizefn
prep_pci: Create PCIBus and PCIDevice in-place
commit 6ac5107dc7045f2edc43ada2cb3f18d372b9be0b
Merge: 0893d46... 19380b1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:46:30 2013 -0600
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Cornelia Huck (13) and others
# Via Alexander Graf
* agraf/s390-for-upstream:
s390: Drop set_bit usage in virtio_ccw.
s390: css error codes.
s390: Use s390_cpu_physical_memory_map for tpi.
sclpconsole: Don't instantiate sclpconsole with -nodefaults
s390: Add s390-ccw-virtio machine.
s390-virtio: Check for NULL device in reset hypercall
s390: Move hw files to hw/s390x
virtio-s390: add a reset function to virtio-s390 devices
s390: Make typeinfo const
s390: Add new channel I/O based virtio transport.
s390-virtio: Factor out some initialization code.
s390: Wire up channel I/O in kvm.
s390: Virtual channel subsystem support.
s390: Add channel I/O instructions.
s390: I/O interrupt and machine check injection.
s390: Channel I/O basic definitions.
s390: Add mapping helper functions.
s390: Lowcore mapping helper.
s390: Add default support for SCLP console
commit 51492fd1a99099308d8c20ab7134ffb54abbf374
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 17:30:10 2013 +0100
target-arm: Rename CPU types
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
This leads to names like arm926-arm-cpu but is easiest to handle.
No functional changes for -cpu arguments or -cpu ? output.
Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e4c1cfa5cb8f8bfbbfd949f2fabbe2be35e60c99
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 30 16:01:56 2013 +0000
target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes
Fix a leak of a TCG temporary in code paths for VFP system register
writes for cases which UNDEF or are write-ignored.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f61850bffbd0bb8b15aa55ebc3470bf1f8ce8664
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 30 15:39:02 2013 +0000
hw/vexpress: Use correct HBI (board model number) for vexpress-a15
The vexpress-a15 QEMU model is supposed to be a V2P-CA15; the HBI
(a kind of board model number) for this coretile is 237, not 217.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 706872a56630a206897742b70c69ff99727672d3
Author: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 30 15:39:01 2013 +0000
hw/arm_sysctl: Clear sysctl cfgctrl start bit
The start bit should only be set to indicate that a function call is
underway, right now. When done with function, clear it.
Signed-off-by: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c07ecc6866f8c5eb2e0b23ba20214000310355e0
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Mon Jan 7 11:40:06 2013 +0000
linux-user: correct reboot()
According to man reboot(2), the 4th argument is only used with
LINUX_REBOOT_CMD_RESTART2. In other cases, trying to convert
the value can generate EFAULT.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1b09aeb90827c1d91383a9eae42ce8f25909857b
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Tue Jan 1 08:24:11 2013 +0000
linux-user: correct setsockopt()
SO_SNDTIMEO and SO_RCVTIMEO take a struct timeval, not an int
To test this, you can use :
QEMU_STRACE= ping localhost 2>&1 |grep TIMEO
568 setsockopt(3,SOL_SOCKET,SO_SNDTIMEO,{1,0},8) = 0
568 setsockopt(3,SOL_SOCKET,SO_RCVTIMEO,{1,0},8) = 0
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 910ee4e5f4a1df5b1bd144dfca1ae466e2a86a78
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Mon Dec 31 09:45:06 2012 +0000
linux-user: correct print_timeval() swap tv_sec and tv_usec
Signed-off-by: Laurent Vivier <Laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 79dd77de124c47263f54e5f686273487e0016a8f
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Dec 20 11:00:11 2012 +0000
linux-user: correct msgrcv()
All parameters must be swapped before the call of do_msgrcv().
Allow faked (debian fakeroot daemon) to work properly.
WITHOUT this patch:
$ faked-sysv --foreground --debug
using 1723744788 as msg key
msg_key=1723744788
1723744788:431
FAKEROOT: msg=131072, key=1723744788
FAKEROOT: r=-1, received message type=-150996052, message=-160219330
FAKEROOT, get_msg: Bad address
r=14, EINTR=4
fakeroot: clearing up message queues and semaphores, signal=-1
fakeroot: database save FAILED
WITH this patch:
$ faked-sysv --foreground --debug
using 1569385744 as msg key
msg_key=1569385744
1569385744:424
FAKEROOT: msg=0, key=1569385744
^C
fakeroot: clearing up message queues and semaphores, signal=2
fakeroot: database save FAILED
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 99f4280854514b22972bd257fe5facc439222d2e
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Tue Jan 29 17:58:41 2013 +0100
qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema
Currently, we are using 'tray_open' in QMP and 'tray-open' in
HMP. However, the QMP documentation was mistakenly using the
HMP version.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a05ddd9216b6c5e9c48eac3433ff6fa4a282fc17
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Jan 26 15:27:59 2013 +0100
tests: Fix {rtc, m48t59}-test build on illumos
Struct tm does not have tm_gmtoff field on illumos.
Fix the build by not zero-initializing these fields on Solaris.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b0878611c64f027ca5d15ba641f423cc04ead3f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:03:47 2013 +0000
qemu-pixman.h: Avoid mutual inclusion loop with console.h
Remove an unnecessary mutual inclusion loop between qemu-pixman.h and
console.h, since the former was only including the latter for
'PixelFormat*', which can be provided by typedefs.h. This requires a
minor adjustment to the files which included qemu-pixman.h, since
they were relying on it implicitly dragging in all of console.h.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24a53049537886cf93273c01e3d7727444321afc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:06 2013 +0100
qemu-ga: Fix unchecked strdup() by converting to g_strdup()
I figure it's freed somewhere deep down in QAPI, with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13b10e05e4b89418a78500da05b25164f786d7e4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:05 2013 +0100
qapi: Fix unchecked strdup() by converting to g_strdup()
Note that we already free with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be168af860109a1ecc8526c5bbe0ace1536448b8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:04 2013 +0100
libcacard: Fix unchecked strdup() by converting to g_strdup()
Note that we already free with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40a50b0a73d185c85cf62023f07e3091861081bb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:03 2013 +0100
qemu-log: Plug trivial memory leak in cpu_set_log_filename()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 636e0f27c6675839dc43d4c7613dfefc222234eb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:02 2013 +0100
qemu-log: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 606017de2f254f847a009af770f8babc9a9fcadc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:01 2013 +0100
virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd3bea3f44500bbd361e617a4316df073b112eec
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:00 2013 +0100
spice: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3baa5f9e4f84bbc9ed9c3fe590835ecc8b0bf4a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:59 2013 +0100
readline: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3f8e138c23ba082f87c96634d06b978473c1e9b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:58 2013 +0100
hw/9pfs: Fix unchecked strdup() by converting to g_strdup()
Note: the allocation in virtio_9p_init() is still leaked. To be fixed
in a followup commit.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c64f50d1e250879611e6f328e2c4fb18c8a4ab0c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:57 2013 +0100
g_strdup(NULL) returns NULL; simplify
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6528499fa4c3ceaec01ad29d8090ef55918ebfb3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:56 2013 +0100
g_malloc(0) and g_malloc0(0) return NULL; simplify
Once upon a time, it was decided that qemu_malloc(0) should abort.
Switching to glib retired that bright idea. Some code that was added
to cope with it (e.g. in commits 702ef63, b76b6e9) is still around.
Bury it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75610155562bd480356a7a5018e5de4c44ec7884
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Jan 26 20:41:58 2013 +0100
prep: Move PReP machine to hw/ppc/
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 74cef80c473fe4ce195d5280a34bb2af8492aabb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:35 2013 -0800
xilinx_axidma: Fix debug mode compile messages
Missing cast one one of the conditionally compiled printfs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 080251a46493e4e4cb6cbd6e2878d31c7cf023c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:34 2013 -0800
cadence_gem: Debug mode compile fixes
Some printfs are throwing warnings when debug mode is enabled. Fixed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c69544130f50536c61686a9ec6734327b6174ee0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:33 2013 -0800
cadence_ttc: Debug mode compile fixes
Some printfs are throwing warnings when debug mode is enabled. Fixed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cfba8e6f92d45a2374622c3dc57499e42a1c07e1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 10:31:16 2013 +0100
vnc: Clean up vncws_send_handshake_response()
Use appropriate types, drop superfluous casts, use sizeof, don't
exploit that this particular call of gnutls_fingerprint() doesn't
change its last argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a659bbff991b0033d1bf1ff71b7d550e0367d99
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Jan 23 17:46:13 2013 -0700
vfio-pci: Enable PCIe extended config space
We don't know pre-init time whether the device we're exposing is PCIe
or legacy PCI. We could ask for it to be specified via a device
option, but that seems like too much to ask of the user. Instead we
can assume everything will be PCIe, which makes PCI-core allocate
enough config space. Removing the flag during init leaves the space
allocated, but allows legacy PCI devices to report the real device
config space size to rest of Qemu.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1ec4ba741630699665a6334f3959271da3effec7
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Jan 24 10:31:20 2013 +0100
PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set
Traditional PCI config space access is achieved by writing a 32 bit
value to io port 0xcf8 to identify the bus, device, function and config
register. Port 0xcfc then contains the register in question. But if you
write the appropriate pair of magic values to 0xcf9, the machine will
reboot. Spectacular! And not standardised in any way (certainly not part
of the PCI spec), so different chipsets may have different requirements.
Booo.
In the PIIX3 spec, IO port 0xcf9 is specified as the Reset Control
Register. Bit 1 (System Reset, SRST) would normally differentiate between
soft reset and hard reset, but we ignore the difference beyond allowing
the guest to read it back.
RHBZ reference: 890459
This patch introduces the following overlap between the preexistent
"pci-conf-idx" region and the "piix3-reset-control" region just being
added. Partial output from "info mtree":
I/O
0000000000000000-000000000000ffff (prio 0, RW): io
0000000000000cf8-0000000000000cfb (prio 0, RW): pci-conf-idx
0000000000000cf9-0000000000000cf9 (prio 1, RW): piix3-reset-control
I sanity-checked the patch by booting a RHEL-6.3 guest and found no
problems. I summoned gdb and set a breakpoint on rcr_write() in order to
gather a bit more confidence. Relevant frames of the stack:
kvm_handle_io (port=3321, data=0x7f3f5f3de000, direction=1, size=1,
count=1) [kvm-all.c:1422]
cpu_outb (addr=3321, val=6 '\006') [ioport.c:289]
ioport_write (index=0, address=3321, data=6) [ioport.c:83]
ioport_writeb_thunk (opaque=0x7f3f622c4680, addr=3321, data=6)
[ioport.c:212]
memory_region_iorange_write (iorange=0x7f3f622c4680, offset=0,
width=1, data=6) [memory.c:439]
access_with_adjusted_size (addr=0, value=0x7f3f531fbac0,
size=1, access_size_min=1,
access_size_max=4,
access=0x7f3f5f6e0f90
<memory_region_write_accessor>,
opaque=0x7f3f6227b668)
[memory.c:364]
memory_region_write_accessor (opaque=0x7f3f6227b668, addr=0,
value=0x7f3f531fbac0, size=1,
shift=0, mask=255)
[memory.c:334]
rcr_write (opaque=0x7f3f6227afb0, addr=0, val=6, len=1)
[hw/piix_pci.c:498]
The dispatch happens in ioport_write(); "index=0" means byte-wide access:
static void ioport_write(int index, uint32_t address, uint32_t data)
{
static IOPortWriteFunc * const default_func[3] = {
default_ioport_writeb,
default_ioport_writew,
default_ioport_writel
};
IOPortWriteFunc *func = ioport_write_table[index][address];
if (!func)
func = default_func[index];
func(ioport_opaque[address], address, data);
}
The "ioport_write_table" and "ioport_opaque" arrays describe the flattened
IO port space. The first array is less interesting (it selects a thunk
function). The "ioport_opaque" array is interesting because it decides how
writing to the port is implemented ultimately.
4-byte wide access to 0xcf8 (pci-conf-idx):
(gdb) print ioport_write_table[2][0xcf8]
$1 = (IOPortWriteFunc *) 0x7f3f5f6d99ba <ioport_writel_thunk>
(gdb) print \
((struct MemoryRegionIORange*)ioport_opaque[0xcf8])->mr->ops.write
$2 = (void (*)(void *, hwaddr, uint64_t, unsigned int))
0x7f3f5f5575cb <pci_host_config_write>
1-byte wide access to 0xcf9 (piix3-reset-control):
(gdb) print ioport_write_table[0][0xcf9]
$3 = (IOPortWriteFunc *) 0x7f3f5f6d98d0 <ioport_writeb_thunk>
(gdb) print \
((struct MemoryRegionIORange*)ioport_opaque[0xcf9])->mr->ops.write
$4 = (void (*)(void *, hwaddr, uint64_t, unsigned int))
0x7f3f5f6b42f1 <rcr_write>
The higher priority of "piix3-reset-control" ensures that the 0xcf9
entries in ioport_write_table / ioport_opaque will always belong to it,
independently of its relative registration order versus "pci-conf-idx".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 91c3f2f00810a9ba5e4404c9611197efd8f694c8
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Tue Jan 22 19:11:37 2013 -0700
ich9: add support for pci assignment
Fills out support for the pci assignment API. Added:
PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin)
Add calls to pci_bus_fire_intx_routing_notifier() when routing changes
are made.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit dd23454ba2c83168b453155365671e67723b881f
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jan 22 23:44:46 2013 +0800
virtio-net: rename ctrl rx commands
This patch makes rx commands consistent with specification.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c1943a3f3774ee1aad51e8cc5b8cd24e66e198a5
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jan 22 23:44:45 2013 +0800
virtio-net: introduce a new macaddr control
In virtio-net guest driver, currently we write MAC address to
pci config space byte by byte, this means that we have an
intermediate step where mac is wrong. This patch introduced
a new control command to set MAC address, it's atomic.
VIRTIO_NET_F_CTRL_MAC_ADDR is a new feature bit for compatibility.
"mac" field will be set to read-only when VIRTIO_NET_F_CTRL_MAC_ADDR
is acked.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 22 23:44:44 2013 +0800
virtio-net: remove layout assumptions for ctrl vq
Virtio-net code makes assumption about virtqueue descriptor layout
(e.g. sg[0] is the header, sg[1] is the data buffer).
This patch makes code not rely on the layout of descriptors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 41dc8a67c7dcecdf7ae1cd25db3c46f2b42a221f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jan 16 11:37:40 2013 +0200
virtio-net: revert mac on reset
Once guest overrides virtio net primary mac,
it retains the value set until qemu exit.
This is inconsistent with standard nic behaviour.
To fix, revert the mac to the original value on reset.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7586317bc0db3b993446b21eec914f5b66645ee4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 13:27:54 2013 +0200
rules/mak: make clean should blow away timestamp files
Using a global pattern makes it easier to clean out
old generated files.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f329a55305c3b14da3c7b35f19379bae745e728
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 14:47:33 2013 +0200
Makefile: clean timestamp generation rule
create timestamp by rule without sideeffects.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4b25966ab976f3a7fd9008193b2defcc82f8f04d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 13:12:35 2013 +0200
rules.mak: cleanup config generation rules
This addresses two issues with config generation
1. rule generating timestamp has side effect.
Thus cleanup on error does not work.
2. rule for handling timestamp is too generic.
It can create any missing .h file.
As a result when .h file is removed, build
might try to create it using this rule which
results in build errors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a52a8841038638afe54ffb00e0aca48de0b1539a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jan 9 23:50:00 2013 +0200
e1000: document ICS read behaviour
Add code comment to clarify the reason we set ICS with ICR:
the reason was previously undocumented and git
log confused rather than clarified the comments.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0893d46014b0300fb8aec92df94effea34d04b61
Merge: 0c77067... f8bb056...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 16:57:41 2013 -0600
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too
big
vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery'
Conflicts:
target-i386/kvm.c
Trivial merge resolution due to lack of context.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c77067950e0b158ea7d825cfa7630bfd09b968a
Merge: ec9466f... 10a2158...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 16:57:04 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-28-13' into staging
# By Markus Armbruster
# Via Michael Roth
* mdroth/qga-pull-1-28-13:
qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
commit 19380b1bf587fd962a60fb40cc4927ba999cf17b
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Jan 29 16:33:04 2013 +0100
s390: Drop set_bit usage in virtio_ccw.
set_bit on indicators doesn't go well on 32 bit targets:
note: expected 'long unsigned int *' but argument is of type 'uint64_t *'
Switch to bit shifts instead.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
[agraf: use 1ULL instead]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8d034a6fad4c580be3ed4a15f24e0bf47aa92d15
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Mon Jan 28 17:01:30 2013 +0100
s390: css error codes.
Changed error codes in the channel subsystem / virtio-ccw code
(-EOPNOTSUPP -> -ENOSYS, -ERESTART -> -EINPROGRESS).
This should hopefully fix building on mingw32.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50c8d9bfc6d9ca48b978c6201f97bd850bd0dc83
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Sun Jan 27 23:59:26 2013 +0000
s390: Use s390_cpu_physical_memory_map for tpi.
Map the I/O interruption code before calling into css.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2e788490d83a4de5bea00207c8695edd5d487e4a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jan 25 06:00:19 2013 +0000
sclpconsole: Don't instantiate sclpconsole with -nodefaults
libvirt specifies nodefaults and creates an sclp console with special
parameters. Let qemu follow nodefaults and don't create an sclp
console if nodefaults is specified.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5c95808bac7d995378b3835e10011775c7c2d0b
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 06:08:56 2013 +0000
s390: Add s390-ccw-virtio machine.
Add a new machine type, s390-ccw-virtio, making use of the
virtio-ccw transport to present virtio devices as channel
devices.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab290630fad0df42ee94a81b20c48d0da2dc6f66
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jan 22 23:24:08 2013 +0000
s390-virtio: Check for NULL device in reset hypercall
s390_virtio_bus_find_mem() may return a NULL VirtIOS390Device.
If called with, e.g., args[0] == 0, this leads to a segfault.
Fix this by adding error handling as done for other hypercalls.
Present since baf0b55a9e57b909b1f8b0f732c0b10242867418 (Implement
virtio reset).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b73d35311098585dbdb375fdf8369b16c8222e12
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 25 01:16:39 2013 +0100
s390: Move hw files to hw/s390x
This moves all files only used by s390 system emulation to hw/s390x.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 93726cb31982f5d930a4d5838215307390636d9b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 04:40:25 2013 +0000
virtio-s390: add a reset function to virtio-s390 devices
virtio-s390 devices are not being reset when their bus is. To fix
this, add a reset method that forwards to virtio_reset. This is
only needed because of the "strange" modeling of virtio devices;
the ->vdev link is being handled manually rather than through qdev.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 49973ebc039f644fce3e73ff8019efaa795bd83b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 24 19:11:26 2013 +0100
s390: Make typeinfo const
All TypeInfo definitions should be const.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5cf2bb4e3827732b1b6740bddd022eb19988e0a
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 06:08:55 2013 +0000
s390: Add new channel I/O based virtio transport.
Add a new virtio transport that uses channel commands to perform
virtio operations.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fad37673f53ac8a2e0575c084a26e5f6bb59957d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:09 2013 +0000
s390-virtio: Factor out some initialization code.
Some of the machine initialization for s390-virtio will be reused
by virtio-ccw.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09b998782978f95f626236b39f0be99c02a014a9
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:07 2013 +0000
s390: Wire up channel I/O in kvm.
Trigger the code for our virtual css in case of instruction
intercepts for I/O instructions.
Handle the tsch exit for the subchannel-related part of tsch.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df1fe5bb49241baddf1f319a6ecbe0885e875afa
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:06 2013 +0000
s390: Virtual channel subsystem support.
Provide a mechanism for qemu to provide fully virtual subchannels to
the guest.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b18aad543300de5da88efef8e4116a3ccbbf897
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:05 2013 +0000
s390: Add channel I/O instructions.
Provide handlers for (most) channel I/O instructions.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5d69c547d947798cba92d836d06f6e017ba2b19d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:04 2013 +0000
s390: I/O interrupt and machine check injection.
I/O interrupts are queued per isc. Only crw pending machine checks
are supported.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit db1c8f53bfb1b3bff4f904be4f929808a445522e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:03 2013 +0000
s390: Channel I/O basic definitions.
Basic channel I/O structures and helper function.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38322ed6518817066ce3a9037fd3795af57e1cdd
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:02 2013 +0000
s390: Add mapping helper functions.
Add s390_cpu_physical_memory_{map,unmap} with special handling
for the lowcore.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4782a23b270ecbb9ce0ca6f3f1b60857a09cef0e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:01 2013 +0000
s390: Lowcore mapping helper.
Create a lowcore mapping helper that includes a check for sufficient
length.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3ef669e19401b3e504f0bd1ca3113c3aeacd4bed
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 24 12:18:52 2013 +0100
s390: Add default support for SCLP console
The current s390 machine uses the virtio console as default console,
but this doesn't mean that we always want to keep it that way for new
machines.
This patch introduces a way for a machine type to specify that it wants
the default console to be an SCLP console, which is a lot closer to what
real hardware does.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit f8bb056564ed719b2fa5e05028bc70aeb0cc5c6c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 28 12:49:26 2013 +0100
target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big
Stack corruption may occur if too big 'level' or 'xlevel' values passed
on command line with KVM enabled, due to limited size of cpuid_data
in kvm_arch_init_vcpu().
reproduces with:
qemu -enable-kvm -cpu qemu64,level=4294967295
or
qemu -enable-kvm -cpu qemu64,xlevel=4294967295
Check if there is space in cpuid_data before passing it to cpu_x86_cpuid()
or abort() if there is not space.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit ec9466ff2e50213c8318ffdd7003f345278ab795
Merge: 503cb22... 290adf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:48:03 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu: (37 commits)
kvm: Pass CPUState to kvm_on_sigbus_vcpu()
cpu: Unconditionalize CPUState fields
target-m68k: Use type_register() instead of type_register_static()
target-unicore32: Use type_register() instead of type_register_static()
target-openrisc: Use type_register() instead of type_register_static()
target-unicore32: Catch attempt to instantiate abstract type in
cpu_init()
target-openrisc: Catch attempt to instantiate abstract type in
cpu_init()
target-m68k: Catch attempt to instantiate abstract type in cpu_init()
target-arm: Catch attempt to instantiate abstract type in cpu_init()
target-alpha: Catch attempt to instantiate abstract type in cpu_init()
qom: Introduce object_class_is_abstract()
target-unicore32: Detect attempt to instantiate non-CPU type in
cpu_init()
target-openrisc: Detect attempt to instantiate non-CPU type in
cpu_init()
target-m68k: Detect attempt to instantiate non-CPU type in cpu_init()
target-alpha: Detect attempt to instantiate non-CPU type in cpu_init()
target-arm: Detect attempt to instantiate non-CPU type in cpu_init()
cpu: Add model resolution support to CPUClass
target-i386: Remove setting tsc-frequency from x86_def_t
target-i386: Set custom features/properties without intermediate
x86_def_t
target-i386: Remove vendor_override field from CPUX86State
...
Conflicts:
tests/Makefile
Resolved simple conflict caused by lack of context in Makefile
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 503cb22e055dcf477f9147fa1a3b8ae17c86c9b0
Merge: 6cebf7a... 67bec53...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:46:45 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Paolo Bonzini (14) and others
# Via Kevin Wolf
* kwolf/for-anthony: (24 commits)
ide: Add fall through annotations
block: Create proper size file for disk mirror
ahci: Add migration support
ahci: Change data types in preparation for migration
ahci: Remove unused AHCIDevice fields
hbitmap: add assertion on hbitmap_iter_init
mirror: do nothing on zero-sized disk
block/vdi: Check for bad signature
block/vdi: Improved return values from vdi_open
block/vdi: Improve debug output for signature
block: Use error code EMEDIUMTYPE for wrong format in some block drivers
block: Add special error code for wrong format
mirror: support arbitrarily-sized iterations
mirror: support more than one in-flight AIO operation
mirror: add buf-size argument to drive-mirror
mirror: switch mirror_iteration to AIO
mirror: allow customizing the granularity
block: allow customizing the granularity of the dirty bitmap
block: return count of dirty sectors, not chunks
mirror: perform COW if the cluster size is bigger than the granularity
...
commit 6cebf7afac9287f7bcaeb0d8fd64fd7b75e3fa2c
Merge: 6034fe7... 49b6d72...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:41:25 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Lei Li (3) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
QAPI: Introduce memchar-read QMP command
QAPI: Introduce memchar-write QMP command
qemu-char: Add new char backend CirMemCharDriver
docs: document virtio-balloon stats
balloon: re-enable balloon stats
balloon: drop old stats code & API
block: Monitor command commit neglects to report some errors
commit 10a2158f52796e5b2b7ce7991bde09a3c985a37b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:15:09 2013 +0100
qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6f6867493cc00974de594a509cee5a3be61c64aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:15:08 2013 +0100
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
Neglects to free errors allocated by qmp_guest_fsfreeze_thaw().
Spotted by Coverity.
While there, drop the test whether return value is negative (it's
never true), and improve logging.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 290adf38967787bd985a5ec67dc4717e83c29eaa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 09:30:27 2013 +0100
kvm: Pass CPUState to kvm_on_sigbus_vcpu()
Since commit 20d695a9254c1b086a456d3b79a3c311236643ba (kvm: Pass
CPUState to kvm_arch_*) CPUArchState is no longer needed.
Allows to change qemu_kvm_eat_signals() argument as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c03c520d508ba8b3a384f9849700987df8e4c328
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 16:11:42 2013 +0100
cpu: Unconditionalize CPUState fields
Commits fc8c5b8c41ee5ba69d7a2be63b02a08c7b0b155b (Makefile.user: Define
CONFIG_USER_ONLY for libuser/) and
dd83b06ae61cfa2dc4381ab49f365bd0995fc930 (qom: Introduce CPU class)
specifically prepared the qom/cpu.c file to be compiled differently for
softmmu and *-user. This broke as part of build system refactorings
while CPU patches were in flight, adding conditional fields
kvm_fd (8737c51c0444f832c4e97d7eb7540eae457e08e4) and
kvm_vcpu_dirty (20d695a9254c1b086a456d3b79a3c311236643ba) for softmmu.
linux-user and bsd-user would therefore get a CPUState type with
instance_size ~8 bytes longer than expected.
Fix this by unconditionally having the fields in CPUState.
In practice, target-specific CPU types' instance_size would compensate
this, and upstream qom/cpu.c does not yet touch any affected field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2dddbc2123681f0cc37a891fa61d97a88d5e641c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 19:31:00 2013 +0100
target-m68k: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 87fb5811e631e79c24adab1f62bee01987cf1606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:01:00 2013 +0100
target-unicore32: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a1ebd6ce3396954185bda6e94ada60c583f6cbea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 11:10:14 2013 +0100
target-openrisc: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4933908ac5974252c1830d69e9493fa79c5ea606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:41:38 2013 +0100
target-unicore32: Catch attempt to instantiate abstract type in cpu_init()
Fixes -cpu unicore32-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c432b7840cfbc35fc0d097428d0a2f2a94983360
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:39:38 2013 +0100
target-openrisc: Catch attempt to instantiate abstract type in cpu_init()
There is no abstract OpenRISCCPU yet, but that seems a bug of its own.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cae85065a44b731467dc6a5caee7cfc6d26d9ca3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:36:31 2013 +0100
target-m68k: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu m68k-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 245fb54db5f8c88c9d73e037178bc3ca1f9a4bb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:32:49 2013 +0100
target-arm: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu arm-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a120c287086e0b03a57f1f4ac7d7aa73fe3d1fe7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:28:22 2013 +0100
target-alpha: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu alpha-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 178623789465287624c48f7ef12d0ab83a1dc380
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:20:18 2013 +0100
qom: Introduce object_class_is_abstract()
This lets a caller check if an ObjectClass as returned by, e.g.,
object_class_by_name() is instantiatable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit d89e12188d50f7f8a894027789f32fa7ba6226ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:07:17 2013 +0100
target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new uc32_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_UNICORE32_CPU.
This fixes, e.g., -cpu puv3_dma asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d5ce2e5643f4055b67ea012d91e812f1e607a83
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 15:45:34 2013 +0100
prep_pci: Convert to QOM realizefn
SysBusDeviceClass' initfn merely calls SysBusDeviceClass::init, so we
can already hook up our own realizefn overwriting this behavior.
A symmetric unrealizefn is not necessary, knowing that the child's
unrealizefn is still no-op, too. Avoids ripping it out again when
recursive realization at DeviceState-level is implemented.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 98aca3c8e8778745cdd0670a792a41314115afa5
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat May 26 19:14:52 2012 +0200
prep_pci: Create PCIBus and PCIDevice in-place
Prepares for QOM realizefn by removing object creation from qdev initfn.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit bd039ce0094f3724a87a193c846ee8468ce652b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 11:17:14 2013 +0100
target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new openrisc_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_OPENRISC_CPU.
This fixes, e.g., -cpu open_eth asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc5b2da32ba54d991e8669b14a771afb3a67f408
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 17:50:15 2013 +0100
target-m68k: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new m68k_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
(a sub-type of) TYPE_M68K_CPU.
This fixes, e.g., -cpu ide-hd asserting.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e44a02301b081d36e686e767694a770c25160a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 17:27:54 2013 +0100
target-alpha: Detect attempt to instantiate non-CPU type in cpu_init()
Check in alpha_cpu_class_by_name() whether the type found is actually
(a sub-type of) TYPE_ALPHA_CPU.
This fixes, e.g., -cpu typhoon-pcihost asserting.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5900d6b2d59875c9b11e4d8cead6d9ddaa9eb787
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 16:11:43 2013 +0100
target-arm: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new arm_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_ARM_CPU.
This fixes, e.g., -cpu tmp105 asserting.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b8c27549917b3e07fec5807dbd2b6528ceb4efa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 18:26:21 2013 +0100
cpu: Add model resolution support to CPUClass
Introduce CPUClass::class_by_name and add a default implementation.
Hook up the alpha and ppc implementations.
Introduce a wrapper function cpu_class_by_name().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c728dfef56d468a6a80b4dacdfb7109220d2546
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:39 2013 +0100
target-i386: Remove setting tsc-frequency from x86_def_t
Setting tsc-frequency from x86_def_t is NOP because default tsc_khz
in x86_def_t is 0 and CPUX86State.tsc_khz is also initialized to 0
by default. So there is no need to overwrite tsc_khz with default 0
because field was already initialized to 0.
Custom tsc-frequency setting is not affected due to it being set
without using x86_def_t.
Field tsc_khz in x86_def_t becomes unused with this patch, so drop it
as well.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a91987c25db38834091174681a6e1ffcbe582182
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:38 2013 +0100
target-i386: Set custom features/properties without intermediate x86_def_t
Move custom features parsing after built-in cpu_model defaults are set
and set custom features directly on CPU instance. That allows to make a
clear distinction between built-in cpu model defaults that eventually
should go into class_init() and extra property setting which is done
after defaults are set on CPU instance.
Impl. details:
* use object_property_parse() property setter so it would be a mechanical
change to switch to global properties later.
* And after all current features/properties are converted into static
properties, it will take a trivial patch to switch to global
properties.
Which will allow to:
* get CPU instance initialized with all parameters passed on -cpu ...
cmd. line from object_new() call.
* call cpu_model/featurestr parsing only once before CPUs are created
* open a road for removing CPUxxxState.cpu_model_str field, when other
CPUs are similarly converted to subclasses and static properties.
- re-factor error handling, to use Error instead of fprintf()s, since
it is anyway passed in for property setter.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 11acfdd5a1647895ff9094e7f93f3317224eb4d8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:37 2013 +0100
target-i386: Remove vendor_override field from CPUX86State
Commit 8935499831312 makes cpuid return to guest host's vendor value
instead of built-in one by default if kvm_enabled() == true and allows
to override this behavior if 'vendor' is specified on -cpu command line.
But every time guest calls cpuid to get 'vendor' value, host's value is
read again and again in default case.
It complicates semantics of vendor property and makes it harder to use.
Instead of reading 'vendor' value from host every time cpuid[vendor] is
called, override 'vendor' value only once in cpu_x86_find_by_name(), when
built-in CPU model is found and if(kvm_enabled() == true).
It provides the same default semantics
if (kvm_enabled() == true) vendor = host's vendor
else vendor = built-in vendor
and then later:
if (custom vendor) vendor = custom vendor
'vendor' value is overridden when user provides it on -cpu command line,
and there is no need for vendor_override field anymore, remove it.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99b88a1708919934f4092f7b6dcc2cca9d4072e9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:36 2013 +0100
target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t
Vendor property setter takes string as vendor value but cpudefs
use uint32_t vendor[123] fields to define vendor value. It makes it
difficult to unify and use property setter for values from cpudefs.
Simplify code by using vendor property setter, vendor[123] fields
are converted into vendor[13] array to keep its value. And vendor
property setter is used to access/set value on CPU.
- Make for() cycle reusable for the next patch by adding
x86_cpu_vendor_words2str()
Intel's CPUID spec[1] says:
"
5.1.1 ...
These registers contain the ASCII string: GenuineIntel
...
"
List[2] of known vendor values shows that they all are 12 ASCII
characters long, padded where necessary with space.
Current supported values are all ASCII characters packed in
ebx, edx, ecx. So lets state that QEMU supports 12 printable ASCII
characters packed in ebx, edx, ecx registers for cpuid(0) instruction.
*1 - http://www.intel.com/Assets/PDF/appnote/241618.pdf
*2 - http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8ba8a69848f8b910207a4b57c68db9a7e92af578
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:35 2013 +0100
target-i386: Print deprecation warning if xlevel < 0x80000000
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fc9b714eb4877ca83ce8e437ec93d34fca0eb3b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 01:02:28 2013 +0100
target-i386: Drop redundant list of CPU definitions
It is no longer needed since dropping cpudef config file support.
Cleaning this up removes knowledge about other models from x86_def_t,
in preparation for reusing x86_def_t as intermediate step towards pure
QOM X86CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4bfe910d4728807e7d80de152a7ef33dd608033f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 01:00:24 2013 +0100
target-i386: Simplify cpu_x86_find_by_name()
Catch NULL name argument early to avoid repeated checks.
Similarly, check for -cpu host early and untangle from iterating through
model definitions. This prepares for introducing X86CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8932cfdf7b95734c9b4a114b8ed0b4527af77ce7
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:09 2013 -0200
pc: Generate APIC IDs according to CPU topology
This keeps compatibility on machine-types pc-1.2 and older, and prints a
warning in case the requested configuration won't get the correct
topology.
I couldn't think of a better way to warn about broken topology when in
compat mode other than using error_report(). The warning message will
probably be buried in a log file somewhere, but it's better than
nothing.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 247c9de13f9d54a94734875000a9faea8168c8ca
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jan 23 15:58:27 2013 -0200
target-i386: Topology & APIC ID utility functions
This introduces utility functions for the APIC ID calculation, based on:
Intel® 64 Architecture Processor Topology Enumeration
http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/
The code should be compatible with AMD's "Extended Method" described at:
AMD CPUID Specification (Publication #25481)
Section 3: Multiple Core Calcuation
as long as:
- nr_threads is set to 1;
- OFFSET_IDX is assumed to be 0;
- CPUID Fn8000_0008_ECX[ApicIdCoreIdSize[3:0]] is set to
apicid_core_width().
Unit tests included.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d934e89793d2828e04af93abd181e5ed5349ef4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jan 23 15:51:18 2013 -0200
pc: Set fw_cfg data based on APIC ID calculation
This changes FW_CFG_MAX_CPUS and FW_CFG_NUMA to use apic_id_for_cpu(),
so the NUMA table can be based on the APIC IDs, instead of CPU index
(SeaBIOS knows nothing about CPU indexes, just APIC IDs).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54fb7bf68516642c609738814f160ee2069301e8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:05 2013 -0200
cpus.h: Make constant smp_cores/smp_threads available on *-user
The code that calculates the APIC ID will use smp_cores/smp_threads, so
just define them as 1 on *-user to avoid #ifdefs in the code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70db922278f7b42375ead340b793ff3938835242
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:03 2013 -0200
fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init()
PC will not use max_cpus for that field, so move it outside the common
code so it can use a different value on PC.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb41bad3c2c7d82405cbe057c944ed4fd176d82a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:04 2013 -0200
target-i386: Introduce x86_cpu_apic_id_from_index() function
This function will be used by both the CPU initialization code and the
fw_cfg table initialization code.
Later this function will be updated to generate APIC IDs according to
the CPU topology.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 83b17af5e619abdf11721826b08fa4f30e9dc4ee
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:02 2013 -0200
target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index
The CPU ID in KVM is supposed to be the APIC ID, so change the
KVM_CREATE_VCPU call to match it. The current behavior didn't break
anything yet because today the APIC ID is assumed to be equal to the CPU
index, but this won't be true in the future.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b164e48ed1600055bc190aa3ab42c18004d2c711
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:01 2013 -0200
kvm: Create kvm_arch_vcpu_id() function
This will allow each architecture to define how the VCPU ID is set on
the KVM_CREATE_VCPU ioctl call.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2969475869a6f33b8883c2fbf90252dcf617902e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:29 2013 -0200
pc: Reverse pc_init_pci() compatibility logic
Currently, the pc-1.4 machine init function enables PV EOI and then
calls the pc-1.2 machine init function. The problem with this approach
is that now we can't enable any additional compatibility code inside the
pc-1.2 init function because it would end up enabling the compatibility
behavior on pc-1.3 and pc-1.4 as well.
This reverses the logic so that the pc-1.2 machine init function will
disable PV EOI, and then call the pc-1.4 machine init function.
This way we can change older machine-types to enable compatibility
behavior, and the newer machine-types (pc-1.3, pc-q35-1.4 and
pc-i440fx-1.4) would just use the default behavior.
(This means that one nice side-effect of this change is that pc-q35-1.4
will get PV EOI enabled by default, too)
It would be interesting to eventually change pc_init_pci_no_kvmclock()
and pc_init_isa() to reuse pc_init_pci_1_2() as well (so we don't need
to duplicate compatibility code on those two functions). But this will
be probably much easier to do after we create a PCInitArgs struct for
the PC initialization arguments, and/or after we use global-properties
to implement the compatibility modes present in pc_init_pci_1_2().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa87d45855c7b255b451622a84a3e5b9b4393425
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:28 2013 -0200
target-i386: Don't set any KVM flag by default if KVM is disabled
This is a cleanup that tries to solve two small issues:
- We don't need a separate kvm_pv_eoi_features variable just to keep a
constant calculated at compile-time, and this style would require
adding a separate variable (that's declared twice because of the
CONFIG_KVM ifdef) for each feature that's going to be
enabled/disabled by machine-type compat code.
- The pc-1.3 code is setting the kvm_pv_eoi flag on cpuid_kvm_features
even when KVM is disabled at runtime. This small inconsistency in
the cpuid_kvm_features field isn't a problem today because
cpuid_kvm_features is ignored by the TCG code, but it may cause
unexpected problems later when refactoring the CPUID handling code.
This patch eliminates the kvm_pv_eoi_features variable and simply uses
kvm_enabled() inside the enable_kvm_pv_eoi() compat function, so it
enables kvm_pv_eoi only if KVM is enabled. I believe this makes the
behavior of enable_kvm_pv_eoi() clearer and easier to understand.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d61a23ba77deefd88fd2457c2dba7d5bf13f5f5b
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:27 2013 -0200
kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd51dc5262b718c5f045c86ce1175842ab42d2cd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 17:30:08 2013 +0100
target-openrisc: Clean up triple QOM casts
Instead of calling openrisc_env_get_cpu(), casting to CPU() via the
ENV_GET_CPU() compatibility macro and casting back to OPENRISC_CPU(),
just call openrisc_env_get_cpu() directly.
ENV_GET_CPU() is meant as workaround for target-independent code only.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8486af93771302fa3154857a7c05612f0f61cc90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:14:27 2013 +0100
target-openrisc: Drop OpenRISCCPUList
It was missed in 92a3136174f60ee45b113296cb2c2a5225b00369 (cpu:
Introduce CPUListState struct) because its naming did not match the
*CPUListState pattern. Use the generalized CPUListState instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6034fe7bdb555c43022706e228cde8d52a8b341a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun Jan 27 01:05:00 2013 +0100
xilinx_ethlite: Avoid build warnings in debug code
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a56d305a6d706cd75cfe0fa473f45772694f2a4a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 25 17:58:38 2013 -0800
m25p80.c: Return state to IDLE after COLLECTING
Default to moving back to the IDLE state after the COLLECTING_DATA
state. For a well behaved guest this patch has no consequence, but
A bad guest could crash QEMU by using one of the erase commands
followed by a longer than 5 byte argument (undefined behaviour).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 2f991adb8e8cad3233ae653be12cfd72d44168ba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:36:23 2013 -0800
xilinx_ethlite: Flush queued packets on SW service
Software services a received packet by clearing the CTRL_S bit in the
RX_CTRLn
register. If this bit is cleared, flush any packets queued for the device.
Reported-by: John Williams <john.williams@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 808fb9f277abda16601e9db938d29aeaf2548585
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:36:22 2013 -0800
xilinx_ethlite: fix eth_can_rx() for ping-pong
The eth_can_rx() function only checks the first buffers status ("ping").
The
controller should be able to receive into "pong" when ping-pong is
enabled.
Checks the active buffer (either "ping" or "pong") when determining
can_rx()
rather than just testing "ping".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 13144781d4e9e6100b398213f9000576a3dc88f9
Merge: c5cd02b... f5fba9d...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 26 14:18:28 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf:
PPC: e500: Select MPIC v4.2 on ppce500 platform
PPC: e500: fix mpic_iack address
openpic: add basic support for MPIC v4.2
openpic: fix timer address decoding
openpic: fix remaining issues from idr-to-destmask conversion
pseries: Adjust default VIO address allocations to play better with
libvirt
pseries: Improve handling of multiple PCI host bridges
target-ppc: Give a meaningful error if too many threads are specified
cuda: Move ADB bus into CUDA state
adb: QOM'ify ADB devices
adb: QOM'ify Apple Desktop Bus
cuda: QOM'ify CUDA
ide/macio: QOM'ify MacIO IDE
mac_nvram: QOM'ify MacIO NVRAM
mac_nvram: Mark as Big Endian
mac_nvram: Clean up public API
macio: Split MacIO in two
macio: Delay qdev init until all fields are initialized
macio: QOM'ify some more
ppc: Move Mac machines to hw/ppc/
commit c5cd02ba16e784699d04456c8e406445db997121
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:14 2013 +0100
tests: Add gcov support for x86_64 qtest
Since x86_64 is a superset of i386 and reuses all its test cases, adopt
all the i386 gcov source files as well, substituting their paths
appropriately.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cba040c2b19f584bb33ae83af8517ecc9796e328
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:13 2013 +0100
tests: Add gcov support for sparc64 qtest
m48t59-test is individually being executed for sparc and sparc64, so add
the gcov source file for sparc64 as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 6a6944957801f5b981e09d6bff4f1bd5529f7019
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:12 2013 +0100
tests: Fix gcov typo for tmp105-test
Commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 introduced a new qtest
test case but misspelled gcov, leading to no coverage analysis. Fix it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8cb6bfb54e91b1a31a6ae704def595c2099efde1
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jan 25 21:23:24 2013 +0400
vmware_vga: fix out of bounds and invalid rects updating
This is a follow up for several attempts to fix this issue.
Previous incarnations:
1. http://thread.gmane.org/gmane.linux.ubuntu.bugs.general/3156089
https://bugs.launchpad.net/bugs/918791
"qemu-kvm dies when using vmvga driver and unity in the guest" bug.
Fix by Serge Hallyn:
https://launchpadlibrarian.net/94916786/qemu-vmware.debdiff
This fix is incomplete, since it does not check width and height
for being negative. Serge weren't sure if that's the right place
to fix it, maybe the fix should be up the stack somewhere.
2. http://thread.gmane.org/gmane.comp.emulators.qemu/166064
by Marek Vasut: "vmware_vga: Redraw only visible area"
This one adds the (incomplete) check to vmsvga_update_rect_delayed(),
the routine just queues the rect updating but does no interesting
stuff. It is also incomplete in the same way as patch by Serge,
but also does not touch width&height at all after adjusting x&y,
which is wrong.
As far as I can see, when processing guest requests, the device
places them into a queue (vmsvga_update_rect_delayed()) and
processes this queue in different place/time, namely, in
vmsvga_update_rect(). Sometimes, vmsvga_update_rect() is
called directly, without placing the request to the gueue.
This is the place this patch changes, which is the last
(deepest) in the stack. I'm not sure if this is the right
place still, since it is possible we have some queue optimization
(or may have in the future) which will be upset by negative/wrong
values here, so maybe we should check for validity of input
right when receiving request from the guest (and maybe even
use unsigned types there). But I don't know the protocol
and implementation enough to have a definitive answer.
But since vmsvga_update_rect() has other sanity checks already,
I'm adding the missing ones there as well.
Cc'ing BALATON Zoltan and Andrzej Zaborowski who shows in `git blame'
output and may know something in this area.
If this patch is accepted, it should be applied to all active
stable branches (at least since 1.1, maybe even before), with
minor context change (ds_get_*(s->vga.ds) => s->*). I'm not
Cc'ing -stable yet, will do it explicitly once the patch is
accepted.
BTW, these checks use fprintf(stderr) -- it should be converted
to something more appropriate, since stderr will most likely
disappear somewhere.
Cc: Marek Vasut <marex@xxxxxxx>
CC: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Cc: BALATON Zoltan <balaton@xxxxxxxxxx>
Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Marek Vasut <marex@xxxxxxx>
Signed-off-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3f0f31a0f1c9a89314e9f9ed423371f4d925d5a6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 15:43:53 2013 +0000
tests: add fuzzing to visitor tests
Perform input tests on random data.
Improvement to code coverage for qapi/string-input-visitor.c
is about 3 percentage points.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0c3c89d649d029b29bf245f739c82339fcf2e699
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:37 2013 +0100
build: remove *.lo, *.a, *.la files from all subdirectories on make clean
.lo files in stubs/, util/ and libcacard/ were not cleaned.
Fix this.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 98ed805c388baaf4ce7d9acbbbc04bbf185f30fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 24 19:02:28 2013 +0000
hw/arm_boot: Align device tree to 4KB boundary, not page
Align the device tree blob to a 4KB boundary, not to QEMU's
idea of a page boundary -- the latter is the smallest possible
page size for the architecture, which on ARM is 1KB.
The documentation for Linux does not impose separation
or alignment requirements on the device tree blob, but
in practice some kernels will happily trash the entire
page the initrd ends in after they have finished uncompressing
the initrd. So 4KB-align the DTB to ensure it does not get
trampled by these kernels.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 390999910bf1b1be59e04a0314867f4dea7a28f3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 24 16:14:39 2013 +0000
qemu-char: Avoid unused variable warning in some configs
Avoid unused variable warnings:
qemu-char.c: In function 'qmp_chardev_open_port':
qemu-char.c:3132: warning: unused variable 'fd'
qemu-char.c:3132: warning: unused variable 'flags'
in configurations with neither HAVE_CHARDEV_TTY nor
HAVE_CHARDEV_PARPORT set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 23bf49b5eca716aaad073f2b47613434e1515cb5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 24 16:47:55 2013 +0100
make_device_config.sh: Fix target path in generated dependency file
config-devices.mak.d is included from Makefile.target, i.e. from inside
the *-softmmu/ directory. It included the directory path, so never
applied to the actual ./config-devices.mak. Symptoms were spurious
build failures due to missing dependency on default-configs/pci.mak.
Fix this by using `basename` to strip the directory path.
Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9f8863ebd7f584762a906881a62a04ac05ce4898
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 23 18:25:09 2013 +0100
fw_cfg: Drop a few superfluous initializers
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d09acb9b5ef0bb4fa94d3d459919a6ebaf8804bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 23 18:25:08 2013 +0100
fw_cfg: Splash image loader can overrun a stack variable, fix
read_splashfile() passes the address of an int variable as size_t *
parameter to g_file_get_contents(), with a cast to gag the compiler.
No problem on machines where sizeof(size_t) == sizeof(int).
Happens to work on my x86_64 box (64 bit little endian): the least
significant 32 bits of the file size end up in the right place
(caller's variable file_size), and the most significant 32 bits
clobber a place that gets assigned to before its next use (caller's
variable file_type).
I'd expect it to break on a 64 bit big-endian box.
Fix up the variable types and drop the problematic cast.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a6e7c18476f5383720b3f57ef4f467b2e7c2565e
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Tue Jan 22 17:03:05 2013 +0000
softfloat: Handle float_muladd_negate_c when product is zero
Honour float_muladd_negate_c in the case where the product is zero and
c is nonzero. Previously we would fail to negate c.
Seen in (and tested against) the gfortran testsuite on MIPS.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit de16017dc8f2c33c73bd3faebf3c626c400af5e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:56 2013 +0000
hw/pxa2xx_timer: Explicitly mark fallthroughs
Explicitly mark the fallthroughs as intentional in the code
pattern where we gradually increment an index before falling
into the code to read/write that array entry:
case THINGY_3: idx++;
case THINGY_2: idx++;
case THINGY_1: idx++;
case THINGY_0: return s->thingy[idx];
This makes static analysers happy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 89556d1725d7c10a54ec66087e940727873f38a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:55 2013 +0000
hw/smc91c111: Add explicit 'return' rather than relying on fallthrough
Add an explicit 'return' statement to a case in smc91c111_readb
rather than relying on fallthrough to the following case's
return statement, for code clarity and to placate static analysers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3095485029ddbd061aa4f8e26c0437f200975d18
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:54 2013 +0000
hw/pflash_cfi02.c: Mark deliberate fallthrough
Mark the deliberate fallthrough where we treat the case of
an attempt to read flash when it is an unknown command
state as if it were a normal read.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit be688dfb8ddf7841fb277800977a0a878b68ae42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:53 2013 +0000
hw/omap_dma, hw/omap_spi: Explicitly mark fallthroughs
Explicitly mark the fallthroughs as intentional in the code
pattern where we gradually increment an index before falling
into the code to read/write that array entry:
case THINGY_3: idx++;
case THINGY_2: idx++;
case THINGY_1: idx++;
case THINGY_0: return s->thingy[idx];
This makes static analysers happy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 139bd956eaf1675209009b22764a46bd220e287c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:52 2013 +0000
hw/omap1.c: Add fallthrough markers and breaks
Explicitly mark cases where we are deliberately falling
through to the following code. In one case we insert a
'break' instead of falling through to a 'break', as this
seems slightly clearer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bf4229d3cb09be2efc0add569feba33834fc5d93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:51 2013 +0000
hw/arm_sysctl.c: Add missing 'break' statements
Add some break statements that were accidentally omitted
from some cases of arm_sysctl_write(). The omission was
harmless because in both cases the following case did
an immediate break, but adding the breaks explicitly
placates static analysers and avoids weird behaviour if
the following register is ever implemented as something
other than a no-op.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b4451996e712653f9ef4d53d975a158572b8574d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jan 19 18:58:09 2013 +0400
link seccomp only with softmmu targets
Now, if seccomp is detected, it is linked into every executable,
but is used only by softmmu targets (from vl.c). So link it
only where it is actually needed.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0360ccffbe41bd732b42a90cd04de63335933bea
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:49:09 2013 +0000
bsd-user: avoid conflict with qemu_vmalloc
Rename qemu_vmalloc() to bsd_vmalloc(), adjust the only user.
Remove #ifdeffery in oslib-posix.c.
Tested-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 82cb6b041c307bd96c067147af69cd98be91a682
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:48 2013 +0100
build: remove extra-obj-y
extra-obj-y is somewhat complicated to understand. Replace it with a
special CONFIG_ALL symbol that is defined only at toplevel.
This limits the case of directories defining more than one
*-obj-y target.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 000823449ca07e50086413338f907d7a817db2ce
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:47 2013 +0100
build: remove universal-obj-y
All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can
be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU
and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how
we define symbols for hardware components.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 737f351892e271fb3080c3c26e6453d939dd1d68
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:46 2013 +0100
build: use -$(CONFIG_SECCOMP) instead of ifeq
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 659800159092333593084593abed2d85c51c5a16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:45 2013 +0100
build: move around libcacard-y definition
It is also needed if !CONFIG_SOFTMMU, unlike everything that surrounds it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5f7a74a1a605d2065c3d74e42b563d69241089ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:35 2013 +0100
tests: adjust gcov variables for directory movement
I had missed the introduction of the gcov-files-* variables.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f5fba9d27f14603dc7f85779e7b7362fb1cfcbd8
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:55 2013 +0000
PPC: e500: Select MPIC v4.2 on ppce500 platform
The compatible string is changed to fsl,mpic on all e500 platforms, to
advertise the existence of BRR1. This matches what the device tree will
have on real hardware.
With MPIC v4.2 max_cpu can be increased from 15 to 32.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bd25922e737a2c90668a7bdd1e1319413a7a51f3
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:54 2013 +0000
PPC: e500: fix mpic_iack address
MPIC+0xa0 is IACK for the current CPU. MPIC+0x200a0 is IACK for CPU 0.
This fix allows EPR to work with an SMP target.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0dfe5b18919a6a4deb841dcf3212e3e998c95e5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:53 2013 +0000
openpic: add basic support for MPIC v4.2
Besides the new value in the version register, this provides:
- ILR support, which includes:
- IDR becoming a pure CPU bitmap, allowing 32 CPUs
- machine check output support (though other parts of QEMU need to
be fixed for it to do something other than immediately reboot the
guest)
- dummy error interrupt support (EISR0/EIMR0 read as zero)
- actually all FSL MPICs get all summary registers returning zero for
now,
which includes EISR0/EIMR0
Various refactoring is done to support these changes and to ease
new functionality (e.g. a more flexible way of declaring regions).
Just as the code was already not a full implementation of MPIC v2.0,
this is not a full implementation of MPIC v4.2 -- e.g. it still has only
one bank of MSIs.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 03274d44f655f7b822e845e79fa32b261cdb0774
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:52 2013 +0000
openpic: fix timer address decoding
The timer memory range begins at 0x10f0, so that address 0x1120 shows
up as 0x30, 0x1130 shows up as 0x40, etc. However, the address
decoding (other than TFRR) is not adjusted for this, causing the
wrong registers to be accessed.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f40c360c0da020a1a478f8e60dd205d7412bc315
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:51 2013 +0000
openpic: fix remaining issues from idr-to-destmask conversion
openpic_update_irq() was checking idr rather than destmask, treating
it as if it were a simple bitmap of cpus. Changed to use destmask.
IPI delivery was removing bits directly from .idr, without calling
write_IRQreg_idr so that the change could be conveyed to destmask.
Changed to use destmask directly.
Save/restore destmask when serializing, as due to the IPI change it
cannot be reproduced from idr.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1ea1ce8ac305d9e006bc8b0f5f3554793fd2fa43
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:43 2013 +0000
pseries: Adjust default VIO address allocations to play better with
libvirt
Currently, if VIO devices for pseries don't have addresses explicitly
allocated, they get automatically numbered from 0x1000. This is in the
same general range that libvirt will typically assign VIO device
addresses.
That means that if there is a device libvirt doesn't know about, and it
gets an address assigned before the libvirt assigned devices are
processed,
we can end up with an address conflict (qemu will abort with an error).
While the real solution is to teach libvirt about the other devices, so it
can correctly manage the whole allocation, this patch reduces the interim
inconvenience by moving qemu allocations to a range that libvirt is less
likely to conflict with.
Because the guest gets the device addresses through the device tree, these
addresses are truly arbitrary and can be changed without breaking guests.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit caae58cba07efec5f0616f568531c9dfaf1e9179
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:39 2013 +0000
pseries: Improve handling of multiple PCI host bridges
Multiple - even many - PCI host bridges (i.e. PCI domains) are very
common on real PAPR compliant hardware. For reasons related to the
PAPR specified IOMMU interfaces, PCI device assignment with VFIO will
generally require at least two (virtual) PHBs and possibly more
depending on which devices are assigned.
At the moment the qemu PAPR PCI code will not deal with this well,
leaving several crucial parameters of PHBs other than the default one
uninitialized. This patch reworks the code to allow this.
Every PHB needs a unique BUID (Bus Unit Identifier, the id used for
the PAPR PCI related interfaces) and a unique LIOBN (Logical IO Bus
Number, the id used for the PAPR IOMMU related interfaces). In
addition they need windows in CPU real address space to access PCI
memory space, PCI IO space and MSIs. Properties are added to the PCI
host bridge qdevice to allow configuration of all these.
To simplify configuration of multiple PHBs for common cases, a
convenience "index" property is also added. This can be set instead
of the low-level properties, and will generate suitable values for the
other parameters, different for each index value.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:38 2013 +0000
target-ppc: Give a meaningful error if too many threads are specified
Currently the target-ppc tcg code only supports a single thread. You can
specify more, but they're treated identically to multiple cores. On KVM
we obviously can't support more threads than the hardware; if more are
specified it will cause strange and cryptic errors.
This patch clarifies the situation by giving a simple meaningful error if
more threads are specified than we can support.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 293c867d8c7399d17e6b593053411a6515171f38
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:05 2013 +0000
cuda: Move ADB bus into CUDA state
Replace the global adb_bus with a CUDA-internal one, accessed using
regular qdev child bus accessor.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2e4a7c9c5df442d4223e738f7e8f73192b8b2a65
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:04 2013 +0000
adb: QOM'ify ADB devices
They were not qdev'ified before. Derive ADBDevice from DeviceState and
convert reset callbacks to DeviceClass::reset, ADBDevice::opaque pointer
to ADBDevice subtypes for mouse and keyboard and adb_{kbd,mouse}_init()
to regular qdev functions.
Fixing Coding Style issues and splitting keyboard and mouse off into
their own files is left for a later point in time.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 84ede329083b649c54f078276e7e06d48e910b9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:03 2013 +0000
adb: QOM'ify Apple Desktop Bus
It was not a qbus before, turn it into a first-class bus and initialize
it properly from CUDA. Leave it a global variable as long as devices are
not QOM'ified yet.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 45fa67fb68e73b395cd93ec97e45785944d4ee6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:02 2013 +0000
cuda: QOM'ify CUDA
It was not qdev'ified before. Turn it into a SysBusDevice and embed it
in MacIO.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:01 2013 +0000
ide/macio: QOM'ify MacIO IDE
It was not qdev'ified before. Turn it into a SysBusDevice.
Embed them into the MacIO devices.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 95ed3b7cf1677dc9f995a6e1fcc7bf377cf94a0e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:00 2013 +0000
mac_nvram: QOM'ify MacIO NVRAM
It was not qdev'ified before. Turn it into a SysBusDevice and
initialize it via static properties.
Prepare Old World specific MacIO state and embed the NVRAM state there.
Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or
direct use of Memory API.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d8c6d07fdff2523ca78f95c7d8a7fe90ee7ea5a7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:59 2013 +0000
mac_nvram: Mark as Big Endian
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3743cca7d55c700e727e958d4a0b0b5d6c15e2e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:58 2013 +0000
mac_nvram: Clean up public API
The state data field is accessed in uint8_t quantities, so switch from
uint32_t argument and return value to uint8_t.
Fix debug format specifiers while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d037834a9d3847499e8a146bd1893a5c856411be
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:57 2013 +0000
macio: Split MacIO in two
Let the machines create two different types. This prepares to move
knowledge about sub-devices from the machines into the devices.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b925079e36cf26ca2e1f8db84b771ddc3d6340c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:56 2013 +0000
macio: Delay qdev init until all fields are initialized
This turns macio_bar_setup() into an implementation detail of the qdev
initfn, to be removed step by step.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcf1bbabf4de3bc125c4dff18ea1cb76d76f042a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:55 2013 +0000
macio: QOM'ify some more
Move bar MemoryRegion initialization to an instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit baec19105bb9824593bf6f37556302da2f67e583
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:54 2013 +0000
ppc: Move Mac machines to hw/ppc/
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
[agraf: squash in MAINTAINERS fix]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 67bec53d9f2ccd3aa7d37a7e0689122587929220
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 24 12:50:28 2013 +0100
ide: Add fall through annotations
Add comments to help static analysers detect that these cases are
intentional, and clean up some whitespace in the environment of these
comments.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 8689907266b649b757c2203d9652cbe928a3ae0b
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Thu Jan 24 10:00:40 2013 -0800
block: Create proper size file for disk mirror
The qmp monitor command to mirror a disk was passing -1 for size
along with the disk's backing file. This size of the resulting disk
is the size of the backing file, which is incorrect if the disk
has been resized. Therefore we should always pass in the size of
the current disk.
Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a26230218d7d66ec5cb1aec101ceaf0e7400ef7f
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Fri Jan 4 14:44:42 2013 -0500
ahci: Add migration support
Jason tested these patches by migrating Windows 7 and Fedora 17 guests
(while under I/O) on both piix with ahci attached and on q35 (which has
a built-in AHCI controller).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4ac557c89b04d506c876a0a378e815d822261c8a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 15 16:12:09 2013 +0100
ahci: Change data types in preparation for migration
The size of an int depends on the host, so in order to be able to
migrate these fields, make them either int32_t or bool, depending on the
use.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1147bb15a715a907a91195c2ed601fc926e43d46
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Fri Jan 4 14:44:41 2013 -0500
ahci: Remove unused AHCIDevice fields
'dma_status' and 'dma_cb' are written to, but never read.
Remove these fields in preparation for AHCI migration bits.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1b0952445522af73b0e78420a9078b3653923703
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 15:01:12 2013 +0100
hbitmap: add assertion on hbitmap_iter_init
hbitmap_iter_init causes an out-of-bounds access when the "first"
argument is or greater than or equal to the size of the bitmap.
Forbid this with an assertion, and remove the failing testcase.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 88ff0e48eedd679a9dc1122676d8aa29f8d07571
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 15:01:11 2013 +0100
mirror: do nothing on zero-sized disk
On a zero-sized disk we need to break out of the job successfully
before bdrv_dirty_iter_init is called, otherwise you will get an
assertion failure with the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0e87ba2ccbf900cc5a56b95e0671e5a5d2c2f6a0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:28 2013 +0100
block/vdi: Check for bad signature
vdi_open did not check for a bad signature.
This check was only in vdi_probe.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8937f8222c14ab42140a5645c34e17cc620c05bb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:27 2013 +0100
block/vdi: Improved return values from vdi_open
vdi_open returned -1 in case of any error, but it should return an
error code (negative value of errno or -EMEDIUMTYPE).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f0470bb2d7942c28977296ff2598cdf30886e07
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:26 2013 +0100
block/vdi: Improve debug output for signature
The signature is a 32 bit value and needs up to 8 hex digits for printing.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15bac0d54f78adb5e255155a69e56ab7f6d8c8ea
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:25 2013 +0100
block: Use error code EMEDIUMTYPE for wrong format in some block drivers
This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk
when a file with the wrong format is selected.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 02582abd48aa3d860015e9a8fcd0d7ec1c34ec62
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:24 2013 +0100
block: Add special error code for wrong format
The block drivers need a special error code for "wrong format".
From the available error codes EMEDIUMTYPE fits best.
It is not available on all platforms, so a definition in
qemu-common.h and a specific error report are needed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 884fea4e87fbc6daf4e6df618bb3cadc188dcc6b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:15 2013 +0100
mirror: support arbitrarily-sized iterations
Yet another optimization is to extend the mirroring iteration to include
more
adjacent dirty blocks. This limits the number of I/O operations and makes
mirroring efficient even with a small granularity. Most of the
infrastructure
is already in place; we only need to put a loop around the computation of
the origin and sector count of the iteration.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 402a47411bff5e849dc880dd08ba7e6564e6e4f4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:14 2013 +0100
mirror: support more than one in-flight AIO operation
With AIO support in place, we can start copying more than one chunk
in parallel. This patch introduces the required infrastructure for
this: the buffer is split into multiple granularity-sized chunks,
and there is a free list to access them.
Because of copy-on-write, a single operation may already require
multiple chunks to be available on the free list.
In addition, two different iterations on the HBitmap may want to
copy the same cluster. We avoid this by keeping a bitmap of in-flight
I/O operations, and blocking until the previous iteration completes.
This should be a pretty rare occurrence, though; as long as there is
no overlap the next iteration can start before the previous one finishes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 08e4ed6cdeeee7912072cf14aa8ab6c60dacb4fb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:13 2013 +0100
mirror: add buf-size argument to drive-mirror
This makes sense when the next commit starts using the extra buffer space
to perform many I/O operations asynchronously.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bd48bde8f0fa08dfc8edcafc2bc8aa6d43734463
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:12 2013 +0100
mirror: switch mirror_iteration to AIO
There is really no change in the behavior of the job here, since
there is still a maximum of one in-flight I/O operation between
the source and the target. However, this patch already introduces
the AIO callbacks (which are unmodified in the next patch)
and some of the logic to count in-flight operations and only
complete the job when there is none.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eee13dfe302833944d1176677d12a6ea421a94ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:46 2013 +0100
mirror: allow customizing the granularity
The desired granularity may be very different depending on the kind of
operation (e.g. continuous replication vs. collapse-to-raw) and whether
the VM is expected to perform lots of I/O while mirroring is in progress.
Allow the user to customize it, while providing a sane default so that
in general there will be no extra allocated space in the target compared
to the source.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 50717e941b9f306a45292621999eeafbaa954418
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:45 2013 +0100
block: allow customizing the granularity of the dirty bitmap
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acc906c6c5d5745fe7a3a2ed1bb5f0b1d6d1f21b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:44 2013 +0100
block: return count of dirty sectors, not chunks
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b812f6719c21921a819709098dc018ed151c999b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:43 2013 +0100
mirror: perform COW if the cluster size is bigger than the granularity
When mirroring runs, the backing files for the target may not yet be
ready. However, this means that a copy-on-write operation on the target
would fill the missing sectors with zeros. Copy-on-write only happens
if the granularity of the dirty bitmap is smaller than the cluster size
(and only for clusters that are allocated in the source after the job
has started copying). So far, the granularity was fixed to 1MB; to avoid
the problem we detected the situation and required the backing files to
be available in that case only.
However, we want to lower the granularity for efficiency, so we need
a better solution. The solution is to always copy a whole cluster the
first time it is touched. The code keeps a bitmap of clusters that
have already been allocated by the mirroring job, and only does "manual"
copy-on-write if the chunk being copied is zero in the bitmap.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 343bded4ecfc467012e2ab675da75749f1d90f70
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:42 2013 +0100
block: make round_to_clusters public
This is needed in the following patch.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f0720ecbc3677e13fc7531588fc3831cc972ee4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:41 2013 +0100
block: implement dirty bitmap using HBitmap
This actually uses the dirty bitmap in the block layer, and converts
mirroring to use an HBitmapIter.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> (except block/mirror.c
parts)
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c37ef022381e777251d7084591978a4dc622efe
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:39 2013 +0100
host-utils: add ffsl
We can provide fast versions based on the other functions defined
by host-utils.h. Some care is required on glibc, which provides
ffsl already.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e7c033c3fa22a1e42d9ba57fed6ddecfbce3a01c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:40 2013 +0100
add hierarchical bitmap data type and test cases
HBitmaps provides an array of bits. The bits are stored as usual in an
array of unsigned longs, but HBitmap is also optimized to provide fast
iteration over set bits; going from one bit to the next is O(logB n)
worst case, with B = sizeof(long) * CHAR_BIT: the result is low enough
that the number of levels is in fact fixed.
In order to do this, it stacks multiple bitmaps with progressively coarser
granularity; in all levels except the last, bit N is set iff the N-th
unsigned long is nonzero in the immediately next level. When iteration
completes on the last level it can examine the 2nd-last level to quickly
skip entire words, and even do so recursively to skip blocks of 64 words
or
powers thereof (32 on 32-bit machines).
Given an index in the bitmap, it can be split in group of bits like
this (for the 64-bit case):
bits 0-57 => word in the last bitmap | bits 58-63 => bit in the
word
bits 0-51 => word in the 2nd-last bitmap | bits 52-57 => bit in the
word
bits 0-45 => word in the 3rd-last bitmap | bits 46-51 => bit in the
word
So it is easy to move up simply by shifting the index right by
log2(BITS_PER_LONG) bits. To move down, you shift the index left
similarly, and add the word index within the group. Iteration uses
ffs (find first set bit) to find the next word to examine; this
operation can be done in constant time in most current architectures.
Setting or clearing a range of m bits on all levels, the work to perform
is O(m + m/W + m/W^2 + ...), which is O(m) like on a regular bitmap.
When iterating on a bitmap, each bit (on any level) is only visited
once. Hence, The total cost of visiting a bitmap with m bits in it is
the number of bits that are set in all bitmaps. Unless the bitmap is
extremely sparse, this is also O(m + m/W + m/W^2 + ...), so the amortized
cost of advancing from one bit to the next is usually constant.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 49b6d7220bce42e6c06e0dbb61969a997868491f
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:21 2013 +0800
QAPI: Introduce memchar-read QMP command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1f590cf9455c571799d1bfc0777255fa0796d4da
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:20 2013 +0800
QAPI: Introduce memchar-write QMP command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 51767e7cf2c3abc07d30009ab3d6262bdfd89b8b
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:19 2013 +0800
qemu-char: Add new char backend CirMemCharDriver
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 045a70857ac07de791ddbf313323c4e4f91e056e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Dec 4 12:04:39 2012 -0200
docs: document virtio-balloon stats
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7e6ccd9c159450e79f42d08112ebe263b0466644
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sat Dec 1 00:14:57 2012 -0200
balloon: re-enable balloon stats
The statistics are now available through device properties via a
polling mechanism. First a client has to enable polling, then it
can query available stats.
Polling is enabled by setting an update interval (in seconds)
to a property named guest-stats-polling-interval, like this:
{ "execute": "qom-set",
"arguments": { "path": "/machine/peripheral-anon/device[1]",
"property": "guest-stats-polling-interval", "value": 4 }
}
Then the available stats can be retrieved by querying the
guest-stats property. The returned object is a dict containing
all available stats. Example:
{ "execute": "qom-get",
"arguments": { "path": "/machine/peripheral-anon/device[1]",
"property": "guest-stats" } }
{
"return": {
"stats": {
"stat-swap-out": 0,
"stat-free-memory": 844943360,
"stat-minor-faults": 219028,
"stat-major-faults": 235,
"stat-total-memory": 1044406272,
"stat-swap-in": 0
},
"last-update": 1358529861
}
}
Please, check the next commit for full documentation.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 01ceb97e7b8b00a1d4779543fe4b958df7e16890
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Dec 3 15:56:41 2012 -0200
balloon: drop old stats code & API
Next commit will re-enable balloon stats with a different interface, but
this old code conflicts with it. Let's drop it.
It's important to note that the QMP and HMP interfaces are also dropped
by this commit. That shouldn't be a problem though, because:
1. All QMP fields are optional
2. This feature has always been disabled
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 58513bde833804bc9395d79fd81aae631b97c348
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 18 12:45:35 2013 -0500
block: Monitor command commit neglects to report some errors
The non-live bdrv_commit() function may return one of the following
errors: -ENOTSUP, -EBUSY, -EACCES, -EIO. The only error that is
checked in the HMP handler is -EBUSY, so the monitor command 'commit'
silently fails for all error cases other than 'Device is in use'.
Report error using monitor_printf() and strerror(), and convert existing
qerror_report() calls in do_commit() to monitor_printf().
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 11c29918be32be5b00f367c7da9724a5cddbbb0f
Merge: b37a2e4... 7371d56...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 24 12:56:02 2013 -0600
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (1) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: add support for iovectors
iscsi: do not leak acb->buf when commands are aborted
commit b37a2e4576530597dda880387e3f4da52c42b5b5
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Sep 19 12:08:31 2012 +0400
Revert "serial: fix retry logic"
This reverts commit 67c5322d7000fd105a926eec44bc1765b7d70bdd:
I'm not sure if the retry logic has ever worked when not using FIFO
mode. I
found this while writing a test case although code inspection
confirms it is
definitely broken.
The TSR retry logic will never actually happen because it is guarded
by an
'if (s->tsr_rety > 0)' but this is the only place that can ever make
the
variable greater than zero. That effectively makes the retry logic
an 'if (0)
I believe this is a typo and the intention was >= 0. Once this is
fixed thoug
I see double transmits with my test case. This is because in the non
FIFO
case, serial_xmit may get invoked while LSR.THRE is still high
because the
character was processed but the retransmit timer was still active.
We can handle this by simply checking for LSR.THRE and returning
early. It's
possible that the FIFO paths also need some attention.
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Even if the previous logic was never worked, new logic breaks stuff -
namely,
qemu -enable-kvm -nographic -kernel /boot/vmlinuz-$(uname -r) -append
console=ttyS0 -serial pty
the above command will cause the virtual machine to stuck at startup
using 100% CPU till one connects to the pty and sends any char to it.
Note this is rather typical invocation for various headless virtual
machines by libvirt.
So revert this change for now, till a better solution will be found.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7371d56fb2759f52106c76692440d0c29731ef9c
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Dec 3 20:35:15 2012 +0100
iscsi: add support for iovectors
This patch adds support for directly passing the iovec
array from QEMUIOVector if libiscsi supports it (1.8.0
or newer).
Signed-off-by: Peter Lieven <pl@xxxxxxx>
[Preserve the improvements from commit 4cc841b, iscsi: partly
avoid iovec linearization in iscsi_aio_writev, 2012-11-19 - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4790b03d308f6c7dea7dc6941ddab9867c9530b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 17:34:29 2013 +0100
iscsi: do not leak acb->buf when commands are aborted
acb->buf is freed in the WRITE(16) callback, but this may not
get called at all when commands are aborted. Add another
free in the ABORT TASK callback, which requires setting acb->buf
to NULL everywhere.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3f668b6c5dc9747d0367837532c3b2ce0520cc17
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 24 10:51:47 2013 +0100
target-cris: Fix typo in D_LOG() macro
It's __VA_ARGS__. Fixes the build with CRIS_[OP_]HELPER_DEBUG defined.
Broken since r6338 / 93fcfe39a0383377e647b821c9f165fd927cd4e0 (Convert
references to logfile/loglevel to use qemu_log*() macros).
Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9fc7577af56153a4f75709ce526d64bf6845d002
Author: Grant Likely <grant.likely@xxxxxxxxxxxx>
Date: Wed Jan 23 16:15:25 2013 +0000
trivial: etraxfs_eth: Eliminate checkpatch errors
This is a trivial patch to harmonize the coding style on
hw/etraxfs_eth.c. This is in preparation to split off the bitbang mdio
code into a separate file.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 177f7fc6884c47666f6c6eeca376a92432ccda38
Merge: 36ba580... 0bf8264...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:08:54 2013 -0600
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi: Drop useless null test in scsi_unit_attention()
lsi: use qbus_reset_all to reset SCSI bus
scsi: fix segfault with 0-byte disk
iscsi: add support for iSCSI NOPs [v2]
iscsi: partly avoid iovec linearization in iscsi_aio_writev
iscsi: add iscsi_create support
commit 36ba58044e70a82b93e84b1f31076df847f23109
Merge: a29a6b7... 3470733...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:08:33 2013 -0600
Merge remote-tracking branch 'kraxel/usb.77' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.77:
usb: add usb-bot device (scsi bulk-only transport).
ohci: add missing break
Revert "usb-storage: Drop useless null test in usb_msd_handle_data()"
commit a29a6b73c4f17db6f82fd8d2094e824c04b29fee
Merge: 1356b98... 038c187...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:07:29 2013 -0600
Merge remote-tracking branch 'spice/spice.v68' into staging
# By Alon Levy
# Via Gerd Hoffmann
* spice/spice.v68:
qxl: change rom size to 8192
qxl: stop using non revision 4 rom fields for revision < 4
commit 0bf8264e2d2bd19c1eecf9bde0e59284ef47eabb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 17 13:07:47 2013 +0100
scsi: Drop useless null test in scsi_unit_attention()
req was created by scsi_req_alloc(), which initializes req->dev to a
value it dereferences. req->dev isn't changed anywhere else.
Therefore, req->dev can't be null.
Drop the useless null test; it spooks Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 032f0101aa6e009efda3a419379837ebceaeade1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 11:23:25 2012 +0100
lsi: use qbus_reset_all to reset SCSI bus
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0369f06f7464e7fb023f103aff889d28e99c43c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:08:05 2013 +0100
scsi: fix segfault with 0-byte disk
When a 0-sized disk is found, READ CAPACITY will return a
LUN NOT READY error. However, because it returns -1 instead
of zero, the HBA will call scsi_req_continue. This will
typically cause a segmentation fault or an assertion failure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5b5d34ec9882b29b757f6808693308e52a8e8ba7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 6 10:46:47 2012 +0100
iscsi: add support for iSCSI NOPs [v2]
This patch will send NOP-Out PDUs every 5 seconds to the iSCSI target.
If a consecutive number of NOP-In replies fail a reconnect is initiated.
iSCSI NOPs help to ensure that the connection to the target is still
operational.
This should not, but in reality may be the case even if the TCP
connection is still
alive if there are bugs in either the target or the initiator
implementation.
v2:
- track the NOPs inside libiscsi so libiscsi can reset the counter
in case it initiates a reconnect.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4cc841b57c1dc91d71bafc25b53ffab4eff7959b
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Nov 19 15:58:31 2012 +0100
iscsi: partly avoid iovec linearization in iscsi_aio_writev
libiscsi expects all write16 data in a linear buffer. If the
iovec only contains one buffer we can skip the linearization
step as well as the additional malloc/free and pass the
buffer directly.
Reported-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit de8864e5ae645fc22aa4ecf1999705c2dd5cf93c
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Sat Nov 17 16:13:24 2012 +0100
iscsi: add iscsi_create support
This patch adds support for bdrv_create. This allows e.g.
to use qemu-img to convert from any supported device to
an iscsi backed storage as destination.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 347073336d393a819928de0d4fd56563134c0e1a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 14 15:29:44 2013 +0100
usb: add usb-bot device (scsi bulk-only transport).
Basically the same as usb-storage, but without automatic scsi
device setup. Also features support for up to 16 LUNs.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7fa96d73893728752ec7b832a62a48c434748497
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 14:53:01 2013 +0100
ohci: add missing break
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 038c1879a00153b14bce113315b693e8c2944fa9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 21 14:48:07 2013 +0200
qxl: change rom size to 8192
This is a simpler solution to 869981, where migration breaks since qxl's
rom bar size has changed. Instead of ignoring fields in QXLRom, which is
what has
actually changed, we remove some of the modes, a mechanism already
accounted for by the guest. The modes left allow for portrait and
landscape only modes, corresponding to orientations 0 and 1.
Orientations 2 and 3 are dropped.
Added assert so that rom size will fit the future QXLRom increases via
spice-protocol changes.
This patch has been tested with 6.1.0.10015. With the newer 6.1.0.10016
there are problems with both "(flipped)" modes prior to the patch, and
the patch loses the ability to set "Portrait" modes. But this is a
separate bug to be fixed in the driver, and besides the patch doesn't
affect the new arbitrary mode setting functionality.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4c0e5011b96d67b87db407854ee948da708a0d9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 11:18:47 2013 +0100
Revert "usb-storage: Drop useless null test in usb_msd_handle_data()"
This reverts commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2.
Test isn't useless. scsi_req_enqueue() may finish the request (will
actually happen for requests which don't trigger any I/O such as
INQUIRY), then call usb_msd_command_complete() which in turn will
set s->req to NULL after unref'ing it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e0ac6097b6cc24694e83ae61e80040177bb5a584
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 21 14:48:06 2013 +0200
qxl: stop using non revision 4 rom fields for revision < 4
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9e90c798dc84be2b0b988517e86b49faf79d5dc
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Thu Jan 10 23:02:48 2013 -0200
vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery'
Bit 9 of MSR_IA32_VMX_PROCBASED_CTLS2 is
virtual interrupt delivery.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 1356b98d3e95a85071e6bf9a99e8799e1ae1bbee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 02:47:33 2013 +0100
sysbus: Drop sysbus_from_qdev() cast macro
Replace by SYS_BUS_DEVICE() QOM cast macro using a scripted conversion.
Avoids the old macro creeping into new code.
Resolve a Coding Style warning in openpic code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd8e79af031d8cfc0eb02d40d03281917fcb27b
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:45 2013 +0100
vnc: fix possible uninitialized removals
Some VncState values are not initialized before the Websocket handshake.
If it fails QEMU segfaults during the cleanup. To prevent this behavior
intialization checks are added.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7536ee4bc3da7e9b7fdadba5ba6ade63eaace430
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:44 2013 +0100
vnc: added initial websocket protocol support
This patch adds basic Websocket Protocol version 13 - RFC 6455 - support
to QEMU VNC. Binary encoding support on the client side is mandatory.
Because of the GnuTLS requirement the Websockets implementation is
optional (--enable-vnc-ws).
To activate Websocket support the VNC option "websocket"is used, for
example "-vnc :0,websocket".
The listen port for Websocket connections is (5700 + display) so if
QEMU VNC is started with :0 the Websocket port would be 5700.
As an alternative the Websocket port could be manually specified by
using ",websocket=<port>" instead.
Parts of the implementation base on Anthony Liguori's QEMU Websocket
patch from 2010 and on Joel Martin's LibVNC Websocket implementation.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 32ed26808d4e59efb4a03290a4a85f5f8335f268
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:43 2013 +0100
vnc: added buffer_advance function
Following Anthony Liguori's Websocket implementation I have added the
buffer_advance function to VNC and replaced all related buffer memmove
operations with it.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 11e9235b1a88a98124fe005c93ade019d6a09c0b
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:06 2013 +0100
virtio-s390-device: create a virtio-s390-bus during init.
A virtio-s390-bus is created during the init. So one VirtIODevice can be
connected on the virtio-s390-device through this bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ea35d4f1e9781a4b489d550e4bbc4568704f34bf
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:05 2013 +0100
virtio-s390-bus: add virtio-s390-bus.
This add the virtio-s390-bus which extends virtio-bus. So one
VirtIODevice can
be connected on this bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 085bccb72c280f36f651556ef5169f5faca31d87
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:04 2013 +0100
virtio-pci: refactor virtio-pci device.
Create the virtio-pci device which is abstract. This transport device will
create a virtio-pci-bus, so one VirtIODevice can be connected.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a2acf5eb3237350e84693b9b37eced5080a1fef
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:03 2013 +0100
virtio-pci-bus: introduce virtio-pci-bus.
Introduce virtio-pci-bus, which extends virtio-bus. It is used with
virtio-pci
transport device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e05db9234050cb3f0ffb765608dd8b176334ae1
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:02 2013 +0100
virtio-device: refactor virtio-device.
Create the virtio-device which is abstract. All the virtio-device can
extend
this class. It also add some functions to virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ff8eca5536edd3f84bc87277e158e4db11dadf82
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:01 2013 +0100
virtio-bus: introduce virtio-bus
Introduce virtio-bus. Refactored transport device will create a bus which
extends virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1395af6f76e9f0e145a235a71e3578385d82ece5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:00 2013 +0100
qdev: add a maximum device allowed field for the bus.
Add a max_dev field to BusClass to specify the maximum amount of devices
allowed
on the bus (has no effect if max_dev=0)
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 016c7182315b1f842ac351fae86041d2c8fe4596
Merge: e0f0183... 6522773...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 13:22:43 2013 -0600
Merge remote-tracking branch 'quintela/thread.next' into staging
# By Juan Quintela (7) and Paolo Bonzini (6)
# Via Juan Quintela
* quintela/thread.next:
migration: remove argument to qemu_savevm_state_cancel
migration: Only go to the iterate stage if there is anything to send
migration: unfold rest of migrate_fd_put_ready() into thread
migration: move exit condition to migration thread
migration: Add buffered_flush error handling
migration: move beginning stage to the migration thread
qemu-file: Only set last_error if it is not already set
migration: fix off-by-one in buffered_rate_limit
migration: remove double call to migrate_fd_close
migration: make function static
use XFER_LIMIT_RATIO consistently
Protect migration_bitmap_sync() with the ramlist lock
Unlock ramlist lock also in error case
commit e0f01837e104517c7c511c79bb93c8792b7263e5
Merge: f2bdbd5... 09a021f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 07:32:22 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Stefan Weil (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
hw/tpci200: Fix compiler warning (redefined symbol with MinGW)
configure: silence pkg-config's check for curses
acpitable: open the data file in binary mode
hw: Spelling fix in log message
commit f2bdbd5bb4b7869ea48845d5a92979290df6f195
Merge: 56a8810... 3588185...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 07:32:14 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-1.7.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2:
seabios: update to 1.7.2 release
commit 56a8810dd6686a999e47afa5c1870c66485ef1c6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 03:26:12 2013 +0100
target-microblaze: Drop unused cpu_mb_close() prototype
Such a function never existed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a42a56c5deeedebe650469640ebe77d80e1eefb5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 03:20:58 2013 +0100
target-cris: Drop unused cpu_cris_close() prototype
Such a function never existed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 09a021fb7ceb7255ab106999d7b38ffd92c3bdd6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 21 07:49:51 2013 +0100
hw/tpci200: Fix compiler warning (redefined symbol with MinGW)
STATUS_TIMEOUT is defined in winnt.h:
CC hw/tpci200.o
hw/tpci200.c:34:0:
warning: "STATUS_TIMEOUT" redefined [enabled by default]
/usr/lib/gcc/x86_64-w64-mingw32/4.6/../../../../x86_64-w64-mingw32/include/winnt.h:1036:0:
note: this is the location of the previous definition
Use STATUS_TIME instead of STATUS_TIMEOUT as suggested by Alberto Garcia.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit acf15c8949f125a4d4f958a5134f8eeece1f99f5
Author: Vadim Evard <v.e.evard@xxxxxxxxx>
Date: Fri Jan 18 17:48:04 2013 +0400
configure: silence pkg-config's check for curses
Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5facfb4934221cac2c267e529d7ebab165103bc9
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jan 17 14:53:52 2013 +0400
acpitable: open the data file in binary mode
-acpitable {file|data}=file reads the content of file, but it is
in binary form, so the file should be opened usin O_BINARY flag.
On *nix it is a no-op, but on windows and other weird platform
it is really needed.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d0f54533eb484028f54d3f9810d504cb63f323ee
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:40:29 2013 +0100
hw: Spelling fix in log message
defineition -> definition
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3588185b8396eb97fd9efd41c2b97775465f67c4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 09:17:16 2013 +0100
seabios: update to 1.7.2 release
Not that many changes as we have a pretty recent git snapshot in master
already:
Hannes Reinecke (1):
megasas: Invert PCI device selection
Kevin O'Connor (2):
Minor: Separate UUID display from F12 boot prompt.
boot: Support "halt" in the boot order to prevent default boot
attempts.
Laszlo Ersek (1):
display_uuid(): fix incomplete check after the loop
Paolo Bonzini (1):
vgabios: implement AX=1120H..1124H functions
commit 8b17ed4caa7e015324a4ecbe3c863e32458d840a
Merge: b54c287... cf13938...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 20 11:01:10 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
dataplane: support viostor virtio-pci status bit setting
dataplane: avoid reentrancy during virtio_blk_data_plane_stop()
win32-aio: use iov utility functions instead of open-coding them
win32-aio: Fix memory leak
win32-aio: Fix vectored reads
aio: Fix return value of aio_poll()
ide: Remove wrong assertion
block: fix null-pointer bug on error case in block commit
commit b54c2873e731dd6fc81a4591cab909633b5a9eab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 19 20:23:51 2013 +0100
tci: Fix broken build (regression)
s390x-linux-user now also uses GETPC. Instead of adding it to the list of
targets which use GETPC, the macro is now defined unconditionally.
This avoids future build regressions like this one:
CC s390x-linux-user/target-s390x/int_helper.o
cc1: warnings being treated as errors
qemu/target-s390x/int_helper.c: In function â??helper_divs32â??:
qemu/target-s390x/int_helper.c:47: error: implicit declaration of
function â??GETPCâ??
qemu/target-s390x/int_helper.c:47: error: nested extern declaration of
â??GETPCâ??
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c36dd8a09fd8811ebcda453d80dc5f52402d691c
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Fri Jan 18 16:43:35 2013 +0100
block/raw-posix: Make hdev_aio_discard() available outside Linux
Fixes the build on OpenBSD among others.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c1db29199e3caf5cd56daad08b8926ffa97da136
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jan 18 23:48:10 2013 +0100
usb: Fix compilation for MinGW (regression)
84f2d0ea added an argument to function usb_host_info.
The stub function must match the declaration in usb.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 249fe3f3e99c2a57c7f2569edb4031e63e595c9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 19:30:13 2013 +0100
cpu-defs.h: Drop qemu_work_item prototype
Commit c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e (cpu: Move
queued_work_{first,last} to CPUState) moved the qemu_work_item fields
away. Clean up the now unused prototype.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5256a7208a7c2af19baf8f99bd4f06632f9f9ba9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 17 20:04:16 2013 +0000
tcg/target-arm: Add missing parens to assertions
Silence a (legitimate) complaint about missing parentheses:
tcg/arm/tcg-target.c: In function â??tcg_out_qemu_ldâ??:
tcg/arm/tcg-target.c:1148:5: error: suggest parentheses around
comparison in operand of â??&â?? [-Werror=parentheses]
tcg/arm/tcg-target.c: In function â??tcg_out_qemu_stâ??:
tcg/arm/tcg-target.c:1357:5: error: suggest parentheses around
comparison in operand of â??&â?? [-Werror=parentheses]
which meant that we would mistakenly always assert if running
a QEMU built with debug enabled on ARM.
Signed-off-by: Peter Maydell <peter.maydelL@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e4ada482420175bc17d6ccb9f2af0e769da78e01
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:37:23 2013 +0100
Replace non-portable asprintf by g_strdup_printf
g_strdup_printf already handles OOM errors, so some error handling in
QEMU code can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0e7a75929353b04bd2fce1be8640226883b42a10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:29 2013 +0100
vl: Use size_t for sizes in get_boot_devices_list()
Code mixes uint32_t, int and size_t. Very unlikely to go wrong in
practice, but clean it up anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 089da572b956ef0f8f5b8d5917358e07892a77c2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:28 2013 +0100
fw_cfg: Use void *, size_t instead of uint8_t *, uint32_t for blobs
Many callers pass size_t, which gets silently truncated to uint32_t.
Harmless, because all practical sizes are well below 4GiB. Clean it
up anyway. Size overflow now fails assertions.
Bonus: saves a whole bunch of silly casts.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b3dd15529de22cd4bcedb6344105e87878d971b6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:27 2013 +0100
pc: Clean up bochs_bios_init()'s (non-)use of sizeof
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0e0d2d6295076815ded8d0868b7b806380df5dda
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:26 2013 +0100
sun4: Fix unchecked strdup() by switching to fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 96f8058629d99ab689ff233c6133d6cf7f034679
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:25 2013 +0100
pc: Fix unchecked strdup() by switching to fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 44687f75434ea938e9d29fdc3696ff4bdc0978fa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:24 2013 +0100
fw_cfg: New fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4cad3867b6df2c0826ae508a9fe15dd0b9d8936a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:23 2013 +0100
fw_cfg: Dumb down fw_cfg_add_*() not to return success / failure
No caller is checking the value, so all errors get ignored, usually
silently. assert() instead.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f6e3534327e94c1c222cbbe8011d47b73c102686
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:22 2013 +0100
fw_cfg: Replace debug prints by tracepoints
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 633f6502544e3dd6a615679ce440875be7ebbc58
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:53 2013 -0800
optimize: optimize using nonzero bits
This adds two optimizations using the non-zero bit mask. In some cases
involving shifts or ANDs the value can become zero, and can thus be
optimized to a move of zero. Second, useless zero-extension or an
AND with constant can be detected that would only zero bits that are
already zero.
The main advantage of this optimization is that it turns zero-extensions
into moves, thus enabling much better copy propagation (around 1% code
reduction). Here is for example a "test $0xff0000,%ecx + je" before
optimization:
mov_i64 tmp0,rcx
movi_i64 tmp1,$0xff0000
discard cc_src
and_i64 cc_dst,tmp0,tmp1
movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0
and after (without patch on the left, with on the right):
movi_i64 tmp1,$0xff0000 movi_i64 tmp1,$0xff0000
discard cc_src discard cc_src
and_i64 cc_dst,rcx,tmp1 and_i64 cc_dst,rcx,tmp1
movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0
Other similar cases: "test %eax, %eax + jne" where eax is already 32-bit
(after optimization, without patch on the left, with on the right):
discard cc_src discard cc_src
mov_i64 cc_dst,rax mov_i64 cc_dst,rax
movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,ne,$0x0 brcond_i64 rax,tmp12,ne,$0x0
"test $0x1, %dl + je":
movi_i64 tmp1,$0x1 movi_i64 tmp1,$0x1
discard cc_src discard cc_src
and_i64 cc_dst,rdx,tmp1 and_i64 cc_dst,rdx,tmp1
movi_i32 cc_op,$0x1a movi_i32 cc_op,$0x1a
ext8u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0
In some cases TCG even outsmarts GCC. :) Here the input code has
"and $0x2,%eax + movslq %eax,%rbx + test %rbx, %rbx" and the optimizer,
thanks to copy propagation, does the following:
movi_i64 tmp12,$0x2 movi_i64 tmp12,$0x2
and_i64 rax,rax,tmp12 and_i64 rax,rax,tmp12
mov_i64 cc_dst,rax mov_i64 cc_dst,rax
ext32s_i64 tmp0,rax -> nop
mov_i64 rbx,tmp0 -> mov_i64 rbx,cc_dst
and_i64 cc_dst,rbx,rbx -> nop
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3a9d8b179b1e43237365ede641d5aa6779ba91bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:52 2013 -0800
optimize: track nonzero bits of registers
Add a "mask" field to the tcg_temp_info struct. A bit that is zero
in "mask" will always be zero in the corresponding temporary.
Zero bits in the mask can be produced from moves of immediates,
zero-extensions, ANDs with constants, shifts; they can then be
be propagated by logical operations, shifts, sign-extensions,
negations, deposit operations, and conditional moves. Other
operations will just reset the mask to all-ones, i.e. unknown.
[rth: s/target_ulong/tcg_target_ulong/]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d193a14a2c94c9c4877ab100c31ec174dc78644c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:51 2013 -0800
optimize: only write to state when clearing optimizer data
The next patch will add to the TCG optimizer a field that should be
non-zero in the default case. Thus, replace the memset of the
temps array with a loop. Only the state field has to be up-to-date,
because others are not used except if the state is TCG_TEMP_COPY
or TCG_TEMP_CONST.
[rth: Extracted the loop to a function.]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 75f0585f1718c575716021d11bfeb695129f785d
Merge: 67c4f2d... 5b95b8b...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:56:41 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf:
PPC: KVM: Add support for EPR with KVM
openpic: export e500 epr enable into a ppc.c function
Update Linux kernel headers
PPC: e500: Change in-memory order of load blobs
PPC: Provide zero SVR for -cpu e500mc and e5500
PPC: E500: Calculate loading blob offsets properly
openpic: set mixed mode as supported
openpic: unify gcr mode mask updates
openpic: move gcr write into a function
commit 67c4f2d0e11de8ee534b17edafbcbcdcca4b0e9b
Merge: 48b8599... 28e942f...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:55:46 2013 +0000
Merge branch 's390-for-upstream' of git://repo.or.cz/qemu/agraf
* 's390-for-upstream' of git://repo.or.cz/qemu/agraf:
s390: Add a hypercall registration interface.
target-s390x: Unregister reset callback on finalization
s390x: fix indentation
s390: Add CPU reset handler
s390x: Remove inline function ebcdic_put and related data from cpu.h
S390: Enable -cpu help and QMP query-cpu-definitions
s390: Move IPL code into a separate device
s390: new contributions GPLv2 or later
commit 48b8599c991715eeae74f0cb650fc4284cb69227
Merge: ddc01bf... 9468a5d...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:54:31 2013 +0000
Merge branch 'axp-next' of git://github.com/rth7680/qemu
* 'axp-next' of git://github.com/rth7680/qemu:
alpha-linux-user: Correct select
alpha-linux-user: Translate fcntl l_type
commit 28e942f86d46ccd46bf1f4836389abb3ff706dff
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 17 04:23:46 2013 +0000
s390: Add a hypercall registration interface.
Allow virtio machines to register for different diag500 function
codes and convert s390-virtio to use it.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d5627ce8a4fd8dd6d7afd3d4d1ff7e9f1fb86d45
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 7 06:14:16 2013 +0000
target-s390x: Unregister reset callback on finalization
Since commit "s390: Add CPU reset handler" the CPU's instance_init
registers a reset callback. Unregister that on instance_finalize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 419831d7104e6876f47f5eccb758855115086bbd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 16:44:27 2013 +0100
s390x: fix indentation
In one of the last commits we accidently got 3-space indentation into
the tree. Fix it up so it's 4 spaces wide.
Reported-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 70bada03047f723424c4d08d93719c1a83a43cd2
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 7 05:27:14 2013 +0000
s390: Add CPU reset handler
Add a CPU reset handler to have all CPUs in a PoP compliant
state.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[agraf: move hw/hw.h into existing ifdef]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a158986d85bf75aa078ce3fb53e60a7fa3c6c6ee
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 08:24:55 2013 +0000
s390x: Remove inline function ebcdic_put and related data from cpu.h
The function is only used in misc_helper.c, so move it to that file.
This reduces the size of debug executables (compiled without optimization)
because they get unused code and data for each compilation which includes
cpu.h.
Executables with optimization don't change their size.
ebcdic2ascii is currently unused and could be removed (not done here).
The array ascii2ebcdic must be accessed with an unsigned index, therefore
(int)ascii[i] was replaced by (uint8_t)ascii[i]. The old code would have
failed for a signed char less than 0. The current code only converts
"QEMU" and spaces to EBCDIC, so there is no problem today.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 904e5fd5c25537fdf910bfd5db832df5d9c23ad6
Author: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 18 07:50:59 2012 +0000
S390: Enable -cpu help and QMP query-cpu-definitions
This enables qemu -cpu help to return a list of supported CPU models
on s390 and also to query for cpu definitions in the monitor.
Initially only cpu model = host is returned. This needs to be reworked
into a full-fledged CPU model handling later on.
This change is needed to allow libvirt exploiters (like OpenStack)
to specify a CPU model.
Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[agraf: fix s390x-linux-user, adjust header locations]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e674a49aae8b79bc4ea07f1bcd666bbf28b12a27
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Dec 18 07:50:57 2012 +0000
s390: Move IPL code into a separate device
Lets move the code to setup IPL for external kernel
or via the zipl rom into a separate file. This allows to
- define a reboot handler, setting up the PSW appropriately
- enhance the boot code to IPL disks that contain a bootmap that
was created with zipl under LPAR or z/VM (future patch)
- reuse that code for several machines (e.g. virtio-ccw and virtio-s390)
- allow different machines to provide different defaults
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[agraf: symbolify initial psw, adjust header file location, fix for QOM]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ccb084d3f0ec405afc6c878ace40f1ccf1e44027
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Nov 12 01:44:10 2012 +0000
s390: new contributions GPLv2 or later
IBMs s390 contributions were meant to to be gplv2 or later (since
we were contributing to qemu). Several of the s390 specific files
link to gpl code anyway, so lets clarify the licence statement for
new contributions for those files that we have touched multiple
times or will likely touch again.
This patch does not touch files that mostly deal with tcg.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5b95b8b9c1b0cd30a31dbeffdaec35134248b6e9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:54:38 2013 +0100
PPC: KVM: Add support for EPR with KVM
This patch links KVM EPR support to the existing TCG support we have now.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e49798b1bd7657722080126bfd5e787efdb3bc23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:32:21 2013 +0100
openpic: export e500 epr enable into a ppc.c function
Enabling and disabling the EPR capability (mpic_proxy) is a system
wide operation. As such, it belongs into the ppc.c file, since that's
where PPC specific machine wide logic happens.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d3dccee187ffeacec1a38ed288c112ffa0e3b513
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 18 00:06:26 2013 +0100
Update Linux kernel headers
Based on kvm.git a843fac (next) plus dfdebc24 (master).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8dec1443ef6c52e72594c5a861a5d2fd7f05d80
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:19:28 2013 +0100
PPC: e500: Change in-memory order of load blobs
Today, we load
<kernel> <initrd> <dtb>
into memory in that order. However, Linux has a bug where it can only
handle the dtb if it's within the first 64MB of where <kernel> starts.
So instead, let's change the order to
<kernel> <dtb> <initrd>
making Linux happy.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 746a870b3c44a6c5734691fec013c78520d55f15
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Jan 16 01:43:43 2013 +0100
PPC: Provide zero SVR for -cpu e500mc and e5500
Even though our -cpu types for e500mc and e5500 are no real CPUs that
actually have version registers, a guest might still want to access
said version register and that has to succeed for a guest to be happy.
So let's expose a zero SVR value on E500_SVR SPR reads.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 528e536ea2fd3bfe8412e39a5623e80b254f3ae0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 14 20:24:16 2013 +0100
PPC: E500: Calculate loading blob offsets properly
We have 3 blobs we need to load when booting the system:
- kernel
- initrd
- dtb
We place them in physical memory in that order. At least we should.
This patch fixes the location calculation up to take any module into
account, fixing the dtb offset along the way.
Reported-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86e56a885aa5051c87906dfcd060c59f0af22309
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:17:24 2013 +0100
openpic: set mixed mode as supported
The Raven MPIC implementation supports the "Mixed" mode to work with
an i8259. While we don't implement mixed mode, we should mark it as
a supported mode in the mode bitmap.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1ac3d71302d9d49427dd068af7eccdd4de128522
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:15:28 2013 +0100
openpic: unify gcr mode mask updates
The mode mask already masks out bits we don't care about, so the
actual handling code can stay intact regardless.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f11573b9fe6c03a9ad4cd1bbaa761e564d44fce
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:13:52 2013 +0100
openpic: move gcr write into a function
The GCR register contains too much functionality to be covered inside
of the register switch statement. Move it out into a separate function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cf139388ad5b39228793f34eea99e0ea9a2924aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 17 16:46:54 2013 +0100
dataplane: support viostor virtio-pci status bit setting
The viostor virtio-blk driver for Windows does not use the
VIRTIO_CONFIG_S_DRIVER bit. It only sets the VIRTIO_CONFIG_S_DRIVER_OK
bit.
The viostor driver refreshes the virtio-pci status byte sometimes while
the guest is running. We misinterpret 0x4 (VIRTIO_CONFIG_S_DRIVER_OK)
as an indication that virtio-blk-data-plane should be stopped since 0x2
(VIRTIO_CONFIG_S_DRIVER) is missing. The result is that the device
becomes unresponsive.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd7fdfe59f4f965665dcd9868fe3764f5256d6aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jan 15 17:19:38 2013 +0100
dataplane: avoid reentrancy during virtio_blk_data_plane_stop()
When dataplane is stopping, the s->vdev->binding->set_host_notifier(...,
false) call can invoke the virtqueue handler if an ioeventfd
notification is pending. This causes hw/virtio-blk.c to invoke
virtio_blk_data_plane_start() before virtio_blk_data_plane_stop()
returns!
The result is that we try to restart dataplane while trying to stop it
and the following assertion is raised:
msix_set_mask_notifier: Assertion `!dev->msix_mask_notifier' failed.
Although the code was intended to prevent this scenario, the s->started
boolean isn't enough. Add s->stopping so that we can postpone clearing
s->started until we've completely stopped dataplane.
This way, virtqueue handler calls during virtio_blk_data_plane_stop()
are ignored. When dataplane is legitimately started again later we
already self-kick ourselves to resume processing.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3249dbe661ba6ef108ecde97c54b4a4104d719c3
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jan 17 18:47:52 2013 +0400
win32-aio: use iov utility functions instead of open-coding them
We have iov_from_buf() and iov_to_buf(), use them instead of
open-coding these in block/win32-aio.c
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ddc01bf16e9f04b3e72c1b946b0b8efeb7a545d2
Merge: e387f99... 84c44613...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 17 13:09:57 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Wenchao Xia
# Via Luiz Capitulino
* luiz/queue/qmp:
HMP: add sub command table to info
HMP: move define of mon_cmds
HMP: add infrastructure for sub command
HMP: delete info handler
HMP: add QDict to info callback handler
commit e387f99ebc5753ebb5b7602d86e44d064873f83c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 19:42:38 2013 +0200
virtio-pci: fix irqfd cleanup argument order
Order of arguments of kvm_virtio_pci_irqfd_release
got mixed up in all calls.
As a result users see assertions during cleanup.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 782beb5239c6306b166744e03478a75afb649811
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 08:31:50 2013 +0100
qom: Extend documentation on QOM method concepts
Add a documentation section "Methods" and discuss among others how to
handle overriding virtual methods.
Clarify DeviceClass::realize documentation and refer to the above.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 781c0c3321d2bda9a9d7ffe9bf51560f0987b5a0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jan 15 08:47:26 2013 +0100
Makefile: drop recursive libcacard clean
Commit eb8eb53e5846a957cf333f2e1ec8cb6e0c04 ("libcacard: rewrite
Makefile in non-recursive style") refactored libcacard/Makefile so it
can be included by the top-level Makefile.
The top-level clean target still loops over subdirectories, including
libcacard/, to invoke recursive clean. Remove libcacard from the
recursive clean since its files are already included at the top level.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6522773f88a2e37800f0bf7dc3632a14649f53c6
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jan 14 14:14:42 2013 +0100
migration: remove argument to qemu_savevm_state_cancel
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b22ff1fbed9d7f1f677804cbaa9ee03ca17d0013
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 21:06:31 2012 +0200
migration: Only go to the iterate stage if there is anything to send
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c369f40d2cb39f4eaaf6589c1113b528256d3a09
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:33:34 2012 +0200
migration: unfold rest of migrate_fd_put_ready() into thread
This will allow us finer control in next patches.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7de6a690e73967eb5bc5e72b2942a6be1fee2c20
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:23:43 2012 +0200
migration: move exit condition to migration thread
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f7b67be36d01f8f506dc93213855b31dad17708c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Dec 10 22:29:14 2012 +0100
migration: Add buffered_flush error handling
Now that we have error handling we can do proper handling of
buffered_flush().
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76f5933aea281a52149b39a1a78a43565dc9715c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:16:24 2012 +0200
migration: move beginning stage to the migration thread
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afe419319de1e5e98b131368ba14f85f98ab3a76
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jan 14 13:36:28 2013 +0100
qemu-file: Only set last_error if it is not already set
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1e973051b96bac5eef46393eec15b68796e7c7d3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:30:39 2012 +0100
migration: fix off-by-one in buffered_rate_limit
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 25242635acb0b803392ad5669b5624815af3fd07
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Nov 10 18:58:40 2012 +0100
migration: remove double call to migrate_fd_close
The call in buffered_close is enough, because buffered_close is called
already by migrate_fd_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b9c961a8ff3973b97964431491bc3f4f427cd66a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:29:03 2012 +0100
migration: make function static
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f65a874756bb3e4b57571a33a51d8887bbee7981
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:31:03 2012 +0100
use XFER_LIMIT_RATIO consistently
commit 5b4e1eb769eee892b44d3f6b2369b05196442f59
missed this use.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9c339485f0abb96595f4d91880b177726463300c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:26:04 2012 +0100
Protect migration_bitmap_sync() with the ramlist lock
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit fb3409de22c7c167dced51175500bc4b1a78dcc2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:25:45 2012 +0100
Unlock ramlist lock also in error case
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 84c44613f9ad8d13e0d2dbee767051527072dc12
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:29 2013 +0800
HMP: add sub command table to info
Now info command takes a table of sub info commands,
and changed do_info() to do_info_help() to do help funtion
only.
Note that now "info <unknown-topic>" returns error instead
of list of info topics.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a13ced59a4f305e37bd89f27f2b18f915889cad1
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:28 2013 +0800
HMP: move define of mon_cmds
Because mon_cmds may use info_cmds, so adjust the declare sequence
of them.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5f3d335fbdaccc5044bdfe0c6aefb865e48b9100
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:27 2013 +0800
HMP: add infrastructure for sub command
This patch make parsing of hmp command aware of that it may
have sub command. Also discard simple encapsulation function
monitor_find_command(). For case "@command ", space after
@command is filtered out.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5f11cb002a342e4fc0f87bb36fbabbc19bf04728
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:26 2013 +0800
HMP: delete info handler
Now cmd and info handler have same format, so delete info handler.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84f2d0ea0f39bc140a6c69ba8e3ffd6b10cae6fa
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:25 2013 +0800
HMP: add QDict to info callback handler
This patch change all info call back function to take
additional QDict * parameter, which allow those command
take parameter. Now it is set to NULL at default case.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e8bccad5ac6095b5af7946cd72d9aacb57f7c0a3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 21:20:00 2013 +0100
win32-aio: Fix memory leak
The buffer is allocated for both reads and writes, and obviously it
should be freed even if an error occurs.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bcbbd234d42f1111e42b91376db61922d42e7e9e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 21:19:59 2013 +0100
win32-aio: Fix vectored reads
Copying data in the right direction really helps a lot!
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2ea9b58f0bc62445b7ace2381b4c4db7d5597e19
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 19:25:51 2013 +0100
aio: Fix return value of aio_poll()
aio_poll() must return true if any work is still pending, even if it
didn't make progress, so that bdrv_drain_all() doesn't stop waiting too
early. The possibility of stopping early occasionally lead to a failed
assertion in bdrv_drain_all(), when some in-flight request was missed
and the function didn't really drain all requests.
In order to make that change, the return value as specified in the
function comment must change for blocking = false; fortunately, the
return value of blocking = false callers is only used in test cases, so
this change shouldn't cause any trouble.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6bf3ee07ff55aa795010a8e071826f38e9a26112
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 10:54:34 2013 +0100
ide: Remove wrong assertion
The Bus Master IDE Active bit (BM_STATUS_DMAING) is not only set when
the request is still in flight, but also when it has completed and the
size of the physical memory regions in the PRDT was larger than the
transfer size.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d759117d3fd28e38c49c56c9de206cc718d32fa
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Jan 15 10:47:24 2013 -0500
block: fix null-pointer bug on error case in block commit
This is a bug that was caught by a coverity run by Markus. In
the error case when we errored out to exit_restore_open early in the
function, 'overlay_bs' was still NULL at that point, although it is
used to look up flags and perform a bdrv_reopen().
Move the overlay_bs lookup to where it is needed, and check for NULL
before restoring the flags. Also get rid of the unneeded parameter
initialization.
Reported-By: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a4cbfe24e4d9f86622ba81b8c5b599c92c682fbc
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 13 16:35:41 2013 +0000
bswap: improve gluing
OpenBSD system compiler (gcc 4.2.1) has problems with concatenation
of macro arguments in macro functions:
CC aes.o
In file included from /src/qemu/include/qemu-common.h:126,
from /src/qemu/aes.c:30:
/src/qemu/include/qemu/bswap.h: In function 'leul_to_cpu':
/src/qemu/include/qemu/bswap.h:461: warning: implicit declaration of
function 'bswapHOST_LONG_BITS'
/src/qemu/include/qemu/bswap.h:461: warning: nested extern declaration of
'bswapHOST_LONG_BITS'
Function leul_to_cpu() is only used in kvm-all.c, so the warnings
are not fatal on OpenBSD without -Werror.
Fix by applying glue(). Also add do {} while(0) wrapping and fix
semicolon use while at it.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47f4dac3fde809e3da4e60d9eb699f1d4b378249
Merge: af381eb... 0a1a7fa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 16 15:20:05 2013 -0600
Merge remote-tracking branch 'kraxel/chardev.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.1:
chardev: add pty chardev support to chardev-add (qmp)
chardev: add socket chardev support to chardev-add (qmp)
chardev: add parallel chardev support to chardev-add (qmp)
chardev: add serial chardev support to chardev-add (qmp)
chardev: add file chardev support to chardev-add (qmp)
chardev: add hmp hotplug commands
chardev: add qmp hotplug commands, with null chardev support
chardev: reduce chardev ifdef mess a bit
chardev: fix QemuOpts lifecycle
chardev: add error reporting for qemu_chr_new_from_opts
commit af381ebeacdefcec0d2b44bdbb9d6e01e35f691f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:36 2013 +0100
build: fix Win32 clean build
The version.o file did not appear explicitly as a dependency, and
this caused clean builds to fail. Force its build by making the
Makefile depend on version.o.
(We cannot add it to libqemuutil.a, because it doesn't export any
symbol and thus would not be pulled by the linker).
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eb60d1c55268f489b32e6b694e84e2017b75a3d3
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:59 2013 +0100
tmp105: Add temperature QOM property
This obsoletes tmp105_set() and allows for better error handling.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:58 2013 +0100
tmp105: QOM'ify
Introduce TYPE_ constant and cast macro.
Move the state struct to the new header to allow for future embedding.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e9989034b176a8e4cfdccd85892abfa73977ba7
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:57 2013 +0100
tests: Add tmp105 qtest test case
Exercise all four commands of the TMP105, testing for an issue in the
I2C TX path.
The test case uses the N800's OMAP I2C and is the first for ARM.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb5ef3fa1871522a0886627033459e94bd537fb7
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:56 2013 +0100
tmp105: Fix I2C protocol bug
An early length postincrement in the TMP105's I2C TX path led to
transfers of more than one byte to place the second byte in the third
byte's place within the buffer and the third byte to get discarded.
Fix this by explictly incrementing the length after the checks but
before the callback is called, which again checks the length.
Adjust the Coding Style while at it.
Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d0b430176e3571af0e1596276078f05bfe1c5a5
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:55 2013 +0100
tmp105: Split out I2C message constants from header
Allows value sharing with qtest.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2bf7b4572b39a494403190636b4e7d44967504c0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:54 2013 +0100
libqtest: Prepare I2C libqos
This adds a simple I2C API and a driver implementation for omap_i2c.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 457b65432700281b061086a2a8527bf1f59163a9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:17:33 2013 +0100
audio: Replace non-portable asprintf in debug code by g_strdup_printf
sw->name already uses the correct g_free to free the allocated memory.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:20:25 2013 +0100
usb-storage: Drop useless null test in usb_msd_handle_data()
scsi_req_new() never returns null, and scsi_req_enqueue() dereferences
the pointer, so checking for null is useless.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 955d7b26779d6654f6ba2c456bac9fd49fa0cd8a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:20:57 2013 +0100
ui: Drop useless null tests in parse_keyboard_layout()
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ecf8aa5a06a830b05c035a5d6184bf991931d20
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:22:29 2013 +0100
pseries: Replace non-portable asprintf by g_strdup_printf
g_strdup_printf already handles OOM errors, so some error handling in
QEMU code can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8e76b35d47d03f6f9bb3a7455316aaed8b25795
Author: Knut Omang <knuto@xxxxxxxxxx>
Date: Wed Jan 16 16:34:34 2013 +0100
Add new DEFAULT_MACHINE_OPTIONS to q35 and ppc405
Without this default q35/ppc405 based machines would no longer boot
after commit e4ada29e909787f629626660b1561f6a680187d3
Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9468a5d4904223af2c47131f32e3a0555142e4e3
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Jan 10 22:30:50 2013 +0100
alpha-linux-user: Correct select
Alpha, like s390x, passes all select arguments in registers.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ba7f73006371312109991869b13bf8f4b4659c4
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Jan 10 21:42:48 2013 +0100
alpha-linux-user: Translate fcntl l_type
The values of F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK
differ between alpha and other linux architectures.
This patch allows to run "dpkg" (database lock).
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a1a7fabda7f0fa05ef09051be29e92e81f929ad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 14:39:13 2012 +0100
chardev: add pty chardev support to chardev-add (qmp)
The ptsname is returned directly, so there is no need to
use query-chardev to figure the pty device path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f6bd5d6ec514939c421fcd411d1a39bc7dad0948
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 13:53:12 2012 +0100
chardev: add socket chardev support to chardev-add (qmp)
qemu_chr_open_socket is split into two functions. All initialization
after creating the socket file handler is split away into the new
qemu_chr_open_socket_fd function.
chr->filename doesn't get filled from QemuOpts any more. Qemu gathers
the information using getsockname and getnameinfo instead. This way it
will also work correctly for file handles passed via file descriptor
passing.
Finally qmp_chardev_open_socket() is the actual qmp hotplug
implementation which basically just calls socket_listen or
socket_connect and the new qemu_chr_open_socket_fd function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 88a946d32dd9e4c6c0ad56e19f2822bd5c8b416e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 10 14:20:58 2013 +0100
chardev: add parallel chardev support to chardev-add (qmp)
Also alias the old parport name to parallel for -chardev.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d59044ef74d577797d087bc6ffb156cec89ed39a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 13:50:29 2012 +0100
chardev: add serial chardev support to chardev-add (qmp)
Similar to file, except that no separate in/out files are supported
because it's pointless for direct device access. Also the special
tty ioctl hooks (pass through linespeed settings etc) are activated
on Unix.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ffbdbe59acc5f175d6c05a5d90f0b7c865fafd5b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 13:13:57 2012 +0100
chardev: add file chardev support to chardev-add (qmp)
Add support for file chardevs. Output file is mandatory,
input file is optional.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f10889089153edf032476b45229477866a9ca0b1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 10:33:40 2012 +0100
chardev: add hmp hotplug commands
Add chardev-add and chardev-remove commands to the human monitor.
chardev-add accepts the same syntax as -chardev, chardev-remove
expects a chardev id.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1a1a35638bf045a2b158c0cb23d92ef39c06792
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 10:33:56 2012 +0100
chardev: add qmp hotplug commands, with null chardev support
Add chardev-add and chardev-remove qmp commands. Hotplugging
a null chardev is supported for now, more will be added later.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e551498e7283fc7f12a0f9cd5645517bfe9008f6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 16:35:42 2012 +0100
chardev: reduce chardev ifdef mess a bit
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2274ae9d1a841c9d214b7c877d28e2f037a9b26e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Oct 15 09:30:59 2012 +0200
chardev: fix QemuOpts lifecycle
qemu_chr_new_from_opts handles QemuOpts release now, so callers don't
have to worry. It will either be saved in CharDriverState, then
released in qemu_chr_delete, or in the error case released instantly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd2d80b2b75b36955d536564ceb593f5bdae2f12
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Oct 15 09:28:05 2012 +0200
chardev: add error reporting for qemu_chr_new_from_opts
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 249d41720b7dfbb5951b430b9eefdbee7464f515
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 9 03:58:11 2013 +0100
qdev: Prepare "realized" property
Introduce the QOM realizefn suggested by Anthony.
Detailed documentation is supplied in the qdev header.
For now this implements a default DeviceClass::realize callback that
just wraps DeviceClass::init, which it deprecates.
Once all devices have been converted to DeviceClass::realize,
DeviceClass::init is to be removed.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7983c8a335dd09fec49f99a44d4404aa87828c0a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 9 03:58:10 2013 +0100
qdev: Fold state enum into bool realized
Whether the device was initialized or not is QOM-level information and
currently unused. Drop it from device. This leaves the boolean state of
whether or not DeviceClass::init was called or not, a.k.a. "realized".
Suggested-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c9ee0291f8ca7e18f8e96a34e8f4be7867219d2
Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 8 12:36:31 2013 +0530
pseries: set no default boot order
This patch removes the default boot order for pseries machine. This allows
the machine to handle a NULL boot order in case no -boot option is
provided.
Thus it helps SLOF firmware to verify if boot order is specified in
command
line or not. If no boot order is provided SLOF tries to boot from the
device set in the nvram.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ada29e909787f629626660b1561f6a680187d3
Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 8 12:36:30 2013 +0530
Make default boot order machine specific
This patch makes default boot order machine specific instead of
set globally. The default boot order can be set per machine in
QEMUMachine boot_order. This also allows a machine to receive a
NULL boot order when -boot isn't used and take an appropriate action
accordingly. This helps machine boots from the devices as set in
guest's non-volatile memory location in case no boot order is
provided by the user.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 038794cfe1c0eece8968418077e4af601acd5aff
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:24:16 2013 +0100
acl: Free memory allocated with g_malloc() with g_free()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c23c15d30b901bb447cdcada96cae64c0046d146
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:24:15 2013 +0100
acl: Fix acl_remove not to mess up the ACL
It leaks memory and fails to adjust qemu_acl member nentries. Future
acl_add become confused: can misreport the position, and can silently
fail to add.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc69bda6c97a1c193348eb381f4bffdfd1c8a948
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:42:32 2013 +0100
sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits
Careless use of malloc(): allocate Uint32[N], assign to int *, use
int[N].
Fix by converting to g_new().
Functions can't fail anymore, so make them return void. Caller
ignored the value anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dabe3143e0f36a78a65c0dce1e298e31df1be6c4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 19:50:13 2013 +0200
kvm: add stub for kvm_irqchip_update_msi_route
ppc64 build needs this stub to build with virtio enabled.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ec12ec734da08a945a05e2b0f89d2639048c771
Merge: 58a864d... c3a2980...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:54:41 2013 -0600
Merge remote-tracking branch 'afaerber/memory-ioport' into staging
* afaerber/memory-ioport:
acpi_piix4: Do not use old_portio-style callbacks
xen_platform: Do not use old_portio-style callbacks
hw/dma.c: Fix conversion of ioport_register* to MemoryRegion
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 58a864dec23f9052a5379a3ce81566e065c14afa
Merge: b9f84ac... ecbe251...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:53:10 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
configure: try pkg-config for curses
qom: Make object_resolve_path_component() path argument const
Add libcacard/trace/generated-tracers.c to .gitignore
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9f84ac0fa81315bf4efa8db64f0705273b7499a
Merge: c94bf1c... 7191bf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:56 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
block: Fix how mirror_run() frees its buffer
win32-aio: Fix how win32_aio_process_completion() frees buffer
scsi-disk: qemu_vfree(NULL) is fine, simplify
w32: Make qemu_vfree() accept NULL like the POSIX implementation
sheepdog: clean up sd_aio_setup()
sheepdog: multiplex the rw FD to flush cache
block: clear dirty bitmap when discarding
ide: issue discard asynchronously but serialize the pieces
ide: fix TRIM with empty range entry
block: make discard asynchronous
raw: support discard on block devices
raw-posix: remember whether discard failed
raw-posix: support discard on more filesystems
block: fix initialization in bdrv_io_limits_enable()
qcow2: Fix segfault on zero-length write
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c94bf1c107df6623e54d48b90fb439a1281a36de
Merge: bdb8872c... e175bce...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:39 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Use switch in check_hw_breakpoints()
target-i386: Avoid goto in hw_breakpoint_insert()
target-i386: Introduce hw_{local,global}_breakpoint_enabled()
target-i386: Define DR7 bit field constants
target-i386: Move kvm_check_features_against_host() check to realize
time
target-i386: cpu_x86_register() consolidate freeing resources
target-i386: Move setting defaults out of cpu_x86_parse_featurestr()
target-i386: check/enforce: Check all feature words
target-i386/cpu.c: Add feature name array for ext4_features
target-i386: kvm_check_features_against_host(): Use feature_word_info
target-i386/cpu: Introduce FeatureWord typedefs
target-i386: Disable kvm_mmu by default
kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code
exec: Return CPUState from qemu_get_cpu()
xen: Simplify halting of first CPU
kvm: Pass CPUState to kvm_init_vcpu()
cpu: Move cpu_index field to CPUState
cpu: Move numa_node field to CPUState
target-mips: Clean up mips_cpu_map_tc() documentation
cpu: Move nr_{cores,threads} fields to CPUState
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bdb8872cc14684557db4bef112b02eeb68f4410b
Merge: 2fd3402... 08bb4a7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:10 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
* afaerber-or/prep-up:
pc87312: Avoid define conflict on mingw32
pc87312: Replace register_ioport_*() with MemoryRegion
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fd3402d9242dec06bb1ca5680c1ddf421932b08
Merge: dd25f93... 01b87f6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:50:04 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013-2' into staging
* mdroth/qga-pull-1-14-2013-2:
qga: add missing commas in json docs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dd25f938203eac51ef2ec9f4a545645ff49bda70
Merge: 5e72179... 7868181...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:49:48 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013' into staging
* mdroth/qga-pull-1-14-2013:
qemu-ga: Handle errors uniformely in ga_channel_open()
qemu-ga: Plug fd leak on ga_channel_open() error paths
qemu-ga: Plug fd leak on ga_channel_listen_accept() error path
qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path
qemu-ga: Drop pointless lseek() from ga_open_pidfile()
qemu-ga: Document intentional fall through in channel_event_cb()
qemu-ga: add ga_open_logfile()
qemu-ga: ga_open_pidfile(): use qemu_open()
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e72179b8f16e05a33fea5f63856aa16dbb29048
Merge: cf7c3f0... 7e7b7cb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:49:18 2013 -0600
Merge remote-tracking branch 'sstabellini/xen-2013-01-14' into staging
* sstabellini/xen-2013-01-14:
xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove
BLKIF_OP_WRITE_BARRIER
xen_disk: add persistent grant support to xen_disk backend
xen_disk: fix memory leak
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3a29809e4d8924a0cfffd7f1af3c2f3c46f5889
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Jan 4 22:29:41 2013 +0100
acpi_piix4: Do not use old_portio-style callbacks
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Used HWADDR_PRIx for hwaddr PIIX4_DPRINTF()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a652efa1b55ea671125696aabf8f1bd6e9a97f7
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Jan 4 22:29:40 2013 +0100
xen_platform: Do not use old_portio-style callbacks
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ecd584b836937eb45f7e7e487595002486a09cb7
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Dec 19 12:09:21 2012 +0000
hw/dma.c: Fix conversion of ioport_register* to MemoryRegion
The commit 582299336879504353e60c7937fbc70fea93f3da introduced a 1-shift
for
some offset in DMA emulation.
Before the previous commit, which converted ioport_register_* to
MemoryRegion, the DMA controller registered 8 ioports with the following
formula:
base + ((8 + i) << d->shift) where 0 <= i < 8
When an IO occured within a Memory Region, DMA callback receives an
offset relative to the start address. Here the start address is:
base + (8 << d->shift).
The offset should be: (i << d->shift). After the shift is reverted, the
offsets are 0..7 not 1..8.
Fixes LP#1089996.
Reported-by: Andreas Gustafsson <gson@xxxxxxxx>
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ecbe251fa0eb4905c4a82c887e37057243b9fbad
Author: Vadim Evard <v.e.evard@xxxxxxxxx>
Date: Tue Jan 15 16:17:24 2013 +0400
configure: try pkg-config for curses
Static linkikng against ncurses may require explicit -ltinfo.
In case -lcurses and -lncurses both didn't work give pkg-config a
chance.
Fixes #1094786 for me.
Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7191bf311ea9722cdcc3b2229788eff69d896bd0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:29:10 2013 +0100
block: Fix how mirror_run() frees its buffer
It allocates with qemu_blockalign(), therefore it must free with
qemu_vfree(), not g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7479acdbce2ecf6cbd0b7d72b81608c8fc51b1ae
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:39 2013 +0100
win32-aio: Fix how win32_aio_process_completion() frees buffer
win32_aio_submit() allocates it with qemu_blockalign(), therefore it
must be freed with qemu_vfree(), not g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db4c34c3df5107ec4900ff07f70c540479a7eeca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:38 2013 +0100
scsi-disk: qemu_vfree(NULL) is fine, simplify
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94c8ff3a01d9bd1005f066a0ee3fe43c842a43b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:37 2013 +0100
w32: Make qemu_vfree() accept NULL like the POSIX implementation
On POSIX, qemu_vfree() accepts NULL, because it's merely wrapper
around free(). As far as I can tell, the Windows implementation
doesn't. Breeds bugs that bite only under Windows.
Make the Windows implementation behave like the POSIX implementation.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f700f8e3463b5d61383121fa6f79564d6132b10d
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Jan 14 14:01:03 2013 +0800
sheepdog: clean up sd_aio_setup()
The last two parameters of sd_aio_setup() are never used, so remove them.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 477830727821e4bc337f4ac1fd222ffe0b900e1a
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Jan 15 16:28:55 2013 +0800
sheepdog: multiplex the rw FD to flush cache
This will reduce sockfds connected to the sheep server to one, which
simply the
future hacks.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e84b4832180db2aa6187b6b971054bc3ca68be0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jan 15 02:55:10 2013 +0100
qom: Make object_resolve_path_component() path argument const
A usage with a hardcoded partial path such as
object_resolve_path_component(obj, "foo")
is totally valid but currently leads to a compilation error. Fix this.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a87eec766d99c33fc49ecc6dbce40f304168ac3f
Author: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Date: Tue Jan 8 01:28:02 2013 +0200
Add libcacard/trace/generated-tracers.c to .gitignore
Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df702c9b4c1d049b12d7cf2f2ee607ff32f766cb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:58 2013 +0100
block: clear dirty bitmap when discarding
Note that resetting bits in the dirty bitmap is done _before_ actually
processing the request. Writes, instead, set bits after the request
is completed.
This way, when there are concurrent write and discard requests, the
outcome will always be that the blocks are marked dirty. This scenario
should never happen, but it is safer to do it this way.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 501378c3af16e8e83a9dd500c11e594f4d1dbe79
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:57 2013 +0100
ide: issue discard asynchronously but serialize the pieces
Now that discard can take a long time, make it asynchronous.
Each LBA range entry is processed separately because discard
can be an expensive operation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 80bc2e8d807939bee89d1a5ca0dbe89946d39ed1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:56 2013 +0100
ide: fix TRIM with empty range entry
ATA-ACS-3 says "If the two byte range length is zero, then the LBA
Range Entry shall be discarded as padding." iovecs are used as if
they are linearized, so it is incorrect to discard the rest of
this iovec.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8238010b265886249f9f3d45e890788319b7736e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:55 2013 +0100
block: make discard asynchronous
This is easy with the thread pool, because we can use s->is_xfs and
s->has_discard from the worker function.
QEMU has a widespread assumption that each I/O operation writes less
than 2^32 bytes. This patch doesn't fix it throughout of course,
but it starts correcting struct RawPosixAIOData so that there is
no regression with respect to the synchronous discard implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fcd9d4555252c47a337357dfce0806e5dde99d96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:54 2013 +0100
raw: support discard on block devices
Block devices use a ioctl instead of fallocate, so add a separate
implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c85191e5c9e14d65cc4281ef3b31f480227aa6dd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:53 2013 +0100
raw-posix: remember whether discard failed
Avoid sending system calls repeatedly if they shall fail. This
does not apply to XFS: if the filesystem-specific ioctl fails,
something weird is happening.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d4fa43e648f3b169e7ab5dd4e21312e510805d7
Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Date: Mon Jan 14 16:26:52 2013 +0100
raw-posix: support discard on more filesystems
Linux 2.6.38 introduced the filesystem independent interface to
deallocate part of a file. As of Linux 3.7, btrfs, ext4, ocfs2,
tmpfs and xfs support it.
Even though the system calls here are in practice issued on Linux,
the code is structured to allow plugging in alternatives for other Unix
variants. EOPNOTSUPP is used unconditionally in this patch, but it is
supported in both OpenBSD and Mac OS X since forever (see for example
http://lists.debian.org/debian-glibc/2006/02/msg00337.html).
Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 029d091e4975af60ff9622717af19c5910f2f4e9
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Fri Jan 11 13:29:55 2013 +0100
block: fix initialization in bdrv_io_limits_enable()
bdrv_io_limits_enable() starts a new slice, but does not set io_base
correctly for that slice.
Here is how io_base is used:
bytes_base = bs->nr_bytes[is_write] - bs->io_base.bytes[is_write];
bytes_res = (unsigned) nb_sectors * BDRV_SECTOR_SIZE;
if (bytes_base + bytes_res <= bytes_limit) {
/* no wait */
} else {
/* operation needs to be throttled */
}
As a result, any I/O operations that are triggered between now and
bs->slice_end are incorrectly limited. If 10 MB of data has been
written since the VM was started, QEMU thinks that 10 MB of data has
been written in this slice. This leads to a I/O lockup in the guest.
We fix this by delaying the start of a new slice to the next
call of bdrv_exceed_io_limits().
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e175bce587936bf479889881488821ea8d61c89c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 13:39:56 2013 +0800
target-i386: Use switch in check_hw_breakpoints()
Replace an if statement using magic numbers for breakpoint type with a
more explicit switch statement. This is to aid readability.
Change the return type and force_dr6_update argument type to bool.
While at it, fix Coding Style issues (missing braces).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cc21a180b9ea9204e99ad5c58604cb458e572a9
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 08:24:02 2013 +0100
target-i386: Avoid goto in hw_breakpoint_insert()
"Go To Statement Considered Harmful" -- E. Dijkstra
To avoid an unnecessary goto within the switch statement, move
watchpoint insertion out of the switch statement. Improves readability.
While at it, fix Coding Style issues (missing braces, indentation).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5902564ac983d67d7d898356971698b50b8f0b91
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 08:01:07 2013 +0100
target-i386: Introduce hw_{local,global}_breakpoint_enabled()
hw_breakpoint_enabled() returned a bit field indicating whether a local
breakpoint and/or global breakpoint was enabled. Avoid this number magic
by using explicit boolean helper functions hw_local_breakpoint_enabled()
and hw_global_breakpoint_enabled(), to aid readability.
Reuse them for the hw_breakpoint_enabled() implementation and change
its return type to bool.
While at it, fix Coding Style issues (missing braces).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 428065ce50643a56bff043501809b62b035f0b17
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 13:39:55 2013 +0800
target-i386: Define DR7 bit field constants
Implicit use of dr7 bit field is a little hard to understand,
so define constants for them and use them consistently.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d2497c3552e19a60e7a75d20976471ecb2a8e2b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 14 17:31:31 2013 +0100
qcow2: Fix segfault on zero-length write
One of the recent refactoring patches (commit f50f88b9) didn't take care
to initialise l2meta properly, so with zero-length writes, which don't
even enter the write loop, qemu just segfaulted.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:17 2013 +0100
target-i386: Move kvm_check_features_against_host() check to realize time
kvm_check_features_against_host() should be called when features can't
be changed, and when features are converted to properties it would be
possible to change them until realize time, so correct way is to call
kvm_check_features_against_host() in x86_cpu_realize().
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fa2db3c494270c1892365eef370d06a4559619e0
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:16 2013 +0100
target-i386: cpu_x86_register() consolidate freeing resources
Freeing resources in one place would require setting 'error'
to not NULL, so add some more error reporting before jumping to
exit branch.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 077c68c32897ea02b88c9a919627d93d3878ef15
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:15 2013 +0100
target-i386: Move setting defaults out of cpu_x86_parse_featurestr()
No functional change, needed for simplifying conversion to properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 07ca59450c9a0c5df65665ce46aa8487af59a1dd
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:48 2013 -0200
target-i386: check/enforce: Check all feature words
This adds the following feature words to the list of flags to be checked
by kvm_check_features_against_host():
- cpuid_7_0_ebx_features
- ext4_features
- kvm_features
- svm_features
This will ensure the "enforce" flag works as it should: it won't allow
QEMU to be started unless every flag that was requested by the user or
defined in the CPU model is supported by the host.
This patch may cause existing configurations where "enforce" wasn't
preventing QEMU from being started to abort QEMU. But that's exactly the
point of this patch: if a flag was not supported by the host and QEMU
wasn't aborting, it was a bug in the "enforce" code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89e49c8bea9ec81d2cca25f81f5e15c3a1d8b69c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:47 2013 -0200
target-i386/cpu.c: Add feature name array for ext4_features
Feature names were taken from the X86_FEATURE_* constants in the Linux
kernel code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bffd67b01d96d3a59bf74a2d38f00e59d4b9c774
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:46 2013 -0200
target-i386: kvm_check_features_against_host(): Use feature_word_info
Instead of carrying the CPUID leaf/register and feature name array on
the model_features_t struct, move that information into
feature_word_info so it can be reused by other functions.
The goal is to eventually kill model_features_t entirely, but to do that
we have to either convert x86_def_t.features to an array or use
offsetof() inside FeatureWordInfo (to replace the pointers inside
model_features_t). So by now just move most of the model_features_t
fields to FeatureWordInfo except for the two pointers to local
arguments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ef5787627c07d053c2628fe720e814561fbfbe3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:45 2013 -0200
target-i386/cpu: Introduce FeatureWord typedefs
This introduces a FeatureWord enum, FeatureWordInfo struct (with
generation information about a feature word), and a FeatureWordArray
typedef, and changes add_flagname_to_bitmaps() code and
cpu_x86_parse_featurestr() to use the new typedefs instead of separate
variables for each feature word.
This will help us keep the code at kvm_check_features_against_host(),
cpu_x86_parse_featurestr() and add_flagname_to_bitmaps() sane while
adding new feature name arrays.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6a4784ce6b95b013a13504ead9ab62975faf6eff
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:44 2013 -0200
target-i386: Disable kvm_mmu by default
KVM_CAP_PV_MMU capability reporting was removed from the kernel since
v2.6.33 (see commit a68a6a7282373), and was completely removed from the
kernel since v3.3 (see commit fb92045843). It doesn't make sense to keep
it enabled by default, as it would cause unnecessary hassle when using
the "enforce" flag.
This disables kvm_mmu on all machine-types. With this fix, the possible
scenarios when migrating from QEMU <= 1.3 to QEMU 1.4 are:
------------+----------+----------------------------------------------------
src kernel | dst kern.| Result
------------+----------+----------------------------------------------------
>= 2.6.33 | any | kvm_mmu was already disabled and will stay
disabled
<= 2.6.32 | >= 3.3 | correct live migration is impossible
<= 2.6.32 | <= 3.2 | kvm_mmu will be disabled on next guest reboot *
------------+----------+----------------------------------------------------
* If they are running kernel <= 2.6.32 and want kvm_mmu to be kept
enabled on guest reboot, they can explicitly add +kvm_mmu to the QEMU
command-line. Using 2.6.33 and higher, it is not possible to enable
kvm_mmu explicitly anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ca5892328a40bfa9c24c847441761c4729ae3f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:42 2013 -0200
kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code
Any KVM-specific code that use these constants must check if
kvm_enabled() is true before using them.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38d8f5c84e7c02f2523005dddc31939ca18232dd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 19:47:15 2012 +0100
exec: Return CPUState from qemu_get_cpu()
Move the declaration to qemu/cpu.h and add documentation.
The implementation still depends on CPUArchState for CPU iteration.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a1e40b5091bcff5f8ea3fe9963eaa8e76b16389
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 19:39:30 2012 +0100
xen: Simplify halting of first CPU
Use the global first_cpu variable to halt the CPU rather than using a
local first_cpu initialized from qemu_get_cpu(0).
This will allow to change qemu_get_cpu() return type to CPUState
despite use of the CPU_COMMON halted field in the reset handler.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 504134d27f15aa94f6d2b5c45eaa804a8dfb5a4c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 06:38:45 2012 +0100
kvm: Pass CPUState to kvm_init_vcpu()
CPUArchState is no longer needed, and it thereby no longer depends on
NEED_CPU_H.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 55e5c2850293547203874098f7cec148ffd12dfa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 06:18:02 2012 +0100
cpu: Move cpu_index field to CPUState
Note that target-alpha accesses this field from TCG, now using a
negative offset. Therefore the field is placed last in CPUState.
Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change.
Move common parts of mips cpu_state_reset() to mips_cpu_reset().
Acked-by: Richard Henderson <rth@xxxxxxxxxxx> (for alpha)
[AF: Rebased onto ppc CPU subclasses and openpic changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b1ed8dc40635d60dd95c04658989af63542fcbf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 04:22:03 2012 +0100
cpu: Move numa_node field to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66afd1ad5a7a25e573577ac45979d8a3213796c3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 20:36:30 2012 +0100
target-mips: Clean up mips_cpu_map_tc() documentation
This function will be touched again soon, so a good understanding of env
vs. other helps. Adopt gtk-doc style.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
commit ce3960ebe57d0601a3628b64adac6fd23c901f70
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 03:27:07 2012 +0100
cpu: Move nr_{cores,threads} fields to CPUState
To facilitate the field movements, pass MIPSCPU to malta_mips_config();
avoid that for mips_cpu_map_tc() since callers only access MIPS Thread
Contexts, inside TCG helpers.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08bb4a7c9bb9c12746bce9b3a1f031dd4192afc1
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 13 08:12:45 2013 +0000
pc87312: Avoid define conflict on mingw32
Mingw32 headers define FAR, causing this warning:
/src/qemu/hw/pc87312.c:38:0: warning: "FAR" redefined [enabled by default]
In file included from
/usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windows.h:48:0,
from /src/qemu/include/sysemu/os-win32.h:29,
from /src/qemu/include/qemu-common.h:46,
from /src/qemu/include/exec/ioport.h:27,
from /src/qemu/hw/isa.h:6,
from /src/qemu/hw/pc87312.h:28,
from /src/qemu/hw/pc87312.c:26:
/usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windef.h:34:0:
note: this is the location of the previous definition
Avoid the warning by expanding the macros.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 328c24a97b9cde975bc8b12caa4c6c067fff83c6
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Fri Jan 11 21:11:20 2013 +0100
pc87312: Replace register_ioport_*() with MemoryRegion
Prepare an instance_init function for the MemoryRegion init.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
commit cf7c3f0cb5a7129f57fa9e69d410d6a05031988c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Jan 14 22:52:02 2013 +0100
virtio-9p: fix compilation error.
Fix the compilation error introduced by msg new field.
CC hw/9pfs/virtio-9p.o
In file included from
/home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/9pfs/virtio-9p.c:17:0:
/home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/virtio-pci.h:30:16:
erreur: field â??msgâ?? has incomplete type
make: *** [hw/9pfs/virtio-9p.o] Erreur 1
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
commit 01b87f6d217ed05d5948562f74f5cf7b511a9c6c
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Wed Jan 2 09:15:11 2013 -0700
qga: add missing commas in json docs
* qga/qapi-schema.json: Use valid JSON.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b8bec49cccbf8e34558371df60e7e64419c4fde9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 13:20:13 2013 -0600
dataplane: fix build breakage on set_guest_notifiers()
virtio_pci_set_guest_notifiers() now takes an additional argument to
specify the number of virtqueues to assign a guest notifier for. This
causes a build breakage for CONFIG_VIRTIO_BLK_DATA_PLANE builds:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function
â??virtio_blk_data_plane_startâ??:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:451:47: error: too
few arguments to function â??s->vdev->binding->set_guest_notifiersâ??
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function
â??virtio_blk_data_plane_stopâ??:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:511:5: error: too few
arguments to function â??s->vdev->binding->set_guest_notifiersâ??
make[1]: *** [hw/dataplane/virtio-blk.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [subdir-x86_64-softmmu] Error 2
Fix this by passing 1 as the number of virtqueues to assign notifiers
for.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 53510bfc1256711365cd2a841649f3ad5a79790f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 13:20:12 2013 -0600
virtio-pci: build for uninitialized return value in vq_vector_unmask
Fixes the following:
/home/mdroth/w/qemu2.git/hw/virtio-pci.c: In function
â??kvm_virtio_pci_vector_unmaskâ??:
/home/mdroth/w/qemu2.git/hw/virtio-pci.c:673:12: error: â??retâ?? may be
used uninitialized in this function [-Werror=uninitialized]
cc1: all warnings being treated as errors
make: *** [hw/virtio-pci.o] Error 1
make: *** Waiting for unfinished jobs....
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be657dea4bec90031cc66a111a772299bfca7fa5
Author: Alberto Garcia <agarcia@xxxxxxxxxx>
Date: Fri Jan 11 18:25:30 2013 +0100
Add GE IP-Octal 232 IndustryPack emulation
The GE IP-Octal 232 is an IndustryPack module that implements eight
RS-232 serial ports, each one of which can be redirected to a
character device in the host.
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9c16fa79bfa0f8d7a937ee58fa45f2bd0995fa53
Author: Alberto Garcia <agarcia@xxxxxxxxxx>
Date: Fri Jan 11 18:25:29 2013 +0100
Add TEWS TPCI200 IndustryPack emulation
The TPCI200 is a PCI board that supports up to 4 IndustryPack modules.
A new bus type called 'IndustryPack' has been created so any
compatible module can be attached to this board.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7e7b7cba16faa7b721b822fa9ed8bebafa35700f
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jan 14 18:30:30 2013 +0000
xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove
BLKIF_OP_WRITE_BARRIER
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 9e496d7458bb01b717afe22db10a724db57d53fd
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
Date: Mon Jan 14 18:28:19 2013 +0000
xen_disk: add persistent grant support to xen_disk backend
This protocol extension reuses the same set of grant pages for all
transactions between the front/back drivers, avoiding expensive tlb
flushes, grant table lock contention and switches between userspace
and kernel space. The full description of the protocol can be found in
the public blkif.h header.
http://xenbits.xen.org/gitweb/?p=xen.git;a=blob_plain;f=xen/include/public/io/blkif.h
Speed improvement with 15 guests performing I/O is ~450%.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 282c6a2f292705f823554447ca0b7731b6f81a97
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
Date: Mon Jan 14 18:26:53 2013 +0000
xen_disk: fix memory leak
On ioreq_release the full ioreq was memset to 0, loosing all the data
and memory allocations inside the QEMUIOVector, which leads to a
memory leak. Create a new function to specifically reset ioreq.
Reported-by: Maik Wessler <maik.wessler@xxxxxxxxx>
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 7868181f98ff1fbcd7f7034153eec5e03615d023
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:02 2013 +0100
qemu-ga: Handle errors uniformely in ga_channel_open()
We detect errors in several places. One reports with g_error(), which
calls abort(), the others report with g_critical(). Three of them
exit(), three return false.
Always report with g_critical(), and return false.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
*minor fix-up of commit msg
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d4f4a3efdf0a71621ae5351176f5f15b522d0026
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:01 2013 +0100
qemu-ga: Plug fd leak on ga_channel_open() error paths
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 32c16620dda8ba16f6d6bcd20efefdec8975af77
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:00 2013 +0100
qemu-ga: Plug fd leak on ga_channel_listen_accept() error path
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 03ac10f166b790cb66804e512abec6d002cd8481
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:59 2013 +0100
qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path
Spotted by Coverity. Also document why we keep it open on success.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5d27f9ce3de424207883d84352d76150e9707394
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:58 2013 +0100
qemu-ga: Drop pointless lseek() from ga_open_pidfile()
After open(), the file offset is already zero, and neither lockf() nor
ftruncate() change it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f5b795787864ddde1104a4f7c061dcb0e58e45c0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:57 2013 +0100
qemu-ga: Document intentional fall through in channel_event_cb()
For clarity, and to hush up Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9e92f6d46233171898fc7d0487a04e5b78e44234
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Jan 8 19:26:26 2013 -0200
qemu-ga: add ga_open_logfile()
This function sets O_CLOEXEC on the log file fd so that it isn't
leaked to executed processes.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Amos Kong <akong@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6ffacc5d3ddf2e3227aae2a8cc5c15627265f727
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Jan 8 19:26:25 2013 -0200
qemu-ga: ga_open_pidfile(): use qemu_open()
This ensures that O_CLOEXEC is passed to open(), this way the
pid file fd is not leaked to executed processes.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Amos Kong <akong@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a507db9599599ce33007b524276a6ea88e521662
Merge: b55160c... f9943cd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:41 2013 -0600
Merge remote-tracking branch 'kraxel/pixman.v6' into staging
* kraxel/pixman.v6:
pixman: pass extra cflags and ldflags
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b55160c3d9b38c5d481ceccc30e397430f26fe92
Merge: 167eb81... 0360784...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:29 2013 -0600
Merge remote-tracking branch 'kraxel/usb.76' into staging
* kraxel/usb.76:
usb-host: Initialize dev->port the obviously safe way
usb-host: Drop superfluous null test from usb_host_auto_scan()
ehci: Assert state machine is sane w.r.t. EHCIQueue
xhci: nuke transfe5rs on detach
xhci: call xhci_detach_slot on root port detach too
xhci: create xhci_detach_slot helper function
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 167eb811d006b95e9a26d4a0e681907ae77f5ce4
Merge: a69f221... 08688af...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:08 2013 -0600
Merge remote-tracking branch 'spice/spice.v67' into staging
* spice/spice.v67:
qxl: Don't drop client capability bits
qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a69f221ef840cde778080ffaa78e0d9dd27b87c7
Merge: da758bd... 00e4d0d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:26:57 2013 -0600
Merge remote-tracking branch 'kraxel/testdev.2' into staging
* kraxel/testdev.2:
pc-testdev: use typedefs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da758bd7a3156fc96a630684ad9e4b4a03064306
Merge: 8e9a868... de0161c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:26:26 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
dataplane: handle misaligned virtio-blk requests
dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
block: make qiov_is_aligned() public
raw-posix: fix bdrv_aio_ioctl
sheepdog: implement direct write semantics
block: do not probe zero-sized disks
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e9a8681dd6066e4f79ba85b59deedb4d3d11aa2
Merge: 7adef3b... feb9a2a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:23:50 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio
This further optimizes MSIX handling in virtio-pci.
Also included is pci cleanup by Paolo, and pci device
assignment fix by Alex.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
* mst/tags/for_anthony:
pci-assign: Enable MSIX on device to match guest
pci: use constants for devices under the 1B36 device ID, document them
ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
virtio-9p: use symbolic constant, add to pci-ids.txt
reorganize pci-ids.txt
docs: move pci-ids.txt to docs/specs/
vhost: backend masking support
vhost: set started flag while start is in progress
virtio-net: set/clear vhost_started in reverse order
virtio: backend virtqueue notifier masking
virtio-pci: cache msix messages
kvm: add stub for update msi route
msix: add api to access msix message
virtio: don't waste irqfds on control vqs
commit 7adef3bc5a195d483987469fc80fbbe4a25a5b9d
Merge: 0054ee8... aaf821f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:23:25 2013 -0600
Merge remote-tracking branch 'bonzini/stub' into staging
* bonzini/stub: (27 commits)
build: improve quiet output for .stp rules
build: fold trace-obj-y into libqemuutil.a
build: some simplifications for "trace/Makefile.objs"
build: remove coroutine-obj-y
build: move version-obj-y to the generic LINK rule
build: move base QAPI files to libqemuutil.a
build: move QAPI definitions for QEMU out of qapi-obj-y
build: consolidate multiple variables into universal-obj-y
build: move qobject files to qobject/ and libqemuutil.a
build: move libqemuutil.a components to util/
build: move files away from tools-obj-y, common-obj-y, user-obj-y
build: move util-obj-y to libqemuutil.a
build: rename oslib-obj-y to util-obj-y
libcacard: list oslib-obj-y file explicitly
libcacard: link vscclient to dynamic library
libcacard: rewrite Makefile in non-recursive style
libcacard: add list of exported symbols
libcacard: use per-target variable definitions
libcacard: prepare to use -y trick in the Makefile
libcacard: require libtool to build it
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0054ee8c4168e7e298915baaa1a88d717e541bd3
Merge: 63fb259... 5178234...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:22:31 2013 -0600
Merge remote-tracking branch 'qmp/queue/qmp' into staging
* qmp/queue/qmp:
monitor: assert monitor_puts()'s loop invariant
target-i386: fix bits 39:32 of the final physical address when using 4M
page
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f9943cd58f8a053172aa701d79da512ccd10d758
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 10:15:53 2013 +0100
pixman: pass extra cflags and ldflags
Store --extra-cflags and --extra-ldflags in config-host.mak,
then pass them on to the pixman configure script.
Cc: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 036078475427f2562c8e505f6bb44dbf5d8cbd95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:25 2013 +0100
usb-host: Initialize dev->port the obviously safe way
Coverity worries the strcpy() could overrun the destination. It
can't, because the source always points to usb_host_scan()'s auto
port[], which has the same size. Use pstrcpy() anyway, to hush the
checker.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4663530898a15944706d51b523d1f1545e32e46a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:24 2013 +0100
usb-host: Drop superfluous null test from usb_host_auto_scan()
Coverity points out that port is later passed to usb_host_open(),
which dereferences it. It actually can't be null: it always points to
usb_host_scan()'s auto port[]. Drop the superfluous port == NULL
test.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc8d2b65c7e5f44172bf3ec300407522162e9a7f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:23 2013 +0100
ehci: Assert state machine is sane w.r.t. EHCIQueue
Coverity worries the EHCIQueue pointer could be null when we pass it
to functions that reference it. The state machine ensures it can't be
null then. Assert that, to hush the checker.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de0161c0d553f2aaf6118ca87f978a5e6b4a9732
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:29 2013 +0100
dataplane: handle misaligned virtio-blk requests
O_DIRECT on Linux has alignment requirements on I/O buffers and
misaligned requests result in -EINVAL. The Linux virtio_blk guest
driver usually submits aligned requests so I forgot to handle misaligned
requests.
It turns out that virtio-win guest drivers submit misaligned requests.
Handle them using a bounce buffer that meets alignment requirements.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b5ef1aab945c1b04740574064b13eb93f1572587
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:28 2013 +0100
dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
Extract code for read/write command processing into do_rdwr_cmd(). This
brings together pieces that are spread across process_request().
The real motivation is to set the stage for handling misaligned
requests, which the next patch tackles.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c53b1c5114bdf7fc945cbf11436da61789ca2267
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:27 2013 +0100
block: make qiov_is_aligned() public
The qiov_is_aligned() function checks whether a QEMUIOVector meets a
BlockDriverState's alignment requirements. This is needed by
virtio-blk-data-plane so:
1. Move the function from block/raw-posix.c to block/block.c.
2. Make it public in block/block.h.
3. Rename to bdrv_qiov_is_aligned().
4. Change return type from int to bool.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b608c8dc02c78ee95455a0989bdf1b41c768b2ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:28:35 2013 +0100
raw-posix: fix bdrv_aio_ioctl
When the raw-posix aio=thread code was moved from posix-aio-compat.c
to block/raw-posix.c, there was an unintended change to the ioctl code.
The code used to return the ioctl command, which posix_aio_read()
would later morph into a zero. This hack is not necessary anymore,
and in fact breaks scsi-generic (which expects a zero return code).
Remove it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Thu Jan 10 16:03:47 2013 +0800
sheepdog: implement direct write semantics
Sheepdog supports both writeback/writethrough write but has not yet
supported
DIRECTIO semantics which bypass the cache completely even if Sheepdog
daemon is
set up with cache enabled.
Suppose cache is enabled on Sheepdog daemon size, the new cache control is
cache=writeback # enable the writeback semantics for write
cache=writethrough # enable the emulated writethrough semantics for write
cache=directsync # disable cache competely
Guest WCE toggling on the run time to toggle writeback/writethrough is
also
supported.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8e895599a1beb250ebca00e83b5fae6a828d2171
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:39:27 2013 +0100
block: do not probe zero-sized disks
A blank CD or DVD is visible as a zero-sized disks. Probing such
disks will lead to an EIO and a failure to start the VM. Treating
them as raw is a better solution.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0cb41e2c5ebc1f8fa180a1726981416fee9abad1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 14:06:51 2013 +0100
xhci: nuke transfe5rs on detach
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f3dcf6384cc94b6a688f3a366c20642f36247b68
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 13:06:57 2013 +0100
xhci: call xhci_detach_slot on root port detach too
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8125184178de05d762e39ee07f44ada6006e87bd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 13:06:16 2013 +0100
xhci: create xhci_detach_slot helper function
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 00e4d0dbad9f2d449f021394addec9dfae5678bf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 7 12:59:43 2013 +0100
pc-testdev: use typedefs
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 08688af04dc1137ac2f420b35c235183926b4a23
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:24:50 2013 +0100
qxl: Don't drop client capability bits
interface_set_client_capabilities() copies only the first few bits,
because it falls into a Classic C trap: you can declare a parameter
uint8_t caps[58], but the resulting parameter type is uint8_t *, not
uint8_t[58]. In particular, sizeof(caps) is sizeof(uint8_t *), not
the intended sizeof(uint8_t[58]).
Harmless, because the bits aren't used, yet. Broken in commit
c10018d6. Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc5f92e5db6f303e73387278e32f8669f0abf0e5
Author: Markus Armbruster <armbru@xxxxxxxxxxxx>
Date: Thu Jan 10 14:24:49 2013 +0100
qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check
The pointer arithmetic there is safe, but ugly. Coverity grouses
about it. However, the actual comparison is off by one: <= end
instead of < end. Fix by rewriting the check in a cleaner way.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aaf821fde35f2ac5cf509ebd83a7d40704ea8d48
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 10:45:20 2012 +0100
build: improve quiet output for .stp rules
Mention the directory in which the .stp file is being generated.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ff667e2e9b86fdc36e3b143483526f4c4fe80049
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:45:20 2012 +0100
build: fold trace-obj-y into libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e848f482bce75f4d9cbac9f495fa45e51d08c9a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 24 14:06:27 2012 +0100
build: some simplifications for "trace/Makefile.objs"
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84ecb7a6b9b2b14adadc1ff21c854d9e5f42be56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 17:38:14 2012 +0100
build: remove coroutine-obj-y
Just fold it into block-obj-y.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bf0842b71f581e0c60f4bbfbebf37ff999a22b88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 17:36:35 2012 +0100
build: move version-obj-y to the generic LINK rule
There is no reason for it to be in block-obj-y, in particular.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 576d55068d210c7316297af4194a10f729efe742
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:27:51 2012 +0100
build: move base QAPI files to libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 59cacde8cdf2e85de9b1aff63e456e89a8a5c59d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:03:18 2012 +0100
build: move QAPI definitions for QEMU out of qapi-obj-y
There is no reason why for example qemu-ga should include all the
definitions for the QEMU monitor. However, there are a few
that are needed (qapi_free_SocketAddress, qapi_free_InetSocketAddress,
ErrorClass_lookup). These should be moved to a separate "core"
.json schema that goes into libqemuutil.a.
For now, make this clearer by moving the qapi-*.o definitions out
of libqemuutil.a. Once the above refactoring is done, qga-obj-y
should not include anymore qapi-types.o and qapi-visit.o.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9444e9e640d56039253d885ba88c3fa818a00149
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:24:49 2012 +0100
build: consolidate multiple variables into universal-obj-y
The directory descent mechanism, and a less-flat tree both helped
in making some *-obj-y definitions very short. Many of these
often end up in universal-obj-y, and used to be separate only
because of libuser (which is now part of history...).
Consolidate these variables in a single one.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a372823a14461c454feaa86373bd672fd518847a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 16:10:26 2012 +0100
build: move qobject files to qobject/ and libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit baacf04799ace72a9c735dd9306a1ceaf305e7cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:58:44 2012 +0100
build: move libqemuutil.a components to util/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f157ebba2de4a6225679e13cc1ce01ff5d147c76
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 16:09:36 2012 +0100
build: move files away from tools-obj-y, common-obj-y, user-obj-y
Split them between libqemuutil.a and, for those used by qemu-img/io/nbd,
block-obj-y.
Static libraries ensure that binaries such as qemu-ga do not include
unused modules.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8a090705b4485eaed602632963cc53acaf3ba12e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:40:20 2012 +0100
build: move util-obj-y to libqemuutil.a
Use a static library to eliminate repetition in the linking rules.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4b42e6ebc2442f5ae9885d62171599cc682b4f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 14:34:31 2012 +0100
build: rename oslib-obj-y to util-obj-y
This prepares the creation of libqemuutil.a in the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d9dc91ace82d1c4ca6f2c6f10a9cfcacf988662e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:24:27 2012 +0100
libcacard: list oslib-obj-y file explicitly
We will grow the list of files in the next patches, but libcacard
should remain slim.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 26ca8c06d2e4fb43903c9d5e8ebe27792ffc461b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 08:42:03 2012 +0100
libcacard: link vscclient to dynamic library
There is no reason for vscclient to duplicate the code. rules.mak
takes care of invoking libtool to do the link.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 992aeb8eb53e5846a957cf333f2e1ec8cb6e0c04
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 08:34:49 2012 +0100
libcacard: rewrite Makefile in non-recursive style
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5018f1cc9f9e2b68c12671e83cd1e3c6a12ec2b5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:19:51 2012 +0100
libcacard: add list of exported symbols
Do not export internal QEMU symbols.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit af0c8e9f3c75a23905b97be6f6e530acaa7bedc3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:13:10 2012 +0100
libcacard: use per-target variable definitions
This lets the libcacard Makefile use more rules.mak magic.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 591eca679e6d1165c9c69896dcecc8087bb1619c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:16:33 2012 +0100
libcacard: prepare to use -y trick in the Makefile
Rename variables to follow the conventions of the rest of the build
systems.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6fc675b25d32f018870e202eb4b2a6eb509f88b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 20:40:35 2012 +0100
libcacard: require libtool to build it
Do not fail at build time, instead just disable the library if libtool
is not present.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e832341bde5448a6a1392ea903a553497a13763b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Nov 28 11:16:26 2012 +0200
libcacard: fix missing symbol in libcacard.so
Before patch:
$ make libcacard.la
$ nm ./libcacard/.libs/libcacard.so.0.0.0 | grep " U " | \
egrep -v "(g_)|(GLIBC)|(SECMOD)|(PK11)|(CERT)|(NSS)|(PORT)|(PR)"
U error_set
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afd347ab3874858bfb609f22032c34ecd5f37d08
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 20:39:36 2012 +0100
build: remove CONFIG_SMARTCARD
The passthru smartcard does not have the shared library dependency, build
it unconditionally.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2c13ec50e763621889f2b2e6b5d587f692e58f3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:23:18 2012 +0100
build: move dtrace rules to rules.mak
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2165588274332e9f08891d5b22d56f4c0b7dc437
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:57:45 2012 +0100
build: support linking with libtool objects/libraries
This patch moves the complication of using libtool to the generic
rules.mak file.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f141ccfa15096a7610b9973ae5ebae6562625a8d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:32:53 2012 +0100
build: make libtool verbose when making with V=1
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5708fc665524c5218076388504d078441fb3940c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 26 15:36:40 2012 +0100
stubs: fully replace qemu-tool.c and qemu-user.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4d4545743f55b37d37535f7b32456b82c97efeb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 26 16:03:42 2012 +0100
qemu-option: move standard option definitions out of qemu-config.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 63fb2590839162afdf14d7c0ee02d460766c0956
Merge: 02e079c... 314e229...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:47:07 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Fix SWI (SVC) instruction in M profile.
target-arm: use type_register() instead of type_register_static()
commit 02e079c79cdb7ac8180f92edaed4b942ca6b7c71
Merge: 837d1f9... 61993a6...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:47:02 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (31 commits)
PPC: linux-user: Calculate context pointer explicitly
target-ppc: Error out for -cpu host on unknown PVR
target-ppc: Slim conversion of model definitions to QOM subclasses
PPC: Bring EPR support closer to reality
PPC: KVM: set has-idle in guest device tree
kvm: Update kernel headers
openpic: fix CTPR and de-assertion of interrupts
openpic: move IACK to its own function
openpic: IRQ_check: search the queue a word at a time
openpic: fix sense and priority bits
openpic: add some bounds checking for IRQ numbers
openpic: use standard bitmap operations
Revert "openpic: Accelerate pending irq search"
openpic: always call IRQ_check from IRQ_get_next
openpic/fsl: critical interrupts ignore mask before v4.1
openpic: make ctpr signed
openpic: rework critical interrupt support
openpic: make register names correspond better with hw docs
ppc/booke: fix crit/mcheck/debug exceptions
openpic: lower interrupt when reading the MSI register
...
commit 837d1f978224f7e7b020c71ffb10b291952cc596
Merge: a6fc23e... 2b35e93...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:46:57 2013 +0000
Merge branch 's390-reorg' of git://repo.or.cz/qemu/rth
* 's390-reorg' of git://repo.or.cz/qemu/rth: (149 commits)
target-s390: Claim maintainership
target-s390: Use noreturn for exception and load_psw
target-s390: Use TCG_CALL_NO_WG for misc helpers
target-s390: Use TCG_CALL_NO_WG for integer helpers
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
target-s390: Use TCG_CALL_NO_WG for memory helpers
target-s390: Perform COMPARE AND SWAP inline
target-s390: Optimize get_address
target-s390: Optimize ADDC/SUBB
target-s390: Optimize ADDU/SUBU CC testing
target-s390: Tidy comparisons
target-s390: Optmize emitting discards
target-s390: Optimize XC
target-s390: Fix cpu_clone_regs
target-s390: Implement LOAD/SET FP AND SIGNAL
target-s390: Implement SET ROUNDING MODE
target-s390: Use uint64_to_float128
target-s390: Implement LCDFR
target-s390: Check insn operand specifications
target-s390: Implement CPSDR
...
commit a6fc23e5dc76660792c8363d058adf22caa82945
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Fri Jan 11 16:41:43 2013 +0000
hw/pc.c: add ULL suffix in ioport80_read and ioportF0_read return value
The commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d broke the compilation
for i386. ULL need to be specify for uint64_t value.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 163fa4b09db3e36c612e178fd11b3af4247cbd56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:05:06 2013 -0800
tcg-i386: use LEA for 3-operand 64-bit addition
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 092bb3068801bd6bfc90fcced2661e77bb811764
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 9 10:17:08 2013 +0100
pixman: fix warning
Cc: afaerber@xxxxxxx
Cc: agraf@xxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cc6e3ca93c1b40fba579e8724dd06ca9f0507b31
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 9 10:17:07 2013 +0100
gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to
CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3dd46c78525a30e98c68a44e1c3797d9fcfb0462
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 5 10:10:27 2013 +0000
optionrom: build with discrete CPP and AS steps
Build option ROM .S files with separate preprocessor and
assembler steps because the C compiler could be unsuitable.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b6d9439c0d221b477c479a41a46797eee228bf88
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 5 14:48:22 2013 +0000
slirp: remove unused field tt
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 338d80dd353c50b6397723ffecf7e5bc3ba1651d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:33 2013 -0800
user: Consider symbolic links as possible directories
Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number
of syscalls performed during user emulation startup, but failed to
consider the use of symbolic links in creating directory structures.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d2565875ec5a483ddcdf3cec821830bd1f082cf6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:32 2013 -0800
alpha-linux-user: Fix sigaction
Unconditional bswap replaced by __get_user/__put_user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 658f2dc970996d547a641b5685e384ebe6f2648e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:31 2013 -0800
linux-user: Rewrite __get_user/__put_user with __builtin_choose_expr
The previous formuation with multiple assignments to __typeof(*hptr) falls
down when hptr is qualified const. E.g. with const struct S *p, p->f is
also qualified const.
With this formulation, there's no assignment to any local variable.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c732a52d3e3b7ed42d7daa94ba40a83408cd6f22
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:30 2013 -0800
bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_p
We've now optimized the ld/st versions; reuse that for the "legacy"
versions. Always use inlines so that we get the type checking that
we expect.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 612d590ebc6cef179cf5f7823522237e622ab430
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:29 2013 -0800
bswap: Rewrite all ld<type>_<endian>_p functions
Use the new host endian unaligned access functions instead of
open coding byte-by-byte references. Remove assembly special
cases for i386 and ppc -- we've now exposed the operation to
the compiler sufficiently for these to be optimized automatically.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7db2145a6826b14efceb8dd64bfe6ad8647072eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:28 2013 -0800
bswap: Add host endian unaligned access functions
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cdfe2851c6c33c133bd90c2643cb0486c0f5b325
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:27 2013 -0800
bswap: Tidy base definitions of bswapN
Move the bswap_N -> bswapN wrappers inside CONFIG_BYTESWAP_H.
Change the ultimate fallback defintions from macros to inline functions.
The proper types recieved by the function arguments means we can remove
unnecessary casts, making the code more readable.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fedb88bd32d331131d77a9b567d12e682fd102ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:26 2013 -0800
fdt: Use bswapN instead of bswap_N
Fixes the libfdt enabled build for hosts that have <machine/bswap.h>.
The code at the beginning of qemu/bswap.h is attempting to standardize
on bswapN. In the case of CONFIG_MACHINE_BSWAP_H, this is all we get.
In the case of CONFIG_BYTESWAP_H, we get bswap_N from the system header
and then wrap these with inline functions to get bswapN.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 314e2296dc945e286b605563d7b6e6b269d29816
Author: Alex_Rozenman@xxxxxxxxxx <Alex_Rozenman@xxxxxxxxxx>
Date: Fri Jan 11 15:21:22 2013 +0000
target-arm: Fix SWI (SVC) instruction in M profile.
When do_interrupt_v7m is called with EXCP_SWI, the PC already
points to the next instruction. Don't modify it here.
Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 918fd0839eeafc83bd4984364321a947d29041fe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 11 15:21:22 2013 +0000
target-arm: use type_register() instead of type_register_static()
The type_register_static() interface is documented as:
type_register_static:
@info: The #TypeInfo of the new type.
@info and all of the strings it points to should exist for the life
time that the type is registered.
But cpu_register() uses a stack variable for the 'info' argument, so it
has to use type_register() instead of type_register_static().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fedf2de31023b4ee71a4e578db013976243a8143
Merge: e2848a7... c02e1ea...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:43:18 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
hw/pc.c: Fix converting of ioport_register* to MemoryRegion
Replace remaining gmtime, localtime by gmtime_r, localtime_r
savevm: Remove MinGW specific code which is no longer needed
qga/channel-posix.c: Explicitly include string.h
configure: Fix comment (copy+paste bug)
readline: avoid memcpy() of overlapping regions
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e2848a78b0a6715f94623bdf43ef74d3d08cfe4d
Merge: 80ec243... 7e973bb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:36:52 2013 -0600
Merge remote-tracking branch 'kraxel/q35.1' into staging
* kraxel/q35.1:
Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too
pc: rename machine types
q35: document chipset devices
q35: add ich9 intel hda controller
Conflicts:
hw/intel-hda.c
aliguori: resolve conflict with static const change from Andreas.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 80ec24328607937690d0d620b99e8c24ab29e8f5
Merge: 47a150a... 63e3555...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:23:16 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
* afaerber-or/prep-up:
prep: Use pc87312 device instead of collection of random ISA devices
prep: Add pc87312 Super I/O emulation
prep: Include devices for ppc64 as well
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Jan 9 18:10:22 2013 +0000
hw/pc.c: Fix converting of ioport_register* to MemoryRegion
The commit 258711 introduced MemoryRegion to replace ioport_region*
for ioport 80h and F0h.
A MemoryRegion needs to have both read and write callback otherwise a
segfault
will occur when an access is made.
The previous behaviour of this both ioport is to return
0xffffffffffffffff.
So keep this behaviour.
Reported-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Tested-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eb7ff6fb0bddb33991fa44586ac8e2e02019dc97
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 7 23:08:13 2013 +0100
Replace remaining gmtime, localtime by gmtime_r, localtime_r
This allows removing of MinGW specific code and improves
reentrancy for POSIX hosts.
[Removed unused ret variable in qemu_get_timedate() to fix warning:
vl.c: In function â??qemu_get_timedateâ??:
vl.c:451:16: error: variable â??retâ?? set but not used
[-Werror=unused-but-set-variable]
-- Stefan Hajnoczi]
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 68b891ec3937aa2e18eed5a403b1d9fd9b875084
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 7 22:20:27 2013 +0100
savevm: Remove MinGW specific code which is no longer needed
QEMU provides a portable function qemu_gettimeofday instead of
gettimeofday and also an implementation of localtime_r for MinGW.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1d57db193f2eb619ccc9a60e76120379b757d9f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 7 17:29:55 2013 +0000
qga/channel-posix.c: Explicitly include string.h
Explicitly include string.h to avoid warnings under MacOS X/clang
about implicit declarations of strerror() and strlen().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75f13596452692fb7375ee558e9fb37cd649e603
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 5 12:17:38 2013 +0100
configure: Fix comment (copy+paste bug)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e973bb2e17f929f47376a3872f7ccdff25a51ab
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jan 8 19:52:20 2013 +0100
Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too
The WARNING message from commit f7e4dd6c made me notice.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94dec5948aeb240c7e324ce9ecffeb3e066c1b69
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 08:53:13 2013 +0100
pc: rename machine types
Starting with release 1.4 we have a fully functional q35 machine type,
i.e. "qemu -M q35" JustWorks[tm]. Update machine type names to reflect
that:
* pc-1.4 becomes pc-i440fx-1.4
* q35-next becomes pc-q35-1.4
The pc-1.3 (+older) names are maintained for compatibility reasons.
For the same reason the "pc" and "q35" aliases are kept. pc-piix-1.4
continues to be the default machine type, again for compatibility
reasons.
Also updated the description (shown by "qemu -M ?") with host bridge
name, south bridge name and chipset release year.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d9f7b51cc62ec23ac72e3338165a2f3007631a2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 09:38:19 2013 +0100
q35: document chipset devices
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8b07eaa110df41b027ee62cbf3549cc3e48ec147
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 09:25:16 2013 +0100
q35: add ich9 intel hda controller
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 47a150a4bbb06e45ef439a8222e9f46a7c4cca3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:49:08 2013 +0100
virtio-scsi: abort in-flight I/O when the device is reset
When the device is reset, the SCSI bus should also be reset so
that in-flight I/O is cancelled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0508c3664290baad379f6513c92cae6e5aac95b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:49:07 2013 +0100
qdev: add qbus_reset_all
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c43a6f05d5ef3c9484bd2be9d4e818d58e62016
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 10 16:19:07 2013 +0100
Make all static TypeInfos const
Since 39bffca2030950ef6efe57c2fac8327a45ae1015 (qdev: register all
types natively through QEMU Object Model), TypeInfo as used in
the common, non-iterative pattern is no longer amended with information
and should therefore be const.
Fix the documented QOM examples:
sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
Since frequently the wrong examples are being copied by contributors of
new devices, fix all types in the tree:
sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
This also avoids to piggy-back these changes onto real functional
changes or other refactorings.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 63e3555e80c31776285accbb4d0c14ae91c457dc
Merge: 52a71bf... a6308bc...
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 10 21:52:28 2013 +0100
Merge branch 'master' of git://git.qemu.org/qemu into prep-up
Conflicts:
hw/Makefile.objs
hw/ppc_prep.c
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit a6308bc2224db238e72c570482717b68246a7ce0
Merge: 8757c09... 067f069...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 10 13:26:31 2013 -0600
Merge remote-tracking branch 'kraxel/build.1' into staging
* kraxel/build.1:
m48t59-test: don't touch watchdog
rtc-test: skip year-2038 overflow check in case time_t is 32bit only
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8757c09f15dcd455f81b4faed73da0d35d7e6b53
Merge: 5e3bc73... 8fc94e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 10 13:26:12 2013 -0600
Merge remote-tracking branch 'awilliam/tags/qemu-1.4-vfio-20130109.0'
into staging
vfio-pci: Fixes for qemu 1.4 & stable
* awilliam/tags/qemu-1.4-vfio-20130109.0:
vfio-pci: Loosen sanity checks to allow future features
vfio-pci: Make host MSI-X enable track guest
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 517823449ebe8e3758b86c441cc74968b68e6491
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:10:22 2013 +0100
monitor: assert monitor_puts()'s loop invariant
Chiefly to hush up Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 067f0691277325dcce8401534d2ffc6164305021
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 17:12:18 2013 +0100
m48t59-test: don't touch watchdog
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4e45deedf57c6cc7113b588282d0c16f89298aff
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 10:37:50 2013 +0100
rtc-test: skip year-2038 overflow check in case time_t is 32bit only
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6ad53bdf5830bfc30221aee8d4ced9a9eaf8fe03
Author: Wen Congyang <wency@xxxxxxxxxxxxxx>
Date: Sat Dec 22 15:13:54 2012 +0800
target-i386: fix bits 39:32 of the final physical address when using 4M
page
((pde & 0x1fe000) << 19) is the bits 39:32 of the final physical address,
and
we shouldn't use unit32_t to calculate it. Convert the type to hwaddr to
fix
this problem.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Jan 8 16:30:56 2013 +0100
Check return values from g_poll and select
The current implementation of os_host_main_loop_wait() on Windows,
returns 1 only when a g_poll() event occurs because the return value of
select() is overridden. This is wrong as we may skip a socket event, as
shown in this example:
1. select() returns 0
2. g_poll() returns 1 (socket event occurs)
3. os_host_main_loop_wait() returns 1
4. qemu_iohandler_poll() sees no socket event because select() has
return before the event occurs
5. select() returns 1
6. g_poll() returns 0 (g_poll overrides select's return value)
7. os_host_main_loop_wait() returns 0
8. qemu_iohandler_poll() doesn't check for socket events because the
return value of os_host_main_loop_wait() is zero.
9. goto 5
This patch use one variable for each of these return values, so we don't
miss a select() event anymore.
Also move the call to select() after g_poll(), this will improve latency
as we don't have to go through two os_host_main_loop_wait() calls to
detect a socket event.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7cd5da7eef152a533c5774effd2e7bbfa5976c86
Merge: 4b274b1... 96610da...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 9 09:55:51 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-8-2013' into staging
* mdroth/qga-pull-1-8-2013:
qemu-ga: sample fsfreeze hooks
qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw
qemu-ga: guest_suspend(): improve error reporting
qemu-ga: bios_supports_mode(): improve error reporting
qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() +
error_set()
qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set()
qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set()
qemu-ga: build_fs_mount_list(): take an Error argument
qemu-ga: qmp_guest_shutdown(): improve error reporting
qemu-ga: qmp_guest_file_*: improve error reporting
qemu-ga: qmp_guest_file_close(): fix fclose() error check
qemu-ga: guest_file_handle_find(): take an Error argument
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit feb9a2ab4b0260d8d680a7ffd25063dafc7ec628
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Jan 6 21:30:31 2013 -0700
pci-assign: Enable MSIX on device to match guest
When a guest enables MSIX on a device we evaluate the MSIX vector
table, typically find no unmasked vectors and don't switch the device
to MSIX mode. This generally works fine and the device will be
switched once the guest enables and therefore unmasks a vector.
Unfortunately some drivers enable MSIX, then use interfaces to send
commands between VF & PF or PF & firmware that act based on the host
state of the device. These therefore may break when MSIX is managed
lazily. This change re-enables the previous test used to enable MSIX
(see qemu-kvm a6b402c9), which basically guesses whether a vector
will be used based on the data field of the vector table.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c03a2542fbe1a275fe3dd7ebd48a6a283b249ed
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:38 2012 +0100
pci: use constants for devices under the 1B36 device ID, document them
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 96610da210697a1f33669d8bec0cb7b944d3a516
Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Date: Wed Dec 12 12:55:57 2012 +0900
qemu-ga: sample fsfreeze hooks
Adds sample hook scripts for --fsfreeze-hook option of qemu-ga.
- fsfreeze-hook : execute scripts in fsfreeze-hook.d/
- fsfreeze-hook.d/mysql-flush.sh.sample : quiesce MySQL before snapshot
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ec0f694c11e8e0958d727e40e0759ab99e5908d6
Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Date: Wed Dec 12 12:55:55 2012 +0900
qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw
To use the online disk snapshot for online-backup, application-level
consistency of the snapshot image is required. However, currently the
guest agent can provide only filesystem-level consistency, and the
snapshot may contain dirty data, for example, incomplete transactions.
This patch provides the opportunity to quiesce applications before
snapshot is taken.
If --fsfreeze-hook option is specified, the hook is executed with
"freeze" argument before the filesystem is frozen by fsfreeze-freeze
command. As for fsfreeze-thaw command, the hook is executed with "thaw"
argument after the filesystem is thawed.
This patch depends on patchset to improve error reporting by Luiz
Capitulino:
http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03016.html
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
*clarified usage in help output
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7b3760879bf323a0d9654a5158d5b3ed51882505
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:04 2012 -0200
qemu-ga: guest_suspend(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR today.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6b26e837a40a7bed14080fb9029ad6c22409f8b3
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:03 2012 -0200
qemu-ga: bios_supports_mode(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR today.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 878a0ae0ab3eb8428626e67995c9efad8eb1ba80
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:02 2012 -0200
qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() +
error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 071673b09021b60eab268653c6bcfba92eea7603
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:01 2012 -0200
qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 617fbbc13219d26dd71d100d83d617ec8acf5e2d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:00 2012 -0200
qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 261551d1cc3a830e9623971dffa8033b216f1d63
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Nov 29 15:29:11 2012 -0200
qemu-ga: build_fs_mount_list(): take an Error argument
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d220a6dfea10655efe70d37748a3c23cf0a00647
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:58 2012 -0200
qemu-ga: qmp_guest_shutdown(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR. Also, adds ga_wait_child() as
a future commit will use it too.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit db3edb665549979b44e0376ab9e859f58b89b503
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:57 2012 -0200
qemu-ga: qmp_guest_file_*: improve error reporting
Use error_setg_errno() when possible with an improved error description.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3ac4b7c51e3ba181a86983ba2601a595ed8f3b1d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:56 2012 -0200
qemu-ga: qmp_guest_file_close(): fix fclose() error check
fclose() returns EOF on error.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a9de6d01df3153b2ac0cade11e26a66d596d7166
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:55 2012 -0200
qemu-ga: guest_file_handle_find(): take an Error argument
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*Fixed missing space character in error message
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce
Merge: 560c30b... ebe8b9c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 15:15:57 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Explicitly set vendor for each built-in cpudef
target-i386: Sanitize AMD's ext2_features at realize time
target-i386: Filter out unsupported features at realize time
qemu-common.h: Make qemu_init_vcpu() stub static inline
target-i386: check/enforce: Eliminate check_feat field
target-i386: check/enforce: Check SVM flag support as well
target-i386: check/enforce: Check all CPUID.80000001H.EDX bits
target-i386: check/enforce: Do not ignore "hypervisor" flag
target-i386: check/enforce: Fix CPUID leaf numbers on error messages
target-i386: kvm: Enable all supported KVM features for -cpu host
target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features
cpu: Change parent type to Device
qdev: Don't assume existence of parent bus on unparenting
qdev: Include qdev code into *-user, too
libqemustub: sysbus_get_default() stub
libqemustub: vmstate register/unregister stubs
libqemustub: Add qemu_[un]register_reset() stubs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fc94e5a8046e349e07976f9bcaffbcd5833f3a2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Jan 8 14:10:03 2013 -0700
vfio-pci: Loosen sanity checks to allow future features
VFIO_PCI_NUM_REGIONS and VFIO_PCI_NUM_IRQS should never have been
used in this manner as it locks a specific kernel implementation.
Future features may introduce new regions or interrupt entries
(VGA may add legacy ranges, AER might add an IRQ for error
signalling). Fix this before it gets us into trouble.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit b0223e29afdc88cc262a764026296414396cd129
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Jan 8 14:09:03 2013 -0700
vfio-pci: Make host MSI-X enable track guest
Guests typically enable MSI-X with all of the vectors in the MSI-X
vector table masked. Only when the vector is enabled does the vector
get unmasked, resulting in a vector_use callback. These two points,
enable and unmask, correspond to pci_enable_msix() and request_irq()
for Linux guests. Some drivers rely on VF/PF or PF/fw communication
channels that expect the physical state of the device to match the
guest visible state of the device. They don't appreciate lazily
enabling MSI-X on the physical device.
To solve this, enable MSI-X with a single vector when the MSI-X
capability is enabled and immediate disable the vector. This leaves
the physical device in exactly the same state between host and guest.
Furthermore, the brief gap where we enable vector 0, it fires into
userspace, not KVM, so the guest doesn't get spurious interrupts.
Ideally we could call VFIO_DEVICE_SET_IRQS with the right parameters
to enable MSI-X with zero vectors, but this will currently return an
error as the Linux MSI-X interfaces do not allow it.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit ebe8b9c6eb6e425d44805288b6b5dabd69368f46
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:18 2012 +0100
target-i386: Explicitly set vendor for each built-in cpudef
Since cpudef config is not supported anymore and all remaining sources
now always set x86_def_t.vendor[123] fields, remove setting default
vendor to simplify future re-factoring.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b15cd9e7a1ab0827f4d01c4be77eb41f195073f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:17 2012 +0100
target-i386: Sanitize AMD's ext2_features at realize time
When CPU properties are implemented, ext2_features may change
between object_new(CPU) and cpu_realize_fn(). Sanitizing
ext2_features for AMD based CPU at realize() time will keep
current behavior after CPU features are converted to properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4586f157757acc5c8edcc954289c7aa51661235c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:16 2012 +0100
target-i386: Filter out unsupported features at realize time
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 75a192aa68e7801ab8465b3345ac74d6d3cdceca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:44:08 2013 +0100
qemu-common.h: Make qemu_init_vcpu() stub static inline
Turn the *-user macro into a no-op inline function to avoid
unused-variable warnings and band-aiding #ifdef'ery.
This allows to drop an #ifdef for alpha and avoids more for unicore32
and other upcoming trivial realizefn implementations.
Suggested-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit e8beac00bd26a60e788ab336f38bc12a95b20f0d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:10 2013 -0200
target-i386: check/enforce: Eliminate check_feat field
Now that all entries have check_feat=~0 in
kvm_check_features_against_host(), we can eliminate check_feat entirely
and make the code check all bits.
This patch shouldn't introduce any behavior change, as check_feat is set
to ~0 on all entries.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 396d2cfccdc1a46a8c66d9d9baaa59071a553b1c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:09 2013 -0200
target-i386: check/enforce: Check SVM flag support as well
When nested SVM is supported, the kernel returns the SVM flag on
GET_SUPPORTED_CPUID[1], so we can check the SVM flag safely in
kvm_check_features_against_host().
I don't know why the original code ignored the SVM flag. Maybe it was
because kvm_cpu_fill_host() used the CPUID instruction directly instead
of GET_SUPPORTED_CPUID
[1] Older kernels (before v2.6.37) returned the SVM flag even if nested
SVM was _not_ supported. So the only cases where this patch should
change behavior is when SVM is being requested by the user or the
CPU model, but not supported by the host. And on these cases we
really want QEMU to abort if the "enforce" option is set.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 227146259e8deb14b7b30e7718e61512e0f524a9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:08 2013 -0200
target-i386: check/enforce: Check all CPUID.80000001H.EDX bits
I have no idea why PPRO_FEATURES was being ignored on the check of the
CPUID.80000001H.EDX bits. I believe it was a mistake, and it was
supposed to be ~(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) or just
~CPUID_EXT2_AMD_ALIASES, because some time ago kvm_cpu_fill_host() used
the CPUID instruction directly (instead of
kvm_arch_get_supported_cpuid()).
But now kvm_cpu_fill_host() uses kvm_arch_get_supported_cpuid(), and
kvm_arch_get_supported_cpuid() returns all supported bits for
CPUID.80000001H.EDX, even the AMD aliases (that are explicitly copied
from CPUID.01H.EDX), so we can make the code check/enforce all the
CPUID.80000001H.EDX bits.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54830ff84df5d1fb182e91bf40e3d7c66c2559a4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:07 2013 -0200
target-i386: check/enforce: Do not ignore "hypervisor" flag
We don't need any hack to ignore CPUID_EXT_HYPERVISOR anymore, because
kvm_arch_get_supported_cpuid() now sets CPUID_EXT_HYPERVISOR properly.
So, this shouldn't introduce any behavior change, but it makes the code
simpler.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8b4beddc6bead9d7c85fe690b62f2621574eb195
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:06 2013 -0200
target-i386: check/enforce: Fix CPUID leaf numbers on error messages
The -cpu check/enforce warnings are printing incorrect information about
the
missing flags. There are no feature flags on CPUID leaves 0 and
0x80000000, but
there were references to 0 and 0x80000000 in the table at
kvm_check_features_against_host().
This changes the model_features_t struct to contain the register number as
well, so the error messages print the correct CPUID leaf+register
information,
instead of wrong CPUID leaf numbers.
This also changes the format of the error messages, so they follow the
"CPUID.<leaf>.<register>.<name> [bit <offset>]" convention used in Intel
documentation. Example output:
$ qemu-system-x86_64 -machine pc-1.0,accel=kvm -cpu
Opteron_G4,+ia64,enforce
warning: host doesn't support requested feature: CPUID.01H:EDX.ia64
[bit 30]
warning: host doesn't support requested feature: CPUID.01H:ECX.xsave
[bit 26]
warning: host doesn't support requested feature: CPUID.01H:ECX.avx
[bit 28]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.misalignsse [bit 7]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.3dnowprefetch [bit 8]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.xop [bit 11]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.fma4 [bit 16]
Unable to find x86 CPU definition
$
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd004beff8db09b5790b1bb19fad3974e112f007
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:05 2013 -0200
target-i386: kvm: Enable all supported KVM features for -cpu host
When using -cpu host, we don't need to use the kvm_default_features
variable, as the user is explicitly asking QEMU to enable all feature
supported by the host.
This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to
initialize the kvm_features field, so we get all host KVM features
enabled.
This will also allow us to properly check/enforce KVM features inside
kvm_check_features_against_host() later. For example, we will be able to
make this:
$ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce
refuse to start if kvm_pv_eoi is not supported by the host (after we fix
kvm_check_features_against_host() to check KVM flags as well).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fcb93c036053ca8a5cfc02ca72b1b80dd2062423
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:04 2013 -0200
target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features
The existing -cpu host code simply sets every bit inside svm_features
(initializing it to -1), and that makes it impossible to make the
enforce/check options work properly when the user asks for SVM features
explicitly in the command-line.
So, instead of initializing svm_features to -1, use GET_SUPPORTED_CPUID
to fill only the bits that are supported by the host (just like we do
for all other CPUID feature words inside kvm_cpu_fill_host()).
This will keep the existing behavior (as filter_features_for_kvm()
already uses GET_SUPPORTED_CPUID to filter svm_features), but will allow
us to properly check for KVM features inside
kvm_check_features_against_host() later.
For example, we will be able to make this:
$ qemu-system-x86_64 -cpu ...,+pfthreshold,enforce
refuse to start if the SVM "pfthreshold" feature is not supported by the
host (after we fix kvm_check_features_against_host() to check SVM flags
as well).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 961f839570f01d60a0b224248e6e56fc1d675793
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:13 2012 -0200
cpu: Change parent type to Device
This finally makes the CPU class a subclass of the Device class,
allowing us to start using DeviceState properties on CPU subclasses.
It has no_user=1, as creating CPUs using -device doesn't work yet.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d5b24d042072fb4d13e7027f6e52e44390a9896
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 4 18:13:00 2013 +0100
qdev: Don't assume existence of parent bus on unparenting
Commit 667d22d1ae59da46b4c1fbd094ca61145f19b8c3 (qdev: move bus removal
to object_unparent) made the assumption that at unparenting time
parent_bus is not NULL. This assumption is unjustified since
object_unparent() may well be called directly after object_initialize(),
without any qdev_set_parent_bus().
This did not cause any issues yet because qdev_[try_]create() does call
qdev_set_parent_bus(), falling back to SysBus if unsupplied.
While at it, ensure that this new function uses the device_ prefix and
make the name more neutral in light of this semantic change.
Reported-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 507066f8a9610c0088df19ce7b3e436f43165ec1
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:12 2012 -0200
qdev: Include qdev code into *-user, too
The code depends on some functions from qemu-option.o, so add
qemu-option.o to universal-obj-y to make sure it's included.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 906709a151344805df4ff493a7d3a81fbce46fbe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:09 2012 -0200
libqemustub: sysbus_get_default() stub
The stub will be used on cases where sysbus.c is not compiled in (e.g.
*-user).
Note that code that uses NULL as the bus with qdev{_try,}_create()
implicitly uses sysbus_get_default() as the bus, and will still require
sysbus.c to be compiled in.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 083a5f8731bb3c7e0eae99dcdb1209027d770aaf
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:08 2012 -0200
libqemustub: vmstate register/unregister stubs
Add vmstate stub functions, so that qdev.o can be used without savevm.o
when vmstate support is not necessary (i.e. by *-user).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 41c6bcd912d1a2461313040566077b86e48eea31
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:07 2012 -0200
libqemustub: Add qemu_[un]register_reset() stubs
This will be useful for code that don't call qemu_devices_reset() (e.g.
*-user). If qemu_devices_reset() is never called, it means we don't need
to keep track of the reset handler list.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8ef62a9b746f2d7078d97c7ee5d1c7a31b42d5d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:37 2012 +0100
ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
Due to disagreement on a name that is generic enough for hw/pci/pci.h,
the symbolic constants are placed in the .c files.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 13744bd0a054bc7a4b1432cc8facd23d41a9806e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:36 2012 +0100
virtio-9p: use symbolic constant, add to pci-ids.txt
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4ea9296c0738e7885e27f463bb6bcbab32b6ef7a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:35 2012 +0100
reorganize pci-ids.txt
Some devices were missing, and we're using two PCI vendor ids.
This patch only adds devices that are already documented in hw/pci/pci.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 28e7a650691fac674b3aa8697353e27f9c165b1b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:34 2012 +0100
docs: move pci-ids.txt to docs/specs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 560c30b1db1d40fe45c5104185367c4de43399d3
Merge: c3dd94b... 89eb147...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 10:36:20 2013 -0600
Merge remote-tracking branch 'kraxel/usb.75' into staging
* kraxel/usb.75: (32 commits)
uhci: stop using portio lists
usbredir: Add support for buffered bulk input (v2)
exynos4210: Add EHCI support
usb/ehci: Add SysBus EHCI device for Exynos4210
usb/ehci: Move capsbase and opregbase into SysBus EHCI class
usb/ehci: Clean up SysBus and PCI EHCI split
xhci: call set-address with dummy usbpacket
usb-redir: Add debugging to bufpq save / restore
usbredir: Add usbredir_init_endpoints() helper
usbredir: Verify we have 32 bits bulk length cap when redirecting to
xhci
usbredir: Add ep_stopped USBDevice method
usbredir: Add USBEP2I and I2USBEP helper macros
usbredir: Add an usbredir_stop_ep helper function
usb: Add an usb_device_ep_stopped USBDevice method
usb: Fix usb_ep_find_packet_by_id
hid: Change idle handling to use a timer
uhci: Maximize how many frames we catch up when behind
uhci: Limit amount of frames processed in one go
uhci: Add a QH_VALID define
uhci: Fix pending interrupts getting lost on migration
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3dd94b129e222e00a4ed00689e11afdd85c740f
Merge: da1a4ce... 83f58e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 10:36:13 2013 -0600
Merge remote-tracking branch 'stefanha/net' into staging
* stefanha/net:
rtl8139: preserve link state across device reset
e1000: no need auto-negotiation if link was down
net: clean up network at qemu process termination
e1000: Discard oversized packets based on SBP|LPE
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da1a4cef9e125a866f4ef9a39b342c2913727f70
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Jan 2 05:08:48 2013 +0100
target-mips: Fix helper and tests for dot/cross-dot product instructions
Helper function for dpa_w_ph, dpax_w_ph, dps_w_ph and dpsx_w_ph
incorrectly
defines halfword vector elements as unsigned values. This results in wrong
output which is not triggered in the tests as they also follow this logic.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e320d05a531ed4991a87cfe0a4c280563fb88788
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 19:44:31 2013 +0100
target-mips: Replace macros by inline functions
The macros RESTORE_ROUNDING_MODE and RESTORE_FLUSH_MODE silently used
variable env from their callers. Using inline functions with env passed
as a function argument is more transparent.
This modification was proposed by Peter Maydell.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e1a4019cf13ddf2441496c2e613faba3a891cddf
Author: Eric Johnson <ericj@xxxxxxxx>
Date: Mon Jan 7 22:26:44 2013 -0800
target-mips: Allow DSP access to be disabled once enabled.
Clear the DSP hflags at the start of compute_hflags. Otherwise access
is not properly disabled once enabled.
Signed-off-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 314992b1a48a5a2a0f2b14195f959ad2c3f5b3ff
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 3 14:17:18 2013 +0100
linux-user: fix mips 32-on-64 prealloc case
MIPS only supports 31 bits of virtual address space for user space, so
let's
make sure we stay within that limit with our preallocated memory block.
This fixes the MIPS user space targets when executed without command line
option.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 89eb147c2cfd2c797d3662aa2f55254441f0595a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 3 12:29:41 2013 +0100
uhci: stop using portio lists
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b2d1fe67d09d2b6c7da647fbcea6ca0148c206d3
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Dec 19 15:08:33 2012 +0100
usbredir: Add support for buffered bulk input (v2)
Buffered bulk mode is intended for bulk *input* endpoints, where the data
is
of a streaming nature (not part of a command-response protocol). These
endpoints' input buffer may overflow if data is not read quickly enough.
So in buffered bulk mode the usb-host takes care of the submitting and
re-submitting of bulk transfers.
Buffered bulk mode is necessary for reliable operation with the bulk in
endpoints of usb to serial convertors. Unfortunatelty buffered bulk input
mode will only work with certain devices, therefor this patch also adds a
usb-id table to enable it for devices which need it, while leaving the
bulk ep handling for other devices unmodified.
Note that the bumping of the required usbredir from 0.5.3 to 0.6 does
not mean that we will now need a newer usbredir release then qemu-1.3,
.pc files reporting 0.5.3 have only ever existed in usbredir builds
directly
from git, so qemu-1.3 needs the 0.6 release too.
Changes in v2:
-Split of quirk handling into quirks.c
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
commit 7682e8580722f951559f372ba3d2b6170fdbe734
Author: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx>
Date: Mon Jan 7 15:38:39 2013 -0500
readline: avoid memcpy() of overlapping regions
memcpy() for overlapping regions is undefined behavior; use memmove()
instead in readline_hist_add().
[Keep tab characters since surrounding code still uses them -- Stefan]
Signed-off-by: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f56a12475ff1b8aa61210d08522c3c8aaf0e2648
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 24 17:37:01 2012 +0200
vhost: backend masking support
Support backend guest notifier masking in vhost-net:
create eventfd at device init, when masked,
make vhost use that as eventfd instead of
sending an interrupt.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 24f4fe345c1b80bab1ee18573914123d8028a9e6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 25 17:41:07 2012 +0200
vhost: set started flag while start is in progress
This makes it possible to use started flag for sanity checking
of callbacks that happen during start/stop.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1830b80ff29dbd9d149f7f3cb565a690b5d5994c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 25 17:38:59 2012 +0200
virtio-net: set/clear vhost_started in reverse order
As vhost started is cleared last thing on stop,
set it first things on start. This makes it
possible to use vhost_started while start is in
progress which is used by follow-up patches.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f1d0f15a6d46bd47e7658e44a004c8898c8cb91e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 24 17:35:27 2012 +0200
virtio: backend virtqueue notifier masking
some backends (notably vhost) can mask events
at their source in a way that is more efficient
than masking through kvm.
Specifically
- masking in kvm uses rcu write side so it has high latency
- in kvm on unmask we always send an interrupt
masking at source does not have these issues.
Add such support in virtio.h and use in virtio-pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 774345f981854b026e24aeb0833311183a8e8067
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:27:54 2012 +0200
virtio-pci: cache msix messages
Some guests mask a vector then unmask without changing it.
Store vectors to avoid kvm system calls in this case.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 078bbb504031dc89616d4b67adcf2ce884cb880b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:47:46 2012 +0200
kvm: add stub for update msi route
Will be used by virtio-pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c93bfa9c9f00104b5c7e837da697f9506cb70c7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:27:02 2012 +0200
msix: add api to access msix message
Will be used by virtio pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2d620f593d9395abd9aa453f8ae0861a51d674d8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Dec 20 14:28:58 2012 +0200
virtio: don't waste irqfds on control vqs
Pass nvqs to set_guest_notifiers. This makes it possible to
save on irqfds by not allocating one for the control vq
for virtio-net.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61993a67128095946ed5df51c3c20748182d8efc
Author: Samuel Seay <lightningth@xxxxxxxxx>
Date: Fri Jan 4 14:35:48 2013 +0000
PPC: linux-user: Calculate context pointer explicitly
Peter Maydell recommended the change to be more proper. The result was
tested
and shows coming up with the same proper value.
Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx>
[agraf: change subject]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 6 08:31:31 2013 +0000
target-ppc: Error out for -cpu host on unknown PVR
Previously we silently exited, with subclasses we got an opcode warning.
Instead, explicitly tell the user what's wrong.
An indication for this is -cpu ? showing "host" with an all-zero PVR.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2985b86b5c9c068af203bd912309af033112039a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 6 08:31:30 2013 +0000
target-ppc: Slim conversion of model definitions to QOM subclasses
Since the model list is highly macrofied, keep ppc_def_t for now and
save a pointer to it in PowerPCCPUClass. This results in a flat list of
subclasses including aliases, to be refined later.
Move cpu_ppc_init() to translate_init.c and drop helper.c.
Long-term the idea is to turn translate_init.c into a standalone cpu.c.
Inline cpu_ppc_usable() into type registration.
Split cpu_ppc_register() in two by code movement into the initfn and
by turning the remaining part into a realizefn.
Move qemu_init_vcpu() call into the new realizefn and adapt
create_ppc_opcodes() to return an Error.
Change ppc_find_by_pvr() -> ppc_cpu_class_by_pvr().
Change ppc_find_by_name() -> ppc_cpu_class_by_name().
Turn -cpu host into its own subclass. This requires to move the
kvm_enabled() check in ppc_cpu_class_by_name() to avoid the class being
found via the normal name lookup in the !kvm_enabled() case.
Turn kvmppc_host_cpu_def() into the class_init and add an initfn that
asserts KVM is in fact enabled.
Implement -cpu ? and the QMP equivalent in terms of subclasses.
This newly exposes -cpu host to the user, ordered last for -cpu ?.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 68c2dd70068fe82a1989d0d5b70a1ab400bde19a
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 4 11:21:04 2013 +0100
PPC: Bring EPR support closer to reality
We already used to support the external proxy facility of FSL MPICs,
but only implemented it halfway correctly.
This patch adds support for
* dynamic enablement of the EPR facility
* interrupt acknowledgement only when the interrupt is delivered
This way the implementation now is closer to real hardware.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1a61a9ae61cdf7b7d24c3eb711fe772c196c235e
Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Date: Thu Jan 3 12:37:02 2013 +0000
PPC: KVM: set has-idle in guest device tree
On e500mc, the platform doesn't provide a way for the CPU to go idle.
To still not uselessly burn CPU time, expose an idle hypercall to the
guest
if kvm supports it.
Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
[agraf: adjust for current code base, add patch description, fix non-kvm
case]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d4834ff9b72d7b89181e88b1a481564cb750c1b5
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 4 10:04:19 2013 +0100
kvm: Update kernel headers
Corresponding kvm.git hash: 18eb54cf4a
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9f1d4b1d6939d39fe570d886f6a651f4764bcbcb
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:40 2013 +0000
openpic: fix CTPR and de-assertion of interrupts
Properly implement level-triggered interrupts by withdrawing an
interrupt from the raised queue if the interrupt source de-asserts.
Also withdraw from the raised queue if the interrupt becomes masked.
When CTPR is written, check whether we need to raise or lower the
interrupt output.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a898a8fc96a071189206218b39b5db99531f5c8b
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:39 2013 +0000
openpic: move IACK to its own function
Besides making the code cleaner, we will need a separate way to access
IACK in order to implement EPR (external proxy) interrupt delivery.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4417c73305f60e46a2370bcaf3635981f5dbc050
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:38 2013 +0000
openpic: IRQ_check: search the queue a word at a time
Search the queue more efficiently by first looking for a non-zero word,
and then using the common bit-searching function to find the bit within
the word. It would be even nicer if bitops_ffsl() could be hooked up
to the compiler intrinsic so that bit-searching instructions could be
used, but that's another matter.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6c5e84c25fc70717c410150b23c765bedf0af52d
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:37 2013 +0000
openpic: fix sense and priority bits
Previously, the sense and priority bits were masked off when writing
to IVPR, and all interrupts were treated as edge-triggered (despite
the existence of code for handling level-triggered interrupts).
Polarity is implemented only as storage. We don't simulate the
bad effects that you'd get on real hardware if you set this incorrectly,
but at least the guest sees the right thing when it reads back the
register.
Sense now controls level/edge on FSL external interrupts (and all
interrupts on non-FSL MPIC). FSL internal interrupts do not have a sense
bit (reads as zero), but are level. FSL timers and IPIs do not have
sense or polarity bits (read as zero), and are edge-triggered. To
accommodate FSL internal interrupts, QEMU's internal notion of whether an
interrupt is level-triggered is separated from the IVPR bit.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 65b9d0d5659687ebb85b1305ac70b3a84df16e5a
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:50 2012 +0000
openpic: add some bounds checking for IRQ numbers
The two checks with abort() guard against potential QEMU-internal
problems, but the EOI check stops the guest from causing updates to queue
position -1 and other havoc if it writes EOI with no interrupt in
service.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: remove hunk in code that didn't get applied yet]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e69a17f65e9f12f33c48b04a789e49d40a8993f5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:48 2012 +0000
openpic: use standard bitmap operations
Besides the private implementation being redundant, namespace collisions
prevented the use of other things in bitops.h.
Serialization does get a bit more awkward, unfortunately, since the
standard bitmap operations are "unsigned long" rather than "uint32_t",
though in exchange we will get faster queue lookups on 64-bit hosts once
we search a word at a time.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 47f73749c61765f7a898ac88f11995368740da10
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:47 2012 +0000
Revert "openpic: Accelerate pending irq search"
This reverts commit a9bd83f4c65de0058659ede009fa1a241f379edd.
This counting approach is not robust against setting a bit that
was already set, or clearing a bit that was already clear. Perhaps
that is considered a bug, but besides the lack of any documentation
for that restriction, it's a pretty unpleasant way for the problem
to manifest itself.
It could be made more robust by testing the current value of the
bit before changing the count, but a later patch speeds up IRQ_check
in all cases, not just when there's nothing pending. Hopefully that
should be adequate to address performance concerns.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c94378e2c500b6211e95d7457f4a9959955c3d1
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:46 2012 +0000
openpic: always call IRQ_check from IRQ_get_next
Previously the code relied on the queue's "next" field getting
set to -1 sometime between an update to the bitmap, and the next
call to IRQ_get_next. Sometimes this happened after the update.
Sometimes it happened before the check. Sometimes it didn't happen
at all.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 72c1da2ca72af50e6536d0cd9c6db758f66cd7c2
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:45 2012 +0000
openpic/fsl: critical interrupts ignore mask before v4.1
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: make bool :1]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb4384278417297661663c54e01c0f0ffec0a9e3
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:44 2012 +0000
openpic: make ctpr signed
Other priorities are signed, so avoid comparisons between
signed and unsigned.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e22c276de982dd26ebc4424c8d4592cce1baab9
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:43 2012 +0000
openpic: rework critical interrupt support
Critical interrupts on FSL MPIC are not supposed to pay
attention to priority, IACK, EOI, etc. On the currently modeled
version it's not supposed to pay attention to the mask bit either.
Also reorganize to make it easier to implement newer FSL MPIC models,
which encode interrupt level information differently and support
mcheck as well as crit, and to reduce problems for later patches
in this set.
Still missing is the ability to lower the CINT signal to the core,
as IACK/EOI is not used. This will come with general IRQ-source-driven
lowering in the next patch.
New state is added which is not serialized, but instead is recomputed
in openpic_load() by calling the appropriate write_IRQreg function.
This should have the side effect of causing the IRQ outputs to be
raised appropriately on load, which was missing.
The serialization format is altered by swapping ivpr and idr (we'd like
IDR to be restored before we run the IVPR logic), and moving interrupts
to the end (so that other state has been restored by the time we run the
IDR/IVPR logic. Serialization for this driver is not yet in a state
where backwards compatibility is reasonable (assuming it works at all),
and the current serialization format was not built for extensibility.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: fix for current code state]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be7c236fa2e59090d7cd0193ca3f225c331d5f81
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:42 2012 +0000
openpic: make register names correspond better with hw docs
The base openpic specification doesn't provide abbreviated register
names, so it's somewhat understandable that the QEMU code made up
its own, except that most of the names that QEMU used didn't correspond
to the terminology used by any implementation I could find.
In some cases, like PCTP, the phrase "processor current task priority"
could be found in the openpic spec when describing the concept, but
the register itself was labelled "current task priority register"
and every implementation seems to use either CTPR or the full phrase.
In other cases, individual implementations disagree on what to call
the register. The implementations I have documentation for are
Freescale, Raven (MCP750), and IBM. The Raven docs tend to not use
abbreviations at all. The IBM MPIC isn't implemented in QEMU. Thus,
where there's disagreement I chose to use the Freescale abbreviations.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: rebase on current state of the code]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1bb73849fbd7d992b6ac2cf30c034244fb2299d
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:41 2012 +0000
ppc/booke: fix crit/mcheck/debug exceptions
Book E does not play games with certain bits of xSRR1 being MSR save
bits and others being error status. xSRR1 is the old MSR, period.
This was causing things like MSR[CE] to be lost, even in the saved
version, as soon as you take an exception.
rfci/rfdi/rfmci are fixed to pass the actual xSRR1 register contents,
rather than the register number.
Put FIXME comments on the hack that is "asrr0/1". The whole point of
separate exception levels is so that you can, for example, take a machine
check or debug interrupt without corrupting critical-level operations.
The right xSRR0/1 set needs to be chosen based on CPU type flags.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e99fd8af63a1692a1159cba8fa4943f2589adf97
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:39 2012 +0000
openpic: lower interrupt when reading the MSI register
This will stop things from breaking once it's properly treated as a
level-triggered interrupt. Note that it's the MPIC's MSI cascade
interrupts that are level-triggered; the individual MSIs are
edge-triggered.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4c4f0e4801ac79632d03867c88aafc90b4ce503c
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:38 2012 +0000
openpic: fix debug prints
Fix various format errors when debug prints are enabled. Also
cause error checking to happen even when debug prints are not
enabled, and consistently use 0x for hex output.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: adjust for more recent code base, prettify DPRINTF macro]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit beb526b12134a6b6744125deec5a7fe24a8f92e3
Author: Samuel Seay <lightningth@xxxxxxxxx>
Date: Wed Jan 2 10:53:46 2013 +0000
PPC: fix segfault in signal handling code
Removed h2g() macro around the ka->_sa_handler due to the _sa_handler
being a
guest memory address.
Changed the __put_user to put_user as it was attempting to put a value at
the
stack address but the new address is a guest memory address, __put_user is
for host memory addresses.
Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[agraf: change subject line, reformat commit message]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88a78d9093917096feffeba66802be27d0e64ead
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Thu Dec 27 19:16:51 2012 +0000
PPC: Reset qemu timers when guest reset
This patch install the timer reset handler. This will be called when
the guest is reset.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: adjust for QOM'ification]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit af7e9e74c6a62a5bcd911726a9e88d28b61490e0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 20 17:30:58 2012 +0100
openpic: fix coding style issues
This patch fixes the following coding style violations:
- structs have to be typedef and be CamelCase
- if()s are always surrounded by curly braces
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d56af005dc3d6354bd39411e8446b415bbcf86b8
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Tue Dec 18 01:13:58 2012 +0000
powerpc: linux header sync script includes epapr_hcalls.h
epapr_hcalls.h is now referenced by kvm_para.h. so this is needed for
QEMU to get compiled on powerpc.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c3203fa5b2c17a1c446e44c87788fef21b4af5f4
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:02 2012 +0000
openpic: don't crash on a register access without a CPU context
If we access a register via the QEMU memory inspection commands (e.g.
"xp") rather than from guest code, we won't have a CPU context.
Gracefully fail to access the register in that case, rather than
crashing.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a26a7b38331dc14893a66fbe78f34afab153d6b2
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:04 2012 +0000
openpic: s/opp->nb_irqs -1/opp->nb_cpus - 1/
"opp->nb_irqs-1" would have been a minor coding style error,
but putting in one space but not the other makes it look
confusingly like a numeric literal "-1".
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d4046833ba44c5f29e5dcce2dde0a6202225e59
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:03 2012 +0000
openpic: BRR1 is not a CPU-specific register.
It's in the address range that normally contains a magic redirection
to the CPU-specific region of the curretn CPU, but it isn't actually
a per-CPU register. On real hardware BRR1 shows up only at 0x40000,
not at 0x60000 or other non-magic per-CPU areas. Plus, this makes
it possible to read the register on the QEMU command line with "xp".
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0fe04622c11a4f131070196ad5cd97ce94d9c33b
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:01 2012 +0000
openpic: support large vectors on FSL mpic
Previously only the spurious vector was sized appropriately
to the openpic model.
Also, instances of "IPVP_VECTOR(opp->spve)" were replace with
just "opp->spve", as opp->spve is already just a vector and not
an IVPR.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c975330ec4f5674f2899331f914c04ecba6edf26
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:00 2012 +0000
openpic: remove pcsr (CPU sensitivity register)
I could not find this register in any spec (FSL, IBM, or OpenPIC)
and the code doesn't do anything with it but initialize, save,
or restore it.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 71c6cacb241689bbf99d54467dc2ae6912ffdab9
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:11:59 2012 +0000
openpic: symbolicize some magic numbers
Deefine symbolic names for some register bits, and use some that
have already been defined.
Also convert some register values from hex to decimal when it improves
readability.
IPVP_PRIORITY_MASK is corrected from (0x1F << 16) to (0xF << 16), in
conjunction with making wider use of the symbolic name. I looked at
Freescale and IBM MPIC docs and at the base OpenPIC spec, and all three
had priority as 4 bits rather than 5. Plus, the magic nubmer that is
being replaced with symbolic values treated the field as 4 bits wide.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 358d615b6908b4916c74819ffad823cb4a74314e
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Sun Dec 16 04:49:46 2012 +0100
exynos4210: Add EHCI support
Add EHCI USB host controller to exynos4210.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aee7499a59d6778c10b018da41db4a22655ef8a8
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:45 2012 +0100
usb/ehci: Add SysBus EHCI device for Exynos4210
It uses a different capsbase and opregbase than the Xilinx device.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a4343671e183824a3f5db76ad561ce01e6c6e0a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:44 2012 +0100
usb/ehci: Move capsbase and opregbase into SysBus EHCI class
This allows specific derived models to use different values.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5aa3ca9f53cc7a1bf76b7583c46937a73914394a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:43 2012 +0100
usb/ehci: Clean up SysBus and PCI EHCI split
SysBus EHCI was introduced in a hurry before 1.3 Soft Freeze.
To use QOM casts in place of DO_UPCAST() / FROM_SYSBUS(), we need an
identifying type. Introduce generic abstract base types for PCI and
SysBus EHCI to allow multiple types to access the shared fields.
While at it, move the state structs being amended with macros to the
header file so that they can be embedded.
The VMSTATE_PCI_DEVICE() macro does not play nice with the QOM
parent_obj naming convention, so defer that cleanup.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a820b575787ac0b6b274b6a89aa6ef9813b4c782
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 13:10:39 2012 +0100
xhci: call set-address with dummy usbpacket
Due to the way devices are addressed with xhci (done by hardware, not
the guest os) there is no packet when invoking the set-address control
request. Create a dummy packet in that case to avoid null pointer
dereferences.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e97f0aca796fb949f9d34c50603511048a52b39b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:46 2012 +0100
usb-redir: Add debugging to bufpq save / restore
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd019b735ac422bf9a40e1865e3d59f2e128604f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:45 2012 +0100
usbredir: Add usbredir_init_endpoints() helper
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d3aea641a4002e0abe940c65d318ef38eda245df
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:44 2012 +0100
usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci
The xhci-hcd may submit bulk transfers > 65535 bytes even when not using
bulk-in pipeling, so usbredir can only be used in combination with an xhci
hcd if the client has the 32 bits bulk length capability.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d8553dd0475a967042193cdcf4d02c8ce5e73730
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:43 2012 +0100
usbredir: Add ep_stopped USBDevice method
To ensure that interrupt receiving is properly stopped when the guest is
no longer interested in an interrupt endpoint.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7e9638d3eb5c0b4c5920dac72bb2e6885652c029
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:42 2012 +0100
usbredir: Add USBEP2I and I2USBEP helper macros
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8c126f329892ec8941e5bbe6ba411d78cfc66cb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:41 2012 +0100
usbredir: Add an usbredir_stop_ep helper function
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f79738b03ba55a5c9733c6dc2455964a6f8fdac9
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:40 2012 +0100
usb: Add an usb_device_ep_stopped USBDevice method
Some usb devices (host or network redirection) can benefit from knowing
when
the guest stops using an endpoint. Redirection may involve submitting
packets
independently from the guest (in combination with a fifo buffer between
the
redirection code and the guest), to ensure that buffers of the real usb
device
are timely emptied. This is done for example for isoc traffic and for
interrupt
input endpoints. But when the (re)submission of packets is done by the
device
code, then how does it know when to stop this?
For isoc endpoints this is handled by detecting a set interface (change
alt
setting) command, which works well for isoc endpoints. But for interrupt
endpoints currently the redirection code never stops receiving data from
the device, which is less then ideal.
However the controller emulation is aware when a guest looses interest, as
then the qh for the endpoint gets unlinked (ehci, ohci, uhci) or the
endpoint
is explicitly stopped (xhci). This patch adds a new ep_stopped USBDevice
method and modifies the hcd code to call this on queue unlink / ep stop.
This makes it possible for the redirection code to properly stop receiving
interrupt input (*) data when the guest no longer has interest in it.
*) And in the future also buffered bulk input.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6735d433729f80fab80c0a1f70ae131398645613
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:39 2012 +0100
usb: Fix usb_ep_find_packet_by_id
usb_ep_find_packet_by_id mistakenly only checks the first packet and if
that
is not a match, keeps trying the first packet! This patch fixes this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 027c03f7327faa696e1d876954a18b5214c18583
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:38 2012 +0100
hid: Change idle handling to use a timer
This leads to cleaner code in usb-hid, and removes up to a 1000 calls /
sec to
qemu_get_clock_ns(vm_clock) if idle-time is set to its default value of 0.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9fdf70272702095f57efc51a80c79493fd0829b8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:37 2012 +0100
uhci: Maximize how many frames we catch up when behind
If somehow we've gotten behind a lot, simply skip ahead, like the ehci
code
does.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8f48b6957bf182339495e6be429f7bdc7ef1981
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:36 2012 +0100
uhci: Limit amount of frames processed in one go
Before this patch uhci would process an unlimited amount of frames when
behind on schedule, by setting the timer to a time already past, causing
the
timer subsys to immediately recall the frame_timer function gain.
This would cause invalid cancellations of bulk queues when the catching up
processed more then 32 frames at a moment when the bulk qh was temporarily
unlinked (which the Linux uhci driver does).
This patch fixes this by processing maximum 16 frames in one go, and
always
setting the timer one ms later, making the code behave more like the ehci
code.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 475443cf14d7ef01b9ea56eed8657804f7bdf664
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:35 2012 +0100
uhci: Add a QH_VALID define
Rather then using the magic 32 value in various places.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ecfdc15f4351a17989d446f4f1e6d1931d9c1677
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:34 2012 +0100
uhci: Fix pending interrupts getting lost on migration
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 719c130dcaa3b1269beed71ca9cf6c43a0219b30
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:33 2012 +0100
uhci: Fix 1 ms delay in interrupt reporting to the guest
Re-arrange how we process frames / increase frnum / report pending
interrupts,
to avoid a 1 ms delay in interrupt reporting to the guest. This increases
the packet throughput for cases where the guest submits a single packet,
then waits for its completion then re-submits from 500 pkts / sec to
1000 pkts / sec. This impacts for example the use of redirected / virtual
usb to serial convertors.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a9ef2c042207e4eddbd010ccf2e1c8264d8f0d6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:32 2012 +0100
ehci: Don't call commit_irq after raising PCD
ehci_raise_irq(s, USBSTS_PCD), gets applied immediately so there is no
need
to call commit_irq after it.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 52c15e5986cd0f6531a2989a81a964f77b4ed9c2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:31 2012 +0100
ehci: Further speedup rescanning if async schedule after raising an
interrupt
I tried lowering the time between raising an interrupt and rescanning the
async schedule to see if the guest has queued a new transfer before, but
that did not have any positive effect. I now believe the cause for this is
that lowering this time made it more likely to hit the 1 ms interrupt
threshold penalty for the next packet, as described in my
"ehci: Use uframe precision for interrupt threshold checking" commit.
Now that we do interrupt threshold handling with uframe precision, futher
lowering this time from .5 to .25 ms gives an extra 15% improvement in
speed
(MB/s) reading from a simple USB-2.0 thumb-drive.
While at it also properly set the int_req_by_async flag for short packet
completions.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9359a58b122187964d7465d48165680eadbf69d3
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Dec 18 14:17:02 2012 +0100
ehci: Use uframe precision for interrupt threshold checking (v2)
Before this patch, the following could happen:
1) Transfer completes, raises interrupt
2) .5 ms later we check if the guest has queued up any new transfers
3) We find and execute a new transfer
4) .2 ms later the new transfer completes
5) We re-run our frame_timer to write back the completion, but less then
1 ms has passed since our last run, so frindex is not changed, so the
interrupt threshold code delays the interrupt
6) 1 ms from the re-run our frame-timer runs again and finally delivers
the interrupt
This leads to unnecessary large delays of interrupts, this code fixes this
by changing frindex to uframe precision and using that for interrupt
threshold
control, making the interrupt fire at step 5 for guest which have low
interrupt
threshold settings (like Linux).
Note that the guest still sees the frindex move in steps of 8 for
migration
compatibility.
This boosts Linux read speed of a simple cheap USB thumb drive by 6 %.
Changes in v2:
-Make the guest see frindex move in steps of 8 by modifying
ehci_opreg_read,
rather then using a shadow variable
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bbbc39ccacf66ef58261c155f9eed503947c3023
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:29 2012 +0100
ehci: Verify a queue's ep direction does not change
ehci_fill_queue assumes that there is a one on one relationship between
an ep
and a qh, this patch adds a check to ensure this.
Note I don't expect this to ever trigger, this is just something I noticed
the guest might do while working on other stuff. The only way this check
can
trigger is if a guest mixes in and out qtd-s in a single qh for a non
control ep.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 51e0c5d02951ee5bd653132e46123f6e963ff23f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:28 2012 +0100
ehci: Add an ehci_get_pid helper function
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e3fdfd488c47c2d6920e0964364f1238fb5bf0e2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:27 2012 +0100
ehci: Verify qtd for async completed packets
Remove the short-circuiting of fetchqtd in fetchqh, so that the
qtd gets properly verified before completing the transaction.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2b3de6ada5d180130ba083d5b45ed51ce8e4def2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:26 2012 +0100
ehci: writeback_async_complete_packet: verify qh and qtd
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 190d849249fd7fecbc75ec38f348197c152f4e87
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:25 2012 +0100
ehci: Move get / put_dwords upwards
No other changes.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d066c57b1c97a1967c949aba643bba35329b32ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:24 2012 +0100
ehci: Verify guest does not change the token of inflight qtd-s
This is not allowed, except for clearing active on cancellation, so don't
warn when the new token does not have its active bit set.
This unifies the cancellation path for modified qtd-s, and prepares
ehci_verify_qtd to be used ad an extra check inside
ehci_writeback_async_complete_packet().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c643263409b42a31fd9b1458cd5158280b9c62e1
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:23 2012 +0100
ehci: Add ehci_verify_qh and ehci_verify_qtd helper functions
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f881c8d36b5c524348bc337b46baf34636079cf6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:22 2012 +0100
ehci: Add a ehci_writeback_async_complete_packet helper function
Also drop the warning printf, which was there mainly because this was an
untested code path (as the previous bug fixes to it show), but that no
longer is the case now :)
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 83f58e570f21c3e7227e7fbef1fc0e18b5ed7ea9
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Dec 28 17:29:11 2012 +0800
rtl8139: preserve link state across device reset
A device reset does not affect the link state, only set_link does.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Dec 28 17:29:10 2012 +0800
e1000: no need auto-negotiation if link was down
Commit b9d03e352cb6b31a66545763f6a1e20c9abf0c2c added link
auto-negotiation emulation, it would always set link up by
callback function. Problem exists if original link status
was down, link status should not be changed in auto-negotiation.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f30dbae63a46f23116715dff8d130c7d01ff02be
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Dec 11 22:20:15 2012 +0800
net: clean up network at qemu process termination
We don't clean up network if fails to parse "-device" parameters without
calling net_cleanup(). I touch a problem, the tap device which is
created by qemu-ifup script could not be removed by qemu-ifdown script.
Some similar problems also exist in vl.c
In this patch, if network initialization successes, a cleanup function
will be registered to be called at qemu process termination.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c0331f4f7d241995452b99afaf0aab00493334a
Author: Michael Contreras <michael@xxxxxxxxxxx>
Date: Wed Dec 5 13:31:30 2012 -0500
e1000: Discard oversized packets based on SBP|LPE
Discard packets longer than 16384 when !SBP to match the hardware
behavior.
Signed-off-by: Michael Contreras <michael@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e4a424b305e29dc0e454f52df3b35577f342975
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 6 18:30:17 2013 +0000
Revert "virtio-pci: replace byte swap hack"
This reverts commit 9807caccd605d09a72495637959568d690e10175.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9807caccd605d09a72495637959568d690e10175
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 14 20:39:14 2012 +0000
virtio-pci: replace byte swap hack
Remove byte swaps by declaring the config space
as native endian.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d728c394652d40a9065668606d62f28bc544949
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Tue May 1 18:45:39 2012 +0000
tests: add gcov support
Add support for compiling for GCOV test coverage, enabled
with '--enable-gcov' during configure.
Test coverage will be reported after each test.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Dec 5 09:23:25 2012 -0600
target-s390: Claim maintainership
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 26cc0a3fd11d537bdd2649b5f3c385ad858b1857
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:32:25 2012 -0800
target-s390: Use noreturn for exception and load_psw
Both always exit the cpu loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 893e1660d5b9be0900bb1f09e574b1856eb30783
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:31:29 2012 -0800
target-s390: Use TCG_CALL_NO_WG for misc helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c20fec4055f06de6d96789d1a290f284fac48fc4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:25:57 2012 -0800
target-s390: Use TCG_CALL_NO_WG for integer helpers
The division routines do not read or write tcg registers,
but can raise fixed-point divide exceptions.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c482ea94eaf26761e5cc0e53259cf1a98db29622
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:21:54 2012 -0800
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
None of them read or write tcg registers, but most can
raise fp exceptions.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d918a65c690c321f56e7ce4b5a9e1f2fbe32bb1b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:20:43 2012 -0800
target-s390: Use TCG_CALL_NO_WG for memory helpers
Those that do not read or write tcg registers, but can
raise exceptions via memory faults.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b7886de3f36111b71ee0664a0b992f6c5b55de7d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 17:09:35 2012 -0700
target-s390: Perform COMPARE AND SWAP inline
Still no proper solution for CONFIG_USER_ONLY, but the system
version is significantly better.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bacf43c62e54ee21494c4bf0c39d96d2bcc0e260
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 21 06:57:09 2012 -0700
target-s390: Optimize get_address
Don't load the displacement into a register first, add it second
so that tcg_gen_addi_i64 can eliminate zeros. Don't mask the
displacement first so that we don't turn small negative numbers
into large positive numbers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c95ec459c6c39b7a7e1850f82abd95eca4ccfcce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 09:51:40 2012 -0700
target-s390: Optimize ADDC/SUBB
Giving the proper mask to disas_jcc allows us to generate an inline
comparison generating the carry/borrow with setcond.
In the very worst case, when we must use the external helper to compute
a value for CC, we generate (cc > 1) instead of (cc >> 1), which is only
very slightly slower on common cpus.
In the very best case, when the CC comes from a COMPARE insn and the
compiler is using ALCG with zero, everything folds out to become just
the setcond that the compiler wanted.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a359b770c60bf3085c244bc9d5a5fd8fcf286bce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 09:41:33 2012 -0700
target-s390: Optimize ADDU/SUBU CC testing
We can easily generate some masks for logical add/subtract inline.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit de379661d5c7cc1d219000d0741f5d96ced56553
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 07:55:51 2012 -0700
target-s390: Tidy comparisons
After full conversion, we can audit the uses of LTGT cc ops
and see that none of the instructions can ever set CC=3.
Thus we can extend the table to treat that bit as ignored.
This fixes a regression wrt the pre-conversion translation
in which NE was used for both m=6 and m=7.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f24c49c24a4979fe50eff7afe18f371f5809177d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 13:50:07 2012 -0700
target-s390: Optmize emitting discards
While they aren't expensive, they aren't free to process. When we
know that the three cc helper variables are dead, don't kill them.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d074ac6d266129f8f4e2aac5b0e6c39c22964d9a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 13:48:46 2012 -0700
target-s390: Optimize XC
Notice XC with same address and convert that to store of zero.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 90b4f8ad7226960d3a21bd8fca894ce1e6b5e4cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 12 16:52:31 2012 -0700
target-s390: Fix cpu_clone_regs
R2 is the syscall return register, not R0.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 411edc22cbab9a44f6d6c6cdef8637ba1f313e37
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 10 17:23:13 2012 -0700
target-s390: Implement LOAD/SET FP AND SIGNAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a12000b9ece917f62d6405e7ee83c8abb6ad7afa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 10 16:26:35 2012 -0700
target-s390: Implement SET ROUNDING MODE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d2d9feac6fa9f6fd40e8f251bcfdd9a9a0f421f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 9 16:04:17 2012 -0700
target-s390: Use uint64_to_float128
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d1f63013539bccc877899116cccf106d318b04a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 9 14:31:43 2012 -0700
target-s390: Implement LCDFR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 49f7ee802fa6695af61dc1e88638f426d47a22a5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 7 16:16:57 2012 -0700
target-s390: Check insn operand specifications
Removes all the fixmes for even register numbers, etc.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2db014b5a73f295f6edbdc2c8400a94ccfc90624
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 14:13:52 2012 -0700
target-s390: Implement CPSDR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 99b4f24b3e636ab241b53bc16bf8f0a0ac4a2271
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 11:14:04 2012 -0700
target-s390: Implement POPCNT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2112bf1bfb696def31b211425e5e74e89f9574c3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 11:08:17 2012 -0700
target-s390: Implement CONVERT FROM LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ac1b45f9b3cb788255c0fde7637ba663eba632c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 10:42:54 2012 -0700
target-s390: Implement CONVERT TO LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b92fa33486b240404923308b483a3318eb804c4a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 09:45:20 2012 -0700
target-s390: Implement STORE ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 632086da28e1682c0129276656ee0d32274fcd17
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:55:00 2012 -0700
target-s390: Implement LOAD ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1c2687518235aa38dd3dd270fc216e559d0509eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:32:54 2012 -0700
target-s390: Implement COMPARE AND TRAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 403e217f4073b885b7e02a1b64054ceca7202bf6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:54:00 2012 -0700
target-s390: Implement COMPARE RELATIVE LONG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e0def9094ef1997613e488768405bcfb589f0596
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 14:10:05 2012 -0700
target-s390: Implement PREFETCH
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d6c6372e186e7f17fe9eeec0c50a43b484669d71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 13:54:13 2012 -0700
target-s390: Implement R[NOX]SBG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 143cbbc5ebc4a5b5beb82dc31ecc5ac5f6d511d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:52:08 2012 -0700
target-s390: Implement LDGR, LGDR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2d6a869833d99d89fc4bbe42bdb35b2c1d808067
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 12:50:06 2012 -0700
target-s390: Implement RISBG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5550359f07b54d6fb6f38ee5dcbc198cff42bf51
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 10:53:49 2012 -0700
target-s390: Implement COMPARE AND BRANCH
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7a6c7067f034c5b887cda5e45ef660fe50ebbd1b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:28:17 2012 -0700
target-s390: Tidy s->op_cc handling
There's no need to force computation of the true cc_op when taking an
exception or single stepping. In either case we'll enter the next TB
with s->cc_op = DYNAMIC and recompute anyway. Just make sure that
s->cc_op is stored back to env->cc_op as needed.
Delete some dead functions, avoid allocating unused TCG temps, drop
the old s->is_jmp setting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2cf5e350c4f7ec08aab5d70193310c721b8179e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 29 12:57:55 2012 -0700
target-s390: Implement BRANCH ON INDEX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4f3adfb2a63416c434fdafdfa406604f2a18392b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:33:58 2012 -0700
target-s390: Delete dead code from old translator
The use of inline restricts detection of static functions that are
no longer used. Limit the use of inline to those functions that
are conditionally used based on CONFIG_USER_ONLY.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc458df91d00986885fe12ed25876aa6d0604cee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:12:40 2012 -0700
target-s390: Convert SERVC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7ab938d706b515cfe4680a823525693124e2047d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:04:48 2012 -0700
target-s390: Convert LPSWE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fc778b55a5ae45abac2a94d591e7490622917872
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:58:59 2012 -0700
target-s390: Convert STFL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d14b3e09b21a297fddc62c0c7839156022079d05
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:43:38 2012 -0700
target-s390: Convert STSI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 14244b21a041161185bb53c3eb29e3d8dc7bfe6e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:17:16 2012 -0700
target-s390: Convert SACF
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39a5003c89191a46ec6af722ade3dfdf457e9f58
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:11:36 2012 -0700
target-s390: Convert STCKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3d596f491250d66fffabbc60d0621ea72859e96c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:57:18 2012 -0700
target-s390: Convert CSP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 204504e2fa0ec0f11c806ad335edf6bd1f499e34
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:45:38 2012 -0700
target-s390: Convert STURA
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2c423fc070b3e260fc368e2573c76d7ddd52e165
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:36:20 2012 -0700
target-s390: Convert subchannel instructions
While we're at it, list all of the chapter 14 subchannel insns.
Which is easy since all merely need indicate non-operation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5cc69c54f606005ea0432d83dafbec0f5b0e831a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:22:13 2012 -0700
target-s390: Convert RRBE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2bbde27f2548cb48f362eada1080e590f5453404
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:18:01 2012 -0700
target-s390: Convert SSKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8026417c7169e7efd1696f3ed15e51306729176a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:13:38 2012 -0700
target-s390: Convert ISKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cfef53e356119bddcba0724c0c26fd5940f231e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:25:28 2012 -0700
target-s390: Convert IPTE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 411fea3d8400af5479690d6e22c6492c15e10a4a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:18:33 2012 -0700
target-s390: Convert STAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e805a0d39e26fc85681db7e1bf58c91a5628eaff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:11:32 2012 -0700
target-s390: Convert SPX, STPX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0568d8aab0b48cb033aad8ecaef5bc0c531ce9ff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:59:26 2012 -0700
target-s390: Convert PTLB
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28d555566719dada8e2d028ff611b4fb8a984e0c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:55:34 2012 -0700
target-s390: Convert SPKA
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4f0a863c3b980694e2ccb8fa3252a0eb8ef6a97
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:47:26 2012 -0700
target-s390: Convert SPT, STPT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dd3eb7b54f0dbcf76e3ccfdf8535201049670378
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:36:58 2012 -0700
target-s390: Convert SCKC, STCKC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 434c91a5f4ed7219819678315b5529fbc35435e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:31:07 2012 -0700
target-s390: Convert STCK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 352897995147c4a054679654048f5c128ca32743
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:20:49 2012 -0700
target-s390: Convert SCK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 71bd666963ad9fb004d7aa919b7222165e602173
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:21:47 2012 -0700
target-s390: Convert STIDP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4600c994d93fc9af2b045086dd31e613d2f9d7bc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 14:27:42 2012 -0700
target-s390: Convert SRST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aa31bf60312157aefb09f887e2f750c7d59a8bbc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:20:53 2012 -0700
target-s390: Convert CLST, MVST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee6c38d5b10fda25175fa85febde532a12456346
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:19:44 2012 -0700
target-s390: Convert MVPG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d62a4c97f2cab0bd8649e3cd0b7692f989dbb577
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 11:54:04 2012 -0700
target-s390: Convert EAR, SAR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 374724f91ab236b4f60ec4796f1601720486d06b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 11:38:12 2012 -0700
target-s390: Convert CKSM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e2704e74d317ba077b680c2fc881724686fb24a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:18:21 2012 -0700
target-s390: Convert IPM
Note that the previous placement of the PM field was incorrect.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8379bfdbca195af9df1e6ecf67f04402bd80d471
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 07:44:43 2012 -0700
target-s390: Convert LFPC, SFPC
Note that we were failing to set the rounding mode in fpu_status.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 102bf2c63535122cba0d7917ed8cfb8cc1c7b14c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 07:39:11 2012 -0700
target-s390: Convert FLOGR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 683bb9a8889cd00e69b05ba78bd5ba27f2e4e958
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 21:08:22 2012 -0700
target-s390: Convert CONVERT FROM FIXED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68c8bd93ccb0ee441d62b5b8b8911cf5c38663f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 15:17:35 2012 -0700
target-s390: Convert CONVERT TO FIXED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 24db8412ec58a63556fb51fb157497342f1b08b8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:14:24 2012 -0700
target-s390: Convert LOAD ZERO
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 16d7b2a43b3325882d51677d76a0a3f082844f2b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 14:33:03 2012 -0700
target-s390: Convert FP SQUARE ROOT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d7fd045cafeac1831c1999cb9e1251b7906c6b2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 15:58:27 2012 -0700
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 31aa97d1ed87853835a2df4ea9db1566f85c57a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:40:09 2012 -0700
target-s390: Convert TEST DATA CLASS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 722bfec331504bf873a5e4ec4f232c4ed116dda2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:30:12 2012 -0700
target-s390: Convert MULTIPLY AND ADD, SUBTRACT
Use the new float*_muladd interface to softfloat.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 83b00736f3d8033861c27b80c9d3fc7c44bbec99
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:02:38 2012 -0700
target-s390: Convert FP MULTIPLY
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f08a5c311d3047f2cafe72e3e377674e7f8acdcb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 7 11:41:12 2012 -0700
target-s390: Convert FP DIVIDE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1a800a2dcee541dee4f51aed5110ca9d5811c5e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 11:05:03 2012 -0700
target-s390: Convert FP SUBTRACT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 587626f8da5e2ee15bbf9f636c78991d6c953387
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 10:48:20 2012 -0700
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7691c23b1f7b508f3f5391e8f362579544be6980
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:59:19 2012 -0700
target-s390: Convert LLGT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e025e52aba7063c8137b7812e10d69500efb1fbb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:52:55 2012 -0700
target-s390: Convert STORE REVERSED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d54f58654187f8bafb4523a286a9baf46c531d06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:35:40 2012 -0700
target-s390: Convert LOAD REVERSED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3e398cf9c2ffdee0c8f61d3bc8966357d0b8e095
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 2 10:12:48 2012 -0700
target-s390: Convert LOAD CONTROL, part 2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 112bf0791d615060ff9235318e13fd4725146ff8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:15:59 2012 -0700
target-s390: Convert TPROT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ae680590667b5a8e4eb667a726b5d16d6553cb9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:11:53 2012 -0700
target-s390: Convert STCM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32a44d5882ae82364a8e957a5e21cbeaaacc71a3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:59:22 2012 -0700
target-s390: Convert CLM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f3de39c485027a6b47bffb741f5209aa44052b71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:46:55 2012 -0700
target-s390: Convert COMPARE AND SWAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 504488b82770e053aa31861fd7ef31afdb874f27
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:17:58 2012 -0700
target-s390: Convert LCTL, STCTL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ea20490fdd9faacf9768363edcda3c76fed703ab
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:09:05 2012 -0700
target-s390: Convert EFPC, STFPC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0c2400155bc47dcfb7216f586457940a9f342462
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:52:23 2012 -0700
target-s390: Convert SIGP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d8fe4a9c284f244679ab251637bff81126d91dfe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:15:10 2012 -0700
target-s390: Convert LRA
Note that truncating the store to r1 based on PSW_MASK_64
is incorrect. We always modify the entire register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 97c3ab61c46c1c0194657b8bead3d499600d8aab
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:00:27 2012 -0700
target-s390: Convert MVCP, MVCS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4f7403d52b1c682df15c862f5e7ca0712b66089f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 12:54:07 2012 -0700
target-s390: Convert CLC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a949039596edf43e5e32dc7cb0cb4e994497e4b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:54:19 2012 -0700
target-s390: Convert NC, XC, OC, TR, UNPK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit af9e5a04ea63b7ebbe7af2bb3553dc0e8a158d12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:43:06 2012 -0700
target-s390: Convert MVC
The code that was in gen_op_mvc was a bit confused wrt what lengths
it wanted to handle. I also disbelieve that the inline memset is
worthwhile.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit eb66e6a96904e50a9d0d1a76aecfe8675f4d8673
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:24:25 2012 -0700
target-s390: Convert CLCLE, MVCLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7df3e93aa953148841bd8a086cb3230f3d01a14c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 09:38:22 2012 -0700
target-s390: Convert LAM, STAM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 145cdb401995707d1261735da7f6be3d4a91d377
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:08:40 2012 -0700
target-s390: Convert STNSM, STOSM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a05d2b6b83544dd0ae915112d7a4565e8a3871f1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 10:57:56 2012 -0700
target-s390: Convert NI, XI, OI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a04d76a815c7daeb9f27b7503ebddce311958fe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 10:22:28 2012 -0700
target-s390: Convert MOVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 77f8d6c3ed89ee02847709da6508cd4dcc1d2f2d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:49:37 2012 -0700
target-s390: Convert LOAD, STORE MULTIPLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a79ba3398a0aa7fdd544ce28d2950b4eeb3c16a5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:22:23 2012 -0700
target-s390: Convert SHIFT DOUBLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cbe24bfa91d21766f2953c2da92c1e3dd13d8387
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:15:19 2012 -0700
target-s390: Convert SHIFT, ROTATE SINGLE
Note that we were missing the 32-bit SLA.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 972e35b9665db113c3d4df7d394ee8cbbf7446ee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:41:36 2012 -0700
target-s390: Convert DIAGNOSE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b5ff57115e60589d772efeaa0c061ad6701e340
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:33:36 2012 -0700
target-s390: Convert LOAD PSW
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7d30bb73db3a2fa38a33556430754917d5d70c91
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:12:50 2012 -0700
target-s390: Convert SET SYSTEM MASK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c49daa51a8e19694a611971206e75bd245768e3c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:05:11 2012 -0700
target-s390: Convert CONVERT TO DECIMAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00574261e1fcb318fdd4cc1293238fc1f50de341
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 12:26:53 2012 -0700
target-s390: Convert FP STORE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e764e97ca4050f2105b10e158f4fcb2801470be
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 13:48:38 2012 -0700
target-s390: Convert EXECUTE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 58a9e35bcc23d44142a2a58ddf3fae51749f3f01
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 13:13:09 2012 -0700
target-s390: Convert INSERT CHARACTERS UNDER MASK
Change the CC handling to be more like TEST UNDER MASK, with val & mask.
This lets us handle ICMH much more like ICM.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 443aaeb8991022f3eadd2b65e14e805093e2a0e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 12:36:10 2012 -0700
target-s390: Cleanup cc computation helpers
The inline markers hid the fact that {n}abs_32 were unused
because of typos in the main do_calc_cc function. Let the
compiler handle auto-inlining here.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afdc70bea01452367e372db7e2168b71bb3aa9b3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 07:12:29 2012 -0700
target-s390: Convert INSERT CHARACTER
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d764a8d12b24c8b97fe3ff2193aec04079e8db20
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 12:24:24 2012 -0700
target-s390: Convert FP LOAD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e1eaada955aab907b53a091b85421de9e8b8dd9c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:46:49 2012 -0700
target-s390: Convert MOVE LONG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b9836c1acd4ecb286bd1617857cc52df7b75c414
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:41:05 2012 -0700
target-s390: Convert SUPERVISOR CALL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9a39927993a186b039d5be66cc85c0e735a78bc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:28:56 2012 -0700
target-s390: Convert SET ADDRESSING MODE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00d2dc192fb866d077935f0dd298472d65d87eb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:20:58 2012 -0700
target-s390: Convert TEST UNDER MASK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b4e2bd3563af75ba5b9fe809c8cf79d2d34aecf3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:27:40 2012 -0700
target-s390: Send signals for divide
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 891452e5e274967ffb87d10791620154f2cdc303
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 14:02:02 2012 -0700
target-s390: Convert DIVIDE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c61aad6943cd77046e47cdb5beedad9d035d2216
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 14:22:58 2012 -0700
target-s390: Convert BRANCH ON COUNT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7233f2ed17175eea043faad749143c1fb5ffe0b3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 08:28:02 2012 -0700
target-s390: Convert BRANCH ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8ac33cdb8bfbf319adea60363cf1ba3e5dbf5c4f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 18 11:38:19 2012 -0700
target-s390: Convert BRANCH AND SAVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4e4bb43899c4c97e14b59fbd7cd5cb44eea850a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 18:52:33 2012 -0700
target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
I'm resonably certain that the carry/borrow-out condition for both
helpers was incorrect, failing to take into account the carry-in.
Adding the new CC_OP codes also allows removing the awkward interface
we used for the slb helpers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2b280b97085ae90e804c1b31557a79d1da2789a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 16:00:08 2012 -0700
target-s390: Convert STORE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit facfc8648728b5c5554b3269355a4c13824e664b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 15:01:36 2012 -0700
target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b9bca3e57a4570ce2aff46388fa1edc9da5437a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:38:37 2012 -0700
target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ade9dea429e202eabf87a36a20d1d3bbc34d8910
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:20:33 2012 -0700
target-s390: Convert LOAD LOGICAL IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 11bf2d73d0dba509e14dbfc2189365410a5a2c06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:03:39 2012 -0700
target-s390: Convert LOAD AND TEST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c698d8768756c66dd0dd55ea884c69c2212d59f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 10:27:29 2012 -0700
target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aedec19d628dacf4f04ee7258ac2c5c9e47b5a7e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 09:57:07 2012 -0700
target-s390: Convert LOAD ADDRESS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 22c37a08bd0ce680d6b9750c73704a025bc3fc93
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 09:45:53 2012 -0700
target-s390: Convert LOAD, LOAD LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7e836d5ebef23022ec53a0dba5d3a1ac0883a03
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 15:20:51 2012 -0700
target-s390: Convert COMPARE, COMPARE LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3bbfbd1f956d82f552a0fe160abf929ec88a78ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 16:28:39 2012 -0700
target-s390: Convert AND, OR, XOR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1ac5889f48127321a585886524013fcb6e2c91e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:26:59 2012 -0700
target-s390: Convert 64-bit MULTIPLY LOGICAL
Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part
of a 128-bit value. That said, this will get used when two independent
values need returning (e.g. quotient+remainder) as well.
At the same time, shuffle the elements of CPUS390XState to get this new
space from existing padding in the structure.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d87aaf934f2fa24443bba7db60036b698e04d6a8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:17:59 2012 -0700
target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d1c04a2ba05bec8567a52f28979288e2237dfe9c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:10:35 2012 -0700
target-s390: Convert MULTIPLY HALFWORD, SINGLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e272b3ace35ffafe24754986b999bda19f56f373
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 14:42:49 2012 -0700
target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3f4cb56a4351b0710f90d1205f2d6178a8ebc02f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 14:46:42 2012 -0700
target-s390: Implement SUBTRACT HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d82287dee9d8bfe2c4cb520e30c76244fcbb705c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 14:09:45 2012 -0700
target-s390: Convert ADD HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5a103cd6eb3b407feb4e007cb778a89b1b20c5f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 14 19:31:57 2012 -0700
target-s390: Reorg exception handling
Make the user path more like the system path. Prepare for more kinds
of runtime exceptions. Rename ILC to ILEN to make it clear that we
want to pass around a full instruction length, rather than a "code"
that happens to be stored one bit left in a larger field.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3fde06f5fb67dd9e5373b8105318e74e18eec895
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 13:31:01 2012 -0700
target-s390: Split out disas_jcc
Lots of duplicated code replaced with a couple of tables. We no longer
attempt to manually invert the logic operation: the comments now match
the code. In the fully general test, constant propagate (1 << (3 - cc))
into (8 >> cc).
The new function will be usable by non-branch insns as well.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad044d09de62c10c361003765d5039396c057abe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 15 17:16:22 2012 -0700
target-s390: Add format based disassassmbly infrastructure
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 51855ecf1a9d5a8388778571b8ab32134e83f378
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 24 12:06:15 2012 -0700
target-s390: Fix PSW_MASK handling
We were treating psw.mask as the 32-bit quantity it is in ESA mode.
In particular, the CC field was at the wrong place.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f22e2ec79c07de03016adefb166cf01745fc852
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:28:43 2012 -0700
target-s390: Tidy unconditional BRCL
Yes, we're about to rewrite all of this, but having this unconditional
jump recompute cc_op is a large source of "false diff errors" when
trying to examine before and after dumps.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9d126faf4279b324d5c4cdf09a3570d4a2041626
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:25:09 2012 -0700
target-s390: Fix BCR
There were are two exit paths for which we forgot to
copy s->cc_op back to the tcg register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afd43fecfe7f6e863884b850f53fac4a75c28d84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:22:18 2012 -0700
target-s390: Fix SACF exit
DISAS_EXCP is exit via exception; we wanted DISAS_JUMP.
This matters when we start cleaning up the TB exit paths.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7e68da2a9dd112a1a4ef16e8ef3dc1916529ae6b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 09:14:33 2012 -0700
target-s390: Register helpers
Which highlights a lot of cc helpers that no longer exist.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 431253c28f9177a3f4783dc47b952c8fffcf3177
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 06:57:35 2012 -0700
target-s390: Use TCG registers for FPR
At the same time, tidy other usages of tcg_gen_deposit_i64.
In some cases we can "type cast" rather than extend, and in
others we can allow tcg_gen_deposit_i64 itself to optimize
the HOST_LONG_BITS==32 case.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 063eb0f3038434ab4cf9ad4bcc19a8789e15d237
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 08:15:42 2012 -0700
target-s390: Add missing temp_free in gen_op_calc_cc
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ee77b16630bc86c1a44f9df61b072c7974ba503
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 10:44:45 2012 -0700
target-s390: Fix gdbstub
The real gdb protocol doesn't split out pc or cc as real registers.
Those are pseudos that are extracted as needed from the PSW. Don't
modify env->cc_op during read -- that way lies heisenbugs.
Fill in the XXX for the fp registers.
Remove duplicated defines in cpu.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 79be7c7b603f89da209098a03a5459beb09a579b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 14:13:12 2012 -0700
target-s390: Fix disassembly of cpsdr
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0fd81617fad2cae099348877099f6cf4c3bbc5bd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 12:49:47 2012 -0700
target-s390: Disassemble more z10 and z196 opcodes
Also fix disassembly for COMPARE AND BRANCH. The table must be
sorted by primary opcode, and several were out of place.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 549db5c32bb025501e2eeb23d2e5cc669061eb71
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 5 09:33:43 2013 +0100
hw/i386: Fix broken build for non POSIX hosts
pc-testdev.c cannot be compiled with MinGW (and other non POSIX hosts):
CC i386-softmmu/hw/i386/../pc-testdev.o
qemu/hw/i386/../pc-testdev.c:38:22: warning: sys/mman.h: file not found
qemu/hw/i386/../pc-testdev.c: In function â??test_flush_pageâ??:
qemu/hw/i386/../pc-testdev.c:103: warning: implicit declaration of
function â??mprotectâ??
...
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1e397eadf1cf54920c45a2fdc204b1ade1b72d38
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 31 10:09:04 2012 -0800
softfloat: Implement uint64_to_float128
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 17ed229379d971ae117245b353324115a62b0014
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 31 10:09:03 2012 -0800
softfloat: Fix uint64_to_float64
The interface to normalizeRoundAndPackFloat64 requires that the
high bit be clear. Perform one shift-right-and-jam if needed.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a4c7ecd8ca998044bfafa0bdd7ea47270e7ebad6
Merge: 346c1f8... bfb82a2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:25:20 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
spice: drop incorrect vm_change_state_handler() opaque
linux-user/syscall.c: remove forward declarations
hw/mcf5206: Reduce size of lookup table
Remove --sparc_cpu option from the configure list
pseries: Remove unneeded include statement (fixes MinGW builds)
pc_sysfw: Check for qemu_find_file() failure
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 346c1f8b52afca515fecf95d5c215751b73fe9e1
Merge: 72e5b27... 9ee59f3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:25:07 2013 -0600
Merge remote-tracking branch 'kraxel/testdev.1' into staging
* kraxel/testdev.1:
pc: remove bochs bios debug ports
hw: Add test device for unittests execution
add isa-debug-exit device.
switch debugcon to memory api
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72e5b276b2fcd5ac3c0b235f19ff0dc39ad9f82f
Merge: 25bbf61... 503b19f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:24:49 2013 -0600
Merge remote-tracking branch 'kraxel/acpi.2' into staging
* kraxel/acpi.2:
apci: assign memory regions to ich9 lpc device
apci: assign memory regions to piix4 acpi device
acpi: autoload dsdt
configure: also symlink *.aml files
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bfb82a28752d29291adf932c3a9941e8383203af
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 19 14:07:16 2012 +0100
spice: drop incorrect vm_change_state_handler() opaque
The spice_server pointer is a global variable and
vm_change_state_handler() therefore does not use its opaque parameter.
The vm change state handler is added with a pointer to the spice_server
pointer. This is useless and we probably would not want 2 levels of
pointers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Uri Lublin <uril@xxxxxxxxxx>
commit 586b0bef84c202bb2256a35eb71bfd6670262bd7
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Wed Dec 26 00:49:49 2012 +0100
linux-user/syscall.c: remove forward declarations
instead use the correct headers that define these functions.
Requested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 715857cbbabc8740792b608f9bc4cd9fad6ecb1d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 22 13:59:22 2012 +0100
hw/mcf5206: Reduce size of lookup table
This typically reduces the size from 512 bytes to 128 bytes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c242222c978d2c09411f2560915708c364ca2ce9
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Thu Dec 20 16:41:34 2012 +0800
Remove --sparc_cpu option from the configure list
commit 9b9c37c36439ee0452632253dac7a31897f27f70 always assume sparcv9,
the others are no longer supported. Remove --sparc_cpu option from the
configure list.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e2af7a4dc8d218c5fb5b41dd1d008fa111d0636e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 20 07:50:41 2012 +0100
pseries: Remove unneeded include statement (fixes MinGW builds)
sys/mman.h is not needed (tested on Linux) and unavailable for MinGW,
so remove it.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7b1d0ea950fc760371c9580ba6b34c912369a38
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Dec 5 15:28:05 2012 +0100
pc_sysfw: Check for qemu_find_file() failure
pc_fw_add_pflash_drv() ignores qemu_find_file() failure, and happily
creates a drive without a medium.
When pc_system_flash_init() asks for its size, bdrv_getlength() fails
with -ENOMEDIUM, which isn't checked either. It fails relatively
cleanly only because -ENOMEDIUM isn't a multiple of 4096:
$ qemu-system-x86_64 -S -vnc :0 -bios nonexistant
qemu: PC system firmware (pflash) must be a multiple of 0x1000
[Exit 1 ]
Fix by handling the qemu_find_file() failure.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ee59f341f9d7a95b3a87b7cac3f74bcdda395fb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:59:55 2012 +0100
pc: remove bochs bios debug ports
Prehistoric leftover, zap it. We poweroff via acpi these days.
And having a port (0x501,0x502) where any random guest write will make
qemu exit -- with no way to turn it off -- is a bad joke anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ee0cc5415e6edc043bd84e855f7d0bf85bd97547
Author: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
Date: Thu Dec 13 12:48:53 2012 -0200
hw: Add test device for unittests execution
Add a test device which supports the kvmctl ioports,
so one can run the KVM unittest suite.
Intended Usage:
qemu-system-x86_64 -nographic \
-device pc-testdev \
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
-kernel /path/to/kvm/unittests/msr.flat
Where msr.flat is one of the KVM unittests, present on a
separate repo,
git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
[ kraxel: more memory api + qom fixes ]
CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bb355b1859dde19fbb4f856c6d0b8f46733142d7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 15:54:59 2012 +0100
add isa-debug-exit device.
When present it makes qemu exit on any write.
Mapped to port 0x501 by default.
Without this patch Anthony doesn't allow me to
remove the bochs bios debug ports because his
test suite uses this.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e8ba1ce92d8cbc4e77efcaf040077d3901098e5f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 15:43:35 2012 +0100
switch debugcon to memory api
Also some QOM glue while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 503b19fc5d018f4edc60fb771cf97f47cea71be2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:42:18 2012 +0100
apci: assign memory regions to ich9 lpc device
Get rid of get_system_io() usage.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 56e5b2a1a655b9158c0d274a6f630927c9a5fb4b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:40:45 2012 +0100
apci: assign memory regions to piix4 acpi device
Get rid of get_system_io() usage.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 3 10:47:27 2012 +0100
acpi: autoload dsdt
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5acc2ec041b2fd5c9a85d9d12362c08d3b3bf339
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 3 10:45:49 2012 +0100
configure: also symlink *.aml files
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 25bbf61e4bacd1e4fa4115ffcf151051b9d6608e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 3 14:23:03 2013 +0100
pty: unbreak libvirt
Commit 586502189edf9fd0f89a83de96717a2ea826fdb0 breaks libvirt pty
support because it tried to figure the pts name from stderr output.
Fix this by moving the label to the end of the line, this way the
libvirt parser does still recognise the message. libvirt looks
for "char device redirected to ${ptsname}<whitespace>".
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef4929fb3c25e03deca76c7f5d22fba08edf864f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 3 11:56:16 2013 +0100
dataplane: use linux-headers/ for virtio includes
The hw/dataplane/vring.c code includes linux/virtio_ring.h. Ensure that
we use linux-headers/ instead of the system-wide headers, which may be
out-of-date on older distros.
This resolves the following build error on Debian 6:
CC hw/dataplane/vring.o
cc1: warnings being treated as errors
hw/dataplane/vring.c: In function 'vring_enable_notification':
hw/dataplane/vring.c:71: error: implicit declaration of function
'vring_avail_event'
hw/dataplane/vring.c:71: error: nested extern declaration of
'vring_avail_event'
hw/dataplane/vring.c:71: error: lvalue required as left operand of
assignment
Note that we now build dataplane/ for each target instead of only once.
There is no way around this since linux-headers/ is only available for
per-target objects - and it's how virtio, vfio, kvm, and friends are
built.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbd99ae302be8f51b547fb6283c91d0c9859b7d5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 18:33:44 2013 +0100
configure: Write new file "config-all-disas.mak" when running configure
Incremental builds added new lines to that file each time when configure
was run.
Now a new file with a comment line is written.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 503483336039a8b2b182535f87f4820d259fca82
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 18:43:56 2013 +0100
tci: Fix broken builds with TCG interpreter
TCI no longer compiled after commit
76cad71136b7eb371cf2a2a4e1621cfe8d9c769a.
The TCI disassembler depends on data structures which are different for
each QEMU target, so it cannot be compiled as a universal-obj today.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74e91370beb3fabda515623b4491a8b7a024304a
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 31 15:30:31 2012 +0400
savevm.c: cleanup system includes
savevm.c suffers from the same problem as some other files.
Some years ago savevm.c was created from vl.c, moving some
code from there into a separate file. At that time, all
includes were just copied from vl.c to savevm.c, without
checking which ones are needed and which are not.
But actually most of that stuff is _not_ needed. More, some
stuff is wrong, for example, *BSD #ifdef'ery around <util.h>
vs <libutil.h> - for one, it fails to build on Debian/kFreebsd.
Just remove all this. Maybe there's a possibility to clean
it up further - like removing <windows.h> (and maybe including
winsock.h for htons etc), and maybe it's possible to remove
some internal #includes too, but I didn't check this.
While at it, remove duplicate #include of qemu/timer.h.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab51b1d568e02c80b1abf9016bda3a86dc1db389
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sun Dec 30 12:48:14 2012 +0400
disallow -daemonize usage of stdio (curses display, -nographic, -serial
stdio etc)
Curses display requires stdin/out to stay on the terminal,
so -daemonize makes no sense in this case. Instead of
leaving display uninitialized like is done since 995ee2bf469de6bb,
explicitly detect this case earlier and error out.
-nographic can actually be used with -daemonize, by redirecting
everything to a null device, but the problem is that according
to documentation and historical behavour, -nographic redirects
guest ports to stdin/out, which, again, makes no sense in case
of -daemonize. Since -nographic is a legacy option, don't bother
fixing this case (to allow -nographic and -daemonize by redirecting
guest ports to null instead of stdin/out in this case), but disallow
it completely instead, to stop garbling host terminal.
If no display display needed and user wants to use -nographic,
the right way to go is to use
-serial null -parallel null -monitor none -display none -vga none
instead of -nographic.
Also prevent the same issue -- it was possible to get garbled
host tty after
-nographic -daemonize
and it is still possible to have it by using
-serial stdio -daemonize
Fix this by disallowing opening stdio chardev when -daemonize
is specified.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 217da7fdeb2a4c99c49f22f9dc64c8df2e3a4387
Merge: 9a8a5ae... d6b1ef8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 12:19:27 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
sheepdog: pass oid directly to send_pending_req()
sheepdog: don't update inode when create_and_write fails
block/raw-win32: Fix compiler warnings (wrong format specifiers)
qemu-img: report size overflow error message
cutils: change strtosz_suffix_unit function
virtio-blk: Return UNSUPP for unknown request types
virtio-blk: add x-data-plane=on|off performance feature
dataplane: add virtio-blk data plane code
virtio-blk: restore VirtIOBlkConf->config_wce flag
iov: add qemu_iovec_concat_iov()
test-iov: add iov_discard_front/back() testcases
iov: add iov_discard_front/back() to remove data
dataplane: add Linux AIO request queue
dataplane: add event loop
dataplane: add virtqueue vring code
dataplane: add host memory mapping code
configure: add CONFIG_VIRTIO_BLK_DATA_PLANE
raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9a8a5ae69d3a436e51a7eb2edafe254572f60823
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 30 08:20:13 2012 +0100
tcg: Remove unneeded assertion
Commit 7f6f0ae5b95adfa76e10eabe2c34424a955fd10c added two assertions.
One of these assertions is not needed:
The pointer ts is never NULL because it is initialized with the
address of an array element.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d6b1ef89a1ede41334e4d0fa27e600e0b4d4f209
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Dec 17 14:17:27 2012 +0800
sheepdog: pass oid directly to send_pending_req()
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd751f2204a03d6fcd47a4b4b12ac534d2ecbea7
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Dec 17 14:17:26 2012 +0800
sheepdog: don't update inode when create_and_write fails
For the error case such as SD_RES_NO_SPACE, we shouldn't update the inode
bitmap
to avoid the scenario that the object is allocated but wasn't created at
the
server side. This will result in VM's IO error on the failed object.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fccedc624c425e3acb1557f9f9b13104427ec5ce
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Dec 17 20:40:01 2012 +0100
block/raw-win32: Fix compiler warnings (wrong format specifiers)
Commit fbcad04d6bfdff937536eb23088a01a280a1a3af added fprintf statements
with wrong format specifiers.
GetLastError() returns a DWORD which is unsigned long, so %lu must be
used.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7944339726b4582b67fd94085c21c33636e8f973
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 17 09:49:23 2012 +0800
qemu-img: report size overflow error message
qemu-img will complain when qcow or qcow2
size overflow for 64 bits, report the right
message in this condition.
$./qemu-img create -f qcow2 /tmp/foo 0x10000000000000000
before change:
qemu-img: Invalid image size specified! You may use k, M, G or T suffixes
for
qemu-img: kilobytes, megabytes, gigabytes and terabytes.
after change:
qemu-img: Image size must be less than 8 EiB!
[Resolved conflict with a9300911 goto removal -- Stefan]
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 37edbf7ea8067262a5c3d8bbe4786139348c8311
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 17 09:49:22 2012 +0800
cutils: change strtosz_suffix_unit function
if value to be translated is larger than INT64_MAX,
this function will not be convenient for caller to
be aware of it, so change a little for this.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9e72c45033770b81b536ac6091e91807247cc25a
Author: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx>
Date: Thu Dec 13 09:03:43 2012 +0200
virtio-blk: Return UNSUPP for unknown request types
Currently, all unknown requests are treated as VIRTIO_BLK_T_IN
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 392808b49b6aee066d0c1d200e72fc3dc11c9d0f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:45:38 2012 +0100
virtio-blk: add x-data-plane=on|off performance feature
The virtio-blk-data-plane feature is easy to integrate into
hw/virtio-blk.c. The data plane can be started and stopped similar to
vhost-net.
Users can take advantage of the virtio-blk-data-plane feature using the
new -device virtio-blk-pci,x-data-plane=on property.
The x-data-plane name was chosen because at this stage the feature is
experimental and likely to see changes in the future.
If the VM configuration does not support virtio-blk-data-plane an error
message is printed. Although we could fall back to regular virtio-blk,
I prefer the explicit approach since it prompts the user to fix their
configuration if they want the performance benefit of
virtio-blk-data-plane.
Limitations:
* Only format=raw is supported
* Live migration is not supported
* Block jobs, hot unplug, and other operations fail with -EBUSY
* I/O throttling limits are ignored
* Only Linux hosts are supported due to Linux AIO usage
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e72f66a0a20f38d0c7576f6c0aec0ca644976e35
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:39:30 2012 +0100
dataplane: add virtio-blk data plane code
virtio-blk-data-plane is a subset implementation of virtio-blk. It only
handles read, write, and flush requests. It does this using a dedicated
thread that executes an epoll(2)-based event loop and processes I/O
using Linux AIO.
This approach performs very well but can be used for raw image files
only. The number of IOPS achieved has been reported to be several times
higher than the existing virtio-blk implementation.
Eventually it should be possible to unify virtio-blk-data-plane with the
main body of QEMU code once the block layer and hardware emulation is
able to run outside the global mutex.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8a873ba78069ef81c4ef073a0bd703172c8b3312
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Dec 10 13:14:39 2012 +0100
virtio-blk: restore VirtIOBlkConf->config_wce flag
Two slightly different versions of a patch to conditionally set
VIRTIO_BLK_F_CONFIG_WCE through the "config-wce" qdev property have been
applied (ea776abca and eec7f96c2). David Gibson
<david@xxxxxxxxxxxxxxxxxxxxx> noticed that the "config-wce"
property is broken as a result and fixed it recently.
The fix sets the host_features VIRTIO_BLK_F_CONFIG_WCE bit from a qdev
property. Unfortunately, the virtio device then has no chance to test
for the presence of the feature bit during virtio_blk_init().
Therefore, reinstate the VirtIOBlkConf->config_wce flag. Drop the
duplicate qdev property to set the host_features bit. The
VirtIOBlkConf->config_wce flag will be used by virtio-blk-data-plane in
a later patch.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 530c0bbd73e1b658c9266582072847de1fbdff10
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 22 16:06:06 2012 +0100
iov: add qemu_iovec_concat_iov()
The qemu_iovec_concat() function copies a subset of a QEMUIOVector. The
new qemu_iovec_concat_iov() function does the same for a iov/cnt pair.
It is easy to define qemu_iovec_concat() in terms of
qemu_iovec_concat_iov(). The existing code is mostly unchanged, except
for the assertion src->size >= soffset, which cannot be efficiently
checked upfront on a iov/cnt pair. Instead we assert upon hitting the
end of src with an unsatisfied soffset.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8962e44fe438a051aff9f43209363f599be33624
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 21 19:18:26 2012 +0100
test-iov: add iov_discard_front/back() testcases
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d02776350d9c76348988fc9e58a64a4f6b1a9f61
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 21 17:41:10 2012 +0100
iov: add iov_discard_front/back() to remove data
The iov_discard_front/back() functions remove data from the front or
back of the vector. This is useful when peeling off header/footer
structs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e9ec521711ed033476098cfc7f23c992cc606a2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:30:09 2012 +0100
dataplane: add Linux AIO request queue
The IOQueue has a pool of iocb structs and a function to add new
read/write requests. Multiple requests can be added before calling the
submit function to actually tell the host kernel to begin I/O. This
allows callers to batch requests and submit them in one go.
The actual I/O is performed using Linux AIO.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 71973b046120a13df4eaa9143bed5ba8a67abc7f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:23:00 2012 +0100
dataplane: add event loop
Outside the safety of the global mutex we need to poll on file
descriptors. I found epoll(2) is a convenient way to do that, although
other options could replace this module in the future (such as an
AioContext-based loop or glib's GMainLoop).
One important feature of this small event loop implementation is that
the loop can be terminated in a thread-safe way. This allows QEMU to
stop the data plane thread cleanly.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88807f89d945acad54c8365ff7b6ef0f0d0ddd56
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:15:50 2012 +0100
dataplane: add virtqueue vring code
The virtio-blk-data-plane cannot access memory using the usual QEMU
functions since it executes outside the global mutex and the memory APIs
are this time are not thread-safe.
This patch introduces a virtqueue module based on the kernel's vhost
vring code. The trick is that we map guest memory ahead of time and
access it cheaply outside the global mutex.
Once the hardware emulation code can execute outside the global mutex it
will be possible to drop this code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 185ecf40e3589fc2717b0856ee1df05dd63a46dd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 20 10:30:08 2012 +0100
dataplane: add host memory mapping code
The data plane thread needs to map guest physical addresses to host
pointers. Normally this is done with cpu_physical_memory_map() but the
function assumes the global mutex is held. The data plane thread does
not touch the global mutex and therefore needs a thread-safe memory
mapping mechanism.
Hostmem registers a MemoryListener similar to how vhost collects and
pushes memory region information into the kernel. There is a
fine-grained lock on the regions list which is held during lookup and
when installing a new regions list.
When the physical memory map changes the MemoryListener callbacks are
invoked. They build up a new list of memory regions which is finally
installed when the list has been completed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 583f6e7bbd24b31f7eecd5c21ba0a5a5a77f52f1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:04:15 2012 +0100
configure: add CONFIG_VIRTIO_BLK_DATA_PLANE
The virtio-blk-data-plane feature only works with Linux AIO. Therefore
add a ./configure option and necessary checks to implement this
dependency.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4065742ac0f3c84abdd8d718b44a88f3ac56015a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 11:43:23 2012 +0100
raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane
The raw_get_aio_fd() function allows virtio-blk-data-plane to get the
file descriptor of a raw image file with Linux AIO enabled. This
interface is really a layering violation that can be resolved once the
block layer is able to run outside the global mutex - at that point
virtio-blk-data-plane will switch from custom Linux AIO code to using
the block layer.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 34daffa04886444dafd4a6951167225e824003d0
Merge: 079944e... 0a2a59d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:54 2013 -0600
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
qemu-kvm/pci-assign: 64 bits bar emulation
target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 079944e695589364d19de31f27761c6bdea1c207
Merge: a97ff30... 89d62be...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:36 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio
This optimizes MSIX handling in virtio-pci.
Also included is pci express capability bugfix.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
* mst/tags/for_anthony:
virtio-pci: don't poll masked vectors
msix: expose access to masked/pending state
msi: add API to get notified about pending bit poll
pcie: Fix bug in pcie_ext_cap_set_next
virtio: make bindings typesafe
commit a97ff30e934c4d673122cf709e8e87f0effbe2f7
Merge: 5928023... 15faf94...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:22 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-a810e4e' into staging
* kraxel/seabios-a810e4e:
Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5928023cef87847a295035487397b9ec701fdd6b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Nov 24 23:03:13 2012 +0100
pflash_cfi01: Suppress warning when Linux probes for AMD flash
There are several ARM and MIPS boards which are manufactured with
either Intel (pflash_cfi01.c) or AMD (pflash_cfi02.c) flash memory.
The Linux kernel supports both and first probes for AMD flash which
resulted in one or two warnings from the Intel flash emulation:
pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000,
wcycle 0x0 cmd 0x0 value 0xf000f0)
pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000,
wcycle 0x0 cmd 0x0 value 0xf0)
These warnings confuse users, so suppress them.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0f0b93980572726e69e32ff13e2d7fb72b936157
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Tue Dec 11 00:15:55 2012 +0800
target-mips: Use EXCP_SC rather than a magic number
From the discussion on the ML [1], the exception limit defined by
magic number 0x100 is actually EXCP_SC defined in cpu.h. Replace the
magic number with EXCP_SC. Remove "#if 1 .. #endif" as well.
[1] http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03080.html
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c4aaba92e516ad061dff7ac2ae3c2b2b7058c404
Author: Jovanovic, Petar <petarj@xxxxxxxx>
Date: Tue Dec 11 15:06:35 2012 +0000
target-mips: Make repl_ph to sign extend to target-long
The immediate value is 9bits, should sign-extend to 16bits. The return
value to
register should sign-extend to target_long, as Richard says, removing an
unnecessary cast works fun.
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit fe65a1fad6aa140769ffda31c34a109f7d2df101
Author: Dongxue Zhang <elta.era@xxxxxxxxx>
Date: Tue Dec 11 22:28:28 2012 +0800
Fix my email address
Fix my email address, last time it's wrong.
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 79eb8392db19a916f6a3277f7cd36fb22c2bdbaf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 22 13:38:19 2012 +0100
target-mips: Remove semicolon from macro definition
Macro RESTORE_FLUSH_MODE is similar to RESTORE_ROUNDING_MODE
but included a semicolon.
The code which uses that macro also includes a semicolon,
so the result was an empty statement.
Remove the superfluous semicolon from the macro definition.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b8abbbe8df5e04085f4b85fc4f7cf85efbcd492c
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Mon Dec 10 16:28:17 2012 +0100
target-mips: Fix for helpers for EXTR_* instructions
The change removes some unnecessary and incorrect code for EXTR_S.H.
Further, it corrects the mask for shift value in the EXTR_ instructions.
It also
extends the existing tests so they trigger the issues corrected with the
change.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit eec8972a5bc744eda695a86a984d746c240dff90
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Thu Dec 6 20:30:35 2012 +0100
target-mips: Fix incorrect reads and writes to DSPControl register
Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used
in
the MIPS32 architecture. They are used in the MIPS64 architecture. For
MIPS32
these bits must be written as zero, and return zero on read.
The change fixes writes (WRDSP) and reads (RDDSP) to the register. It
also fixes
the tests that use these instructions, and makes them smaller and simpler.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a795ef8dcb8cbadffc996c41ff38927a97645234
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Dec 28 01:00:26 2012 -0500
Fix semaphores fallback code
As reported in bug 1087114 the semaphores fallback code is broken which
results in QEMU crashing and making QEMU unusable.
This patch is from Paolo.
This needs to be back ported to the 1.3 stable tree as well.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 753d99d38b5877440dde2705e30ca60e2ec62965
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 28 14:19:35 2012 -0800
tcg-hppa: Fix typo in brcond2
Reported-by: Stuart Brady <sdb@xxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 76a347e1cd0c2d6959461c89dda15ef5c4140da6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 28 14:17:02 2012 -0800
tcg-i386: Perform cmov detection at runtime for 32-bit.
Existing compile-time detection is spotty at best. Convert
it all to runtime detection instead.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit afcb92beac9e477e5ae5c36bf38830e225e2235f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 7 15:07:17 2012 -0600
tcg: Add TCGV_IS_UNUSED_*
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 927fa909d5d5cf8c07673cd16a6d3bdc81250bc0
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Dec 28 01:38:11 2012 -0500
Disable semaphores fallback code for OpenBSD
Disable the semaphores fallback code for OpenBSD as modern OpenBSD
releases now have sem_timedwait().
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 62054c06d4d1d0d54ef87c2d9154efec00ad170c
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Sun Dec 23 23:25:09 2012 +0200
usb/redirect.c: unbreak compilation due to include/char/char.h
Broken since:
commit 927d4878b0ff319ed87fed9363f314613b0a5ed9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:05 2012 +0100
softmmu: move remaining include files to include/ subdirectories
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4de63460ca1639bfb0e465ecdcf95551564bb3d6
Merge: a2685bc... 501a7ce...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Dec 28 16:08:23 2012 +0000
Merge branch 'qom-cpu' of git://repo.or.cz/qemu/afaerber
* 'qom-cpu' of git://repo.or.cz/qemu/afaerber:
MAINTAINERS: Include X86CPU in CPU maintenance area
cpu: Move kvm_run into CPUState
cpu: Move kvm_state field into CPUState
ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()
ppc4xx_devs: Return PowerPCCPU from ppc4xx_init()
ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks
ppc: Pass PowerPCCPU to [h]decr timer callbacks
ppc: Pass PowerPCCPU to [h]decr callbacks
ppc: Pass PowerPCCPU to ppc_set_irq()
kvm: Pass CPUState to kvm_vcpu_ioctl()
kvm: Pass CPUState to kvm_arch_*
cpu: Move kvm_fd into CPUState
qdev-properties.c: Separate core from the code used only by
qemu-system-*
qdev: Coding style fixes
cpu: Introduce CPUListState struct
target-alpha: Add support for -cpu ?
target-alpha: Turn CPU definitions into subclasses
target-alpha: Avoid leaking the alarm timer over reset
alpha: Pass AlphaCPU array to Typhoon
target-alpha: Let cpu_alpha_init() return AlphaCPU
commit 89d62be9f4fb538db7f919a2be7df2544ffc02c5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 18 14:02:46 2012 +0200
virtio-pci: don't poll masked vectors
At the moment, when irqfd is in use but a vector is masked,
qemu will poll it and handle vector masks in userspace.
Since almost no one ever looks at the pending bits,
it is better to defer this until pending bits
are actually read.
Implement this optimization using the new poll notifier.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 70f8ee395afda6d96b15cb9a5b311af7720dded0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 18 13:54:32 2012 +0200
msix: expose access to masked/pending state
For use by poll handler.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bbef882cc1938fa5a6e1b36a50d79ce5c0cefb81
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 16:10:02 2012 +0200
msi: add API to get notified about pending bit poll
Update all users.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 812d2594d558f7c4f95c99c8fc58adc47ab68eb3
Author: Knut Omang <knut.omang@xxxxxxxxxx>
Date: Tue Dec 18 22:36:29 2012 +0100
pcie: Fix bug in pcie_ext_cap_set_next
Upper 16 bits of the PCIe Extended Capability Header was truncated during
update,
also breaking pcie_add_capability.
Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0a2a59d35cbabf63c91340a1c62038e3e60538c1
Author: Xudong Hao <xudong.hao@xxxxxxxxx>
Date: Thu Dec 20 11:07:23 2012 +0800
qemu-kvm/pci-assign: 64 bits bar emulation
Enable 64 bits bar emulation.
Test pass with the current seabios which already support 64bit pci bars.
Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit a2685bcc80f61aa612e0d8cfd91086857ae2942e
Author: Gleb Natapov <gleb@xxxxxxxxxx>
Date: Wed Dec 19 17:46:15 2012 +0200
MAINTAINERS: Take over kvm maintenance
Replace Avi with myself as kvm maintainer.
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74880fe27d2120ab3861dc857ecd025db1a67038
Author: Robert Schiele <rschiele@xxxxxxxxx>
Date: Tue Dec 4 16:58:08 2012 +0100
configure: allow disabling pixman if not needed
When we build neither any system emulation targets nor the tools there
is actually no need for pixman library. In that case do not enforce
presence of that library on the system.
Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Robert Schiele <rschiele@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2915efbfa8efadaa2806e827ba92b8dba4f7cd52
Author: Alex Horn <alex.horn@xxxxxxxxxxx>
Date: Wed Dec 5 12:34:06 2012 +0000
tmp105: Create API for TMP105 temperature sensor.
* Define enum for TMP105 registers
* Move tmp105_set() from I2C to TMP105 header
* Document units and range of temperature as preconditions
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eac236ea7bfc1902126be70459e320591078df5c
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Fri Dec 14 20:13:09 2012 +0100
build: Use separate makefile for "trace/"
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
--
Changes in v2:
* Do not depend on "qemu-timer-common.o".
* Use "$(obj)" in rules to refer to the build sub-directory.
* Remove dependencies against "$(GENERATED_HEADERS)".
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6265e4ff327763b6362cba472e2b46f2dcf18762
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Nov 23 12:12:01 2012 +0100
win32: Switch thread abstraction to us TLS variable internally
We already depend on working __thread support for coroutines, so this
complication here is no longer needed.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57f26ae72983095d0258e391041dfb8864f769e5
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Dec 20 16:43:48 2012 -0200
target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel
This fixes a subtle bug. A bug that probably won't cause trouble for any
existing OS, but a bug anyway:
Intel SDM Volume 2, CPUID Instruction states:
> Two types of information are returned: basic and extended function
> information. If a value entered for CPUID.EAX is higher than the maximum
> input value for basic or extended function for that processor then the
> data for the highest basic information leaf is returned. For example,
> using the Intel Core i7 processor, the following is true:
>
> CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *)
> CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf.
*)
> CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *)
> CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX
= 0BH. *)
> CPUID.EAX = 80000008H (* Returns linear/physical address size data. *)
> CPUID.EAX = 8000000AH (* INVALID: Returns same information as
CPUID.EAX = 0BH. *)
AMD's CPUID Specification, on the other hand, is less specific:
> The CPUID instruction supports two sets or ranges of functions,
> standard and extended.
>
> â?¢ The smallest function number of the standard function range is
> Fn0000_0000. The largest function num- ber of the standard function
> range, for a particular implementation, is returned in CPUID
> Fn0000_0000_EAX.
>
> â?¢ The smallest function number of the extended function range is
> Fn8000_0000. The largest function num- ber of the extended function
> range, for a particular implementation, is returned in CPUID
> Fn8000_0000_EAX.
>
> Functions that are neither standard nor extended are undefined and
> should not be relied upon.
QEMU's behavior matched Intel's specification before, but this was
changed by commit b3baa152aaef1905876670590275c2dd0bbb088c. This patch
restores the behavior documented by Intel when cpuid_xlevel2 is 0.
The existing behavior when cpuid_xlevel2 is set (falling back to
level=cpuid_xlevel) is being kept, as I couldn't find any public
documentation on the CPUID 0xC0000000 function range on Centaur CPUs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 586502189edf9fd0f89a83de96717a2ea826fdb0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 21 12:26:38 2012 +0800
qemu-char: Inherit ptys and improve output from -serial pty
Changes since V1:
- Avoid crashing since qemu_opts_id() may return null on some
systems according to Markus's suggestion.
When controlling a qemu instance from another program, it's
hard to know which serial port or monitor device is redirected
to which pty. With more than one device using "pty" a lot of
guesswork is involved.
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device redirected to /dev/pts/5
char device redirected to /dev/pts/6
char device redirected to /dev/pts/7
Although we can find out what everything else is connected to
by the "info chardev" with "-monitor stdio" in the command line,
It'd be very useful to be able to have qemu inherit pseudo-tty
file descriptors so they could just be specified on the command
line like:
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device compat_monitor0 redirected to /dev/pts/5
char device serial0 redirected to /dev/pts/6
char device serial1 redirected to /dev/pts/7
Referred link: https://bugs.launchpad.net/qemu/+bug/938552
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 501a7ce7270955be151c442c27620fa7af2f3ce5
Merge: 62e0c09... 36f25d2...
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 23 00:39:34 2012 +0100
Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu
Adapt header include paths.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 36f25d2537c40c6c47f4abee5d31a24863d1adf7
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Thu Dec 20 00:04:09 2012 +0400
target-xtensa: fix search_pc for the last TB opcode
Zero out tcg_ctx.gen_opc_instr_start for instructions representing the
last guest opcode in the TB.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3f124b687462ce3140d963a024705a89cdc8cee8
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Fri Dec 21 16:56:58 2012 +0800
net: add missing include file
To fix building error:
CC net/vde.o
net/vde.c: In function â??vde_cleanupâ??:
net/vde.c:65:5: error: implicit declaration of function
â??qemu_set_fd_handlerâ?? [-Werror=implicit-function-declaration]
net/vde.c:65:5: error: nested extern declaration of
â??qemu_set_fd_handlerâ?? [-Werror=nested-externs]
cc1: all warnings being treated as errors
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0c884d1659f02b4a0c704c2344f42e3fabb1f193
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Thu Dec 20 09:39:16 2012 +0800
translate-all.c: Use tb1->phys_hash_next directly in tb_remove
When tb_remove was first commited at fd6ce8f6, there were three
different
calls pass different names to offsetof. In current codebase, the other two
calls are replaced with tb_page_remove. There is no need to have a general
tb_remove. Omit passing the third parameter and using tb1->phys_hash_next
directly.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b2136140f68ce05122f611eb9cde4f0365ab6a00
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 20 23:09:53 2012 +0100
net: Add missing include statement (fix compiler warnings for MinGW)
These and some more compiler warnings were caused by a recent commit:
net/tap-win32.c:724: warning: no previous prototype for â??tap_has_ufoâ??
net/tap-win32.c:729: warning: no previous prototype for
â??tap_has_vnet_hdrâ??
...
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4ad549e89e55fb48eb6feb783ee4a9ede1dea52e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 12:29:20 2012 +0100
xen: add missing include
xen-all needs to access CharDeviceState's filename field, so
it needs to include char/char.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ca273d58d8a77d5cc9d42440bcdf9d7cad2054bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 12:29:19 2012 +0100
build: fix includes for VNC
vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h.
Hence, GnuTLS header files are needed by all files that include
vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for
simplicity.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bb5801f551ee8591d576d87a9290af297998e322
Merge: 914606d... 9848a40...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 21 07:53:48 2012 -0600
Merge remote-tracking branch 'quintela/thread-20121220.next' into staging
* quintela/thread-20121220.next: (79 commits)
migration: merge QEMUFileBuffered into MigrationState
migration: fix qemu_get_fd for BufferedFile
ram: refactor ram_save_block() return value
ram: account the amount of transferred ram better
ram: optimize migration bitmap walking
ram: Use memory_region_test_and_clear_dirty
memory: introduce memory_region_test_and_clear_dirty
ram: Add last_sent_block
ram: rename last_block to last_seen_block
migration: move migration notifier
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
migration: move migration_fd_put_ready()
migration: add XFER_LIMIT_RATIO
migration: move buffered_file.c code into migration.c
savevm: New save live migration method: pending
buffered_file: unfold buffered_append in buffered_put_buffer
buffered_file: don't flush on put buffer
buffered_file: Unfold the trick to restart generating migration data
migration: just lock migrate_fd_put_ready
migration: remove unfreeze logic
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9848a40427cd76628d04d918fa4751c542527915
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Dec 19 09:55:50 2012 +0100
migration: merge QEMUFileBuffered into MigrationState
Avoid splitting the state of outgoing migration, more or less arbitrarily,
between two data structures. QEMUFileBuffered anyway is used only during
migration.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e659586e63793a8a61efc4a658e2908ac8a2e935
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 8 00:42:50 2012 +0100
migration: fix qemu_get_fd for BufferedFile
Not really used, but nice to have it correct. :)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b823ceaadfaad65f3a034ada394b33ca1bf1a914
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Dec 10 13:27:50 2012 +0100
ram: refactor ram_save_block() return value
It could only return 0 if we only found dirty xbzrle pages that hadn't
changed (i.e. they were written with the same content). We don't care
about that case, it is the same than nothing dirty.
So now the return of the function is how much have it written, nothing
else. Adjust callers.
And we also made ram_save_iterate() return the number of transferred
bytes, not the number of transferred pages.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3f7d7b098194ec893efa037491f6231687ff043a
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 18 13:56:35 2012 +0200
ram: account the amount of transferred ram better
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4c8ae0f60e63478aea0a1741cca95474b68fb949
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 18 00:00:59 2012 +0200
ram: optimize migration bitmap walking
Instead of testing each page individually, we search what is the next
dirty page with a bitmap operation. We have to reorganize the code to
move from a "for" loop, to a while(dirty) loop.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ece7931817e03a4d946c15716fab5e4f781663c9
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:27:15 2012 +0200
ram: Use memory_region_test_and_clear_dirty
This avoids having to do two walks over the dirty bitmap, once reading
the dirty bits, and anthoer cleaning them.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6c279db8ee99e64e498447c67c16e987150be96b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:24:28 2012 +0200
memory: introduce memory_region_test_and_clear_dirty
This function avoids having to do two calls, one to test the dirty bit,
and
other to reset it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5f718a15d0db3775bbcf2755a35dd6b019bcff8b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:10:55 2012 +0200
ram: Add last_sent_block
This is the last block from where we have sent data.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b23a9a5cad356cdc8e25d4be72e53096a27ea722
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:08:04 2012 +0200
ram: rename last_block to last_seen_block
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d3b26f5488e04c01667dd12c9bd7eed54dda258
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:04:41 2012 +0200
migration: move migration notifier
At this point, it is waranteed that state is ACTIVE. Old position
didn't assured hat.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2e450865338738300e529457879d81332939f064
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 18:23:03 2012 +0200
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0e288fa369c02df1731dc59ffbf158f5e5f2d80f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 17:23:59 2012 +0200
migration: move migration_fd_put_ready()
Put it near its use and un-export it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5b4e1eb769eee892b44d3f6b2369b05196442f59
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Dec 19 10:40:48 2012 +0100
migration: add XFER_LIMIT_RATIO
The "magic" divisions by 10 are there because of the value of
BUFFER_DELAY.
Introduce a constant to explain them better.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d82d0e8b98cf0ea03a45f8542d835ebd3a84cd3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:18:33 2012 +0200
migration: move buffered_file.c code into migration.c
This only moves the code (also from buffered_file.h to migration.h).
Fix whitespace until checkpatch is happy.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Sep 21 11:18:18 2012 +0200
savevm: New save live migration method: pending
Code just now does (simplified for clarity)
if (qemu_savevm_state_iterate(s->file) == 1) {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
Problem here is that qemu_savevm_state_iterate() returns 1 when it
knows that remaining memory to sent takes less than max downtime.
But this means that we could end spending 2x max_downtime, one
downtime in qemu_savevm_iterate, and the other in
qemu_savevm_state_complete.
Changed code to:
pending_size = qemu_savevm_state_pending(s->file, max_size);
DPRINTF("pending size %lu max %lu\n", pending_size, max_size);
if (pending_size >= max_size) {
ret = qemu_savevm_state_iterate(s->file);
} else {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
So what we do is: at current network speed, we calculate the maximum
number of bytes we can sent: max_size.
Then we ask every save_live section how much they have pending. If
they are less than max_size, we move to complete phase, otherwise we
do an iterate one.
This makes things much simpler, because now individual sections don't
have to caluclate the bandwidth (it was implossible to do right from
there).
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f50b4986b261fc10065289d2a03deba24d824988
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 14:24:08 2012 +0200
buffered_file: unfold buffered_append in buffered_put_buffer
It was the only user, and now buffered_put_buffer just do the append
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c518dd841deb85b3ccf77ff93e1142b27b06af32
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 14:00:13 2012 +0200
buffered_file: don't flush on put buffer
We call buffered_put_buffer with iothread held, and buffered_flush() does
synchronous writes. We only want to do the synchronous writes outside.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 78d1d231f889f7eae3835ddaec4373011792e46f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 13:22:18 2012 +0200
buffered_file: Unfold the trick to restart generating migration data
This was needed before due to the way that the callbacks worked.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e76274824defce54a124e5104be3880044c698e1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:31:30 2012 +0200
migration: just lock migrate_fd_put_ready
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 188a428559f0cd0bde884d28b42e449abd744c2f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:24:03 2012 +0200
migration: remove unfreeze logic
Now that we have a thread, and blocking writes, we don't need it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dd217b8732b93d97c22fa70dc15a72d92a2b2380
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:15:02 2012 +0200
migration: make writes blocking
Move all the writes to the migration_thread, and make writings
blocking. Notice that are still using the iothread for everything
that we do.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 766bd1769e70835e0cc25f3f057f101619494b59
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 05:45:29 2012 +0200
migration: move migration thread init code to migrate_fd_put_ready
This way everything related with migration is run on the migration
thread and no locking is needed.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit edfa1af52f4c69264c5a0c38da10eb372077fba3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 02:13:23 2012 +0200
migration: make qemu_fopen_ops_buffered() return void
We want the file assignment to happen before the thread is created to
avoid locking, so we just do it before creating the thread.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c09f4cb2b3243085a86aee3c7ed4f31c77e4db87
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 01:56:50 2012 +0200
buffered_file: Move from using a timer to use a thread
We still protect everything except the wait with the iothread lock.
But we moved from a timer to a thread. Steps one by one.
We also need to detect when we have finished with a variable "complete".
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b2a8658ef5dc57ea9e7a45091724a719dd4bdcd3
Author: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Date: Wed Aug 17 00:01:33 2011 -0700
protect the ramlist with a separate mutex
Add the new mutex that protects shared state between ram_save_live
and the iothread. If the iothread mutex has to be taken together
with the ramlist mutex, the iothread shall always be _outside_.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit f798b07f517143df3a1e38bccc3f72ade2f080dc
Author: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Date: Thu Aug 18 11:41:17 2011 -0700
add a version number to ram_list
This will be used to detect if last_block might have become invalid
across different calls to ram_save_live.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit abb26d63e7e4492d306c13b7e0e799d4c11a067c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 16:00:51 2012 +0100
exec: sort the memory from biggest to smallest
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a3161038a1fd17a638a0c606f71e1f799f65f41b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 15:54:48 2012 +0100
exec: change RAM list to a TAILQ
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d6d3c87a232cc27641dde3491d75c8021745d02
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 15:45:02 2012 +0100
exec: change ramlist from MRU order to a 1-item cache
Most of the time, only 2 items will be active (from/to for a string
operation,
or code/data). But TCG guests likely won't have gigabytes of memory, so
this actually goes down to 1 item.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 803ef03257a9ee375f08ca7a89e009ea12bc17a4
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:08:05 2012 +0200
migration-fd: remove duplicate include
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 557ec5a001740d234e2b9604f0697a0d52ae90ca
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:07:31 2012 +0200
migration: include qemu-file.h
They don't use/know anything about buffered-file.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 24ea1e4b4b79cef2bac6f8e0f0a212f42ef420a9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Nov 10 18:58:40 2012 +0100
migration: remove double call to migrate_fd_close
The call in buffered_close is enough, because buffered_close is called
already by migrate_fd_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bde54c08b4854aceee3dee25121a2b835cb81166
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 20 12:48:19 2012 +0100
buffered_file: do not send more than s->bytes_xfer bytes per tick
Sending more was possible if the buffer was large.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 244eaa7514a944b36273eb8428f32da8e9124fcf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Dec 12 12:54:43 2012 +0100
migration: fix migration_bitmap leak
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d2a0ccc613ccc48c7240f99e1ce05e0acce6e2a1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 17 13:01:07 2012 +0200
virtio: make bindings typesafe
Move bindings from opaque to DeviceState.
This gives us better type safety with no performance cost.
Add macros to make future QOM work easier.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15faf946f7a17a5fab0d05a2312d43249d81af3c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 08:19:16 2012 +0100
Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
git shortlog:
Kevin O'Connor (6):
floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is
disabled.
vga: Minor comment spelling fix.
Don't recursively evaluate CFLAGS variables.
Don't use gcc's -combine option.
Add compile checking phase to build.
acpi: Use prt_slot() macro to describe irq pins of first PCI device.
Laszlo Ersek (1):
maininit(): print machine UUID under seabios version message
Paolo Bonzini (1):
acpi: reintroduce LNKS
Paolo's patch fixes the FreeBSD boot failure.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 27dd7730582be85c7d4f680f5f71146629809c86
Merge: 914606d... ec5e016...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Dec 19 17:15:39 2012 -0600
Merge remote-tracking branch 'bonzini/header-dirs' into staging
* bonzini/header-dirs: (45 commits)
janitor: move remaining public headers to include/
hw: move executable format header files to hw/
fpu: move public header file to include/fpu
softmmu: move remaining include files to include/ subdirectories
softmmu: move include files to include/sysemu/
misc: move include files to include/qemu/
qom: move include files to include/qom/
migration: move include files to include/migration/
monitor: move include files to include/monitor/
exec: move include files to include/exec/
block: move include files to include/block/
qapi: move include files to include/qobject/
janitor: add guards to headers
qapi: make struct Visitor opaque
qapi: remove qapi/qapi-types-core.h
qapi: move inclusions of qemu-common.h from headers to .c files
ui: move files to ui/ and include/ui/
qemu-ga: move qemu-ga files to qga/
net: reorganize headers
net: move net.c to net/
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62e0c095450f6a7eb37914991f3f7966aa4da7a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 9 20:15:31 2012 +0100
MAINTAINERS: Include X86CPU in CPU maintenance area
Document that the x86 CPU refactorings are going through the qom-cpu
tree. This does not contradict the established practice that patches
adding KVM features to the x86 CPU go through the KVM maintainers,
it merely takes it out of target-i386 TCG's Odd Fixes status.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Marcello Tosatti <mtosatti@xxxxxxxxxx>
commit f7575c96c6058763fe3bd8dd26f3d09473f2df36
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 06:18:14 2012 +0100
cpu: Move kvm_run into CPUState
Pass CPUState / {X86,S390}CPU to helper functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a60f24b56b07f46453424263b276b0879c25c4e6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 05:35:08 2012 +0100
cpu: Move kvm_state field into CPUState
Adapt some functions to take CPUState / {PowerPC,S390}CPU argument.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a34a92b9ecd8d25bd1de9df601ed31ccd8ebcae7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:43:18 2012 +0100
ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()
Cleans up after passing PowerPCCPU to timer callbacks.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f9859fb49cb3c6ec876bc0bf709f28afcdd2384
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:47:33 2012 +0100
ppc4xx_devs: Return PowerPCCPU from ppc4xx_init()
Prepares for passing PowerPCCPU to ppc_booke_timers_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee0c98e650da0ce1e4e17dc1e2bbb946cde2c45c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:35:15 2012 +0100
ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks
Cleans up after passing PowerPCCPU to booke_update_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 50c680f06ca81aebc91ac4a325f194b2d8396721
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:26:55 2012 +0100
ppc: Pass PowerPCCPU to [h]decr timer callbacks
Cleans up after passing PowerPCCPU to [h]decr exception callbacks.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e0a924734e7bfad7568bf57fec68bfecd5c2575
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:18:02 2012 +0100
ppc: Pass PowerPCCPU to [h]decr callbacks
Cleans up after passing PowerPCCPU to ppc_set_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7058581a26f4299e0b7e05677c64c1b5a50d0e75
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 03:55:58 2012 +0100
ppc: Pass PowerPCCPU to ppc_set_irq()
Adapt static caller functions.
This cleans up after passing PowerPCCPU to kvmppc_set_interrupt().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1bc22652d62f862a5def54f939e87fdb7a5593ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 06:06:49 2012 +0100
kvm: Pass CPUState to kvm_vcpu_ioctl()
Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 20d695a9254c1b086a456d3b79a3c311236643ba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 06:57:49 2012 +0100
kvm: Pass CPUState to kvm_arch_*
Move kvm_vcpu_dirty field into CPUState to simplify things and change
its type to bool while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8737c51c0444f832c4e97d7eb7540eae457e08e4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 05:29:00 2012 +0100
cpu: Move kvm_fd into CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a404b61244ff555ace0a1360fc22275fbeda503e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:11 2012 -0200
qdev-properties.c: Separate core from the code used only by qemu-system-*
This separates the qdev properties code in two parts:
- qdev-properties.c, that contains most of the qdev properties code;
- qdev-properties-system.c for code specific for qemu-system-*,
containing:
- Property types: drive, chr, netdev, vlan, that depend on code that
won't be included on *-user
- qemu_add_globals(), that depends on qemu-config.o.
This change should help on two things:
- Allowing DeviceState to be used by *-user without pulling
dependencies that are specific for qemu-system-*;
- Writing qdev unit tests without pulling too many dependencies.
The copyright/license of qdev-properties.c isn't explicitly stated at
the file, so add a simple copyright/license header pointing to the
commit ID of the original file.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04a2d61e494532260214736ebb0f975822771643
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:10 2012 -0200
qdev: Coding style fixes
Add missing braces and break lines larger than 80 chars.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 92a3136174f60ee45b113296cb2c2a5225b00369
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 16 02:17:02 2012 +0100
cpu: Introduce CPUListState struct
This generalizes {ARM,M68k,Alpha}CPUListState to avoid declaring it for
each target. Place it in cpu-common.h to avoid circular dependencies.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit ec5e016c9a68588bd01be387416923c7dcafb951
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 13:09:17 2012 +0200
janitor: move remaining public headers to include/
Headers in the root directory are now used only from within that
directory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 42dc882ff850cde22ae7d501d1dd452837fc4103
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 14 18:19:15 2012 +0200
hw: move executable format header files to hw/
Or delete a.out.h which is unused.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6b4c305cbd549e9d12a6b0192fdb8d6519a9664c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 13:12:00 2012 +0200
fpu: move public header file to include/fpu
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 927d4878b0ff319ed87fed9363f314613b0a5ed9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:05 2012 +0100
softmmu: move remaining include files to include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9c17d615a66ebd655871bf891ec0fe901ad8b332
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:04 2012 +0100
softmmu: move include files to include/sysemu/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1de7afc984b49af164e2619e6850b9732b173b34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:00 2012 +0100
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 14cccb618508a0aa70eb9ccf366703a019a45ff0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:50 2012 +0100
qom: move include files to include/qom/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit caf71f86a3de97394bcc5b06549012b7dc65fe60
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:50 2012 +0100
migration: move include files to include/migration/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83c9089e73b81c69dc1ecdf859fa84d2c500fb5f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:49 2012 +0100
monitor: move include files to include/monitor/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 022c62cbbcf1ff40b23c92874f8670cddfec2414
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:49 2012 +0100
exec: move include files to include/exec/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 737e150e89c44c6b33691a627e24bac7fb58f349
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:44 2012 +0100
block: move include files to include/block/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7b1b5d191385ca52e96caae2a05c64f3a63855d9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:43 2012 +0100
qapi: move include files to include/qobject/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb9c377f54a756b04ef92c1c2e0453613ee863cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 12:15:58 2012 +0100
janitor: add guards to headers
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7edd63f1b179c18f0f1a4664ddbabe4fe5b2be2f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:28:04 2012 +0100
qapi: make struct Visitor opaque
Move its definition from qapi-visit-core.h to qapi-visit-impl.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4167c42c5eb79add9252547efe92df7e5c2d1abd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:51:59 2012 +0100
qapi: remove qapi/qapi-types-core.h
The file is only including error.h and qerror.h. Prefer explicit
inclusion of whatever files are needed.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 79ee7df8853c5d7085d87036420b6b388dda2595
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:22:34 2012 +0100
qapi: move inclusions of qemu-common.h from headers to .c files
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 28ecbaeecb139a214f019207402a35d7b58aec0f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 28 12:06:30 2012 +0100
ui: move files to ui/ and include/ui/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2870dc3456c9c02debb63b0a99b3dcbbf74a1048
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:26:49 2012 +0200
qemu-ga: move qemu-ga files to qga/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1422e32db51ff2b1194fb24a6201c4310be5667d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 08:43:34 2012 +0200
net: reorganize headers
Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed. Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd9400b302ef582c3ae8a8d5288338ea5f0f4c9a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:27:28 2012 +0200
net: move net.c to net/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7fa22f2bf7a06d5345283a00a7c6d86b8a345228
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 09:36:33 2012 +0200
net: do not include net.h everywhere
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 090f7ac5ba433ef9de7004b8e8304d06bd9ffd7d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 09:36:16 2012 +0200
net: move Bluetooth stuff out of net.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f8fe796407d8b340def61a6b57991e47aee3cfc4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 08:49:51 2012 +0200
janitor: do not include qemu-char everywhere
Touching char/char.h basically causes the whole of QEMU to
be rebuilt. Avoid this, it is usually unnecessary.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 077805fa92b9089137c6b6b196d449ee05cc342f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Sep 25 10:04:17 2012 +0200
janitor: do not rely on indirect inclusions of or from qemu-char.h
Various header files rely on qemu-char.h including qemu-config.h or
main-loop.h, but they really do not need qemu-char.h at all (particularly
interesting is the case of the block layer!). Clean this up, and also
add missing inclusions of qemu-char.h itself.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8e98e2e80b92e08e79e27a0c20a172906cfa12d2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:16:01 2012 +0200
build: kill libuser
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:12:21 2012 +0200
build: kill libdis, move disassemblers to disas/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c1c9367216c97ca93de79e90822045a425d7e76d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 14 18:28:23 2012 +0200
build: create ldscripts/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 525877c9992a07d424be4cfdd4ba13a69141a513
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 08:35:53 2012 +0200
build: move rules from Makefile to */Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4e8cb28c4b536bf408c1ba01710e2a7644e144e5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 10:31:17 2012 +0200
build: add $(TARGET_DIR) to "GEN config-target.h" lines
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9d9199a003b7531257836d5abb0b30c250303885
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 10:21:52 2012 +0200
build: adjust setting of QEMU_INCLUDES
Make it correct for nested directories, and move the static part
from Makefile to configure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7937e75b1aba66cf24c93e58c48cbb4d59d1c19c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 10:47:53 2012 +0200
vscclient: use per-target variables
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 494342b35b55b3b126821141e15c8a49df122ff1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:44:21 2012 +0200
target-alpha: Add support for -cpu ?
Implement alphabetical listing of CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0c28246fcd5ea9ccb22aa93ef2e0af14463fec58
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:33:32 2012 +0200
target-alpha: Turn CPU definitions into subclasses
Make TYPE_ALPHA_CPU abstract and add types <name>-alpha-cpu.
Use type inheritence, and turn "2*" models into aliases.
Move cpu_alpha_init() to cpu.c and split out CPU realization.
Default to creating type "ev67-alpha-cpu" as before.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c92458538f501eda585b4b774c50644aed391a8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 02:41:11 2012 +0100
target-alpha: Avoid leaking the alarm timer over reset
Move the timer from CPUAlphaState to AlphaCPU to avoid the pointer being
zero'ed once we implement reset. Would cause a segfault in
sys_helper.c:helper_set_alarm().
This also simplifies timer initialization in Typhoon.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad6011775a324d7c3e2a8bd824e03c5e576dda48
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 16 02:45:53 2012 +0200
alpha: Pass AlphaCPU array to Typhoon
Also store it in TyphoonCchip.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f5e335088925cedc5b912fd8bb4e1e933094d56
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:52:00 2012 +0200
target-alpha: Let cpu_alpha_init() return AlphaCPU
Replace cpu_init() macro with inline function for backwards
compatibility.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 914606d26e654d4c01bd5186f4d05e3fd445e219
Merge: 5455a47... 779ab5e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:43 2012 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
configure: Earlier pkg-config probe
vmmouse_reset(): remove minimal code duplication
linux-user/syscall.c: remove wrong forward decl of setgroups()
fix build error on ARM due to wrong glibc check
gitignore: Add virtfs-proxy-helper
arm_gic: Add cpu nr to Raised IRQ message
zynq_slcr: Compile time warning fixes.
pflash_cfi0x: Send debug messages to stderr
pflash_cfi01: qemu_log_mask "unimplemented" msg
net, hub: fix the indent in the comments
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5455a474d92e345df83212fd1b2f59d4a5d46ca9
Merge: 510981a... 91bdd1c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:32 2012 -0600
Merge remote-tracking branch 'amit/master' into staging
* amit/master:
virtio-serial-bus: assert port is non-null in remove_port()
virtio-serial-bus: send_control_msg() should not deal with cpkts
virtio-serial: delete timer if active during exit
virtio-serial: allocate post_load only at load-time
virtio-serial: move active ports loading to separate function
virtio-serial: use uint32_t to count ports
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 510981a097bf16ef4747c9a1dfe806edfc117177
Merge: c3a1ecd... 700f6b6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:21 2012 -0600
Merge remote-tracking branch 'spice/spice.v66' into staging
* spice/spice.v66:
docs: add spice-port-fqdn.txt
spice-qemu-char: register spicevmc ports during qemu_spice_init()
spice-qemu-char: keep a list of spice chardev
spice-qemu-char: add spiceport chardev
spice-qemu-char: factor out CharDriverState creation
spice-qemu-char: write to chardev whatever amount it can read
qxl+vnc: register a vm state change handler for dummy spice_server
qxl: save qemu_create_displaysurface_from result
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3a1ecd0fc565c913efc59663e7ac34b9c3c2291
Merge: a8a826a... 249e7e0...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:04 2012 -0600
Merge remote-tracking branch 'sstabellini/xen-20121217' into staging
* sstabellini/xen-20121217:
cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int
cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item,
write_phys_req_item
Fix compile errors when enabling Xen debug logging.
xen: fix trivial PCI passthrough MSI-X bug
xen: implement support for secondary consoles in the console backend
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 779ab5e3ddb9ad903f9a0ec21e148ed7bfd2d255
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 16 11:29:45 2012 +0100
configure: Earlier pkg-config probe
Probe pkg-config before it is used for the first time (libseccomp check).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5a6c7644b215060a43d94709307d86bc50e1b4b9
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Dec 13 15:01:49 2012 +0100
vmmouse_reset(): remove minimal code duplication
Commit 069ab0eb added a vmmouse_disable() call to vmmouse_reset().
vmmouse_disable() resets the status already.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c56dc774242f902e51e2343f4472e742ef2b7838
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Mon Dec 10 07:59:46 2012 +0100
linux-user/syscall.c: remove wrong forward decl of setgroups()
this declaration is wrong:
the correct prototype on linux is:
int setgroups(size_t size, const gid_t *list);
since by default musl libc exposes this symbol in unistd.h
additionally to grp.h, the wrong declaration causes a build error.
the proper fix is to simply include the correct header.
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e12cdb1b4055530c61fe99683d256c42e9e62ac8
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Mon Dec 10 07:59:44 2012 +0100
fix build error on ARM due to wrong glibc check
the test for glibc < 2 "succeeds" wrongly for any non-glibc C library,
and breaks the build on musl libc.
we must first test if __GLIBC__ is defined at all, before using it
unconditionally.
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 887eb29930a7b48e46d16916cb050d114016f143
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Dec 6 20:03:26 2012 -0500
gitignore: Add virtfs-proxy-helper
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c815fb30ed1940c66389be728b29d5ebdf05c0e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:36 2012 +1000
arm_gic: Add cpu nr to Raised IRQ message
Add the relevant CPU nr to this debug message to make IRQ debugging more
informative.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8f6038009662b481fbd1e43cd69af80aa10a8223
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:35 2012 +1000
zynq_slcr: Compile time warning fixes.
Few warnings when compiled with debug printfs enabled. Fixed all.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ec9ea4890cd06de1648cbbfb99fcb63e01f4000f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:34 2012 +1000
pflash_cfi0x: Send debug messages to stderr
These debug info messages should go to stderr rather than stdout.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d96fc51cc6defcd80bdf932823dadd88be532a0b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:33 2012 +1000
pflash_cfi01: qemu_log_mask "unimplemented" msg
This printf is informing the user of unimplemented functionality. It
should be
re-directed to qemu_log(LOG_UNIMP, ...) accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e103129b1b5746f8388b37d18317e61d6b139b69
Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 7 09:43:18 2012 +0800
net, hub: fix the indent in the comments
Remove some redundant blanks in the comments of
net_hub_id_for_client().
Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 91bdd1cf08f65b7a127c22d4d65ff9d16dcac870
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Dec 18 13:08:33 2012 +0530
virtio-serial-bus: assert port is non-null in remove_port()
remove_port() is called from qdev's unplug callback, and we're certain
the port will be found in our list of ports. Adding an assert()
documents this.
This was flagged by Coverity, fix suggested by Markus.
CC: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 4e28976e563ad54f6adc5ae00b1fb8224f1a82ca
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Dec 12 18:26:09 2012 +0530
virtio-serial-bus: send_control_msg() should not deal with cpkts
Stuff the cpkt before calling send_control_msg(). This function should
not be concerned about contents of the buffer it receives.
A few code refactorings recently have made making this change easier
than earlier.
Coverity and clang have flagged this code several times in the past
(cpkt->id not set before send_control_event() passed it on to
send_control_msg()). This will finally eliminate the false-positive.
CC: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 5f0cef1aa92b98610a99125d1d1d80e9339ac7c5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 27 09:51:55 2012 +0200
libcacard: simplify rules for recursive build
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6f991980a5e96f93a9f676959df2dcba665665ef
Merge: a8a826a... 1dd3a74...
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:17:08 2012 +0100
Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 700f6b6a921861a8946377a9531b6d1e8b09bb51
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:37 2012 +0100
docs: add spice-port-fqdn.txt
Start a simple org.qemu.* registry of well known name.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afd0b4091fef7a1290cf76c6da8c9a24a3553d58
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:36 2012 +0100
spice-qemu-char: register spicevmc ports during qemu_spice_init()
Do the delayed registration of spicevmc ports after Spice server is
initialized.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7a5448ce6ef140a20b1a090d50aeb4248d0a9ffd
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:35 2012 +0100
spice-qemu-char: keep a list of spice chardev
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5a49d3e9a799b7e1bf87da7ae7f2a719e01da319
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:34 2012 +0100
spice-qemu-char: add spiceport chardev
Add a new spice chardev to allow arbitrary communication between the
host and the Spice client via the spice server.
Examples:
This allows the Spice client to have a special port for the qemu
monitor:
... -chardev spiceport,name=org.qemu.monitor,id=monitorport
-mon chardev=monitorport
v2:
- remove support for chardev to chardev linking
- conditionnaly compile with SPICE_SERVER_VERSION
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71b423f4b970de2622803a67a2bf39b1d1f5a12c
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:33 2012 +0100
spice-qemu-char: factor out CharDriverState creation
Make the CharDriverState creation code reusable by spicevmc port.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07a54d704e62e2515db0b085d53d13a2f1b1b06a
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:32 2012 +0100
spice-qemu-char: write to chardev whatever amount it can read
The current code waits until the chardev can read MIN(len, VMC_MAX)
But some chardev may never reach than amount, in fact some of them
will only ever accept write of 1. Fix the min computation and remove
the VMC_MAX constant.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 938b8a36b65e44c44ca29245437f8d7ac0f826e8
Author: Uri Lublin <uril@xxxxxxxxxx>
Date: Wed Dec 12 18:30:47 2012 +0200
qxl+vnc: register a vm state change handler for dummy spice_server
When qxl + vnc are used, a dummy spice_server is initialized.
The spice_server has to be told when the VM runstate changes,
which is what this patch does.
Without it, from qxl_send_events(), the following error message is shown:
qxl_send_events: spice-server bug: guest stopped, ignoring
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Uri Lublin <uril@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2f464b5a32b414adb545acc6d94b5c35c7d258ba
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 10 07:41:07 2012 +0100
qxl: save qemu_create_displaysurface_from result
Spotted by Coverity.
https://bugzilla.redhat.com/show_bug.cgi?id=885644
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 249e7e0fff080df0eff54730f3b6459d92d61e5a
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:44:02 2012 +0000
cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int
The current code compare i (int) with req->count (uint32_t) in a for
loop, risking an infinite loop if req->count is equal to UINT_MAX.
Also i is only used in comparisons or multiplications with unsigned
integers.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
commit a38648290ee277c7cb8a53eabdcdb08bb7a9f23f
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:43:19 2012 +0000
cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item,
write_phys_req_item
Replace a lot of formulaic multiplications (containing casts, no less)
with calls to a pair of functions. This encapsulates in a single
place the operations which require care relating to integer overflow.
Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit f1b8caf1d927f30f66054733a783651a24db4999
Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Date: Mon Dec 17 11:37:43 2012 +0000
Fix compile errors when enabling Xen debug logging.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 044b99c6555f562254ae70dc39f32190eecbc1f2
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:36:58 2012 +0000
xen: fix trivial PCI passthrough MSI-X bug
We are currently passing entry->data as address parameter. Pass
entry->addr instead.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Xen-devel: http://marc.info/?l=xen-devel&m=135515462613715
commit 2c1d4d15f09cf95b8f832624e7aac2916f9d1865
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:36:09 2012 +0000
xen: implement support for secondary consoles in the console backend
This patch corresponds to commit
840184a106bc24e745beda5c77e392f6cecd2bc9 from
git://xenbits.xensource.com/qemu-xen-unstable.git.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 1dd3a74d2ee2d873cde0b390b536e45420b3fe05
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 10 13:00:45 2012 +0200
kvm: do not flush after deleting gsi
Deleting a GSI isn't necessary: it is enough
to stop using it. Delay flush until an entry is used.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2059946358999da80be22494af2d5c3174142902
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 23:11:16 2012 +0200
pci_bus.h: tweak include guards
Now that header has been renamed, tweak include guards
to match.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 952deab6cff5d6d81ff7a63955e958894c07177c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:04:09 2012 +0200
pci_bus: update comment
Don't ask everyone to desist from including this header,
simply recommend using accessors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 06aac7bd50cd934f416fe355633c045fee832905
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:00:45 2012 +0200
pci: rename pci_internals.h pci_bus.h
There are lots of external users of pci_internals.h,
apparently making it an internal interface only didn't
work out. Let's stop pretending it's an internal header.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d9fb58054825ef141e6d03f455654b2e3e767bce
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 14:39:01 2012 +0200
Revert "pci: prepare makefiles for pci code reorganization"
This reverts commit 475d67c3bcd6ba9fef917b6e59d96ae69eb1a9b4.
Now that all users have been updated, we don't need the
makefile hack or the softlink anymore.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c759b24fae08c6c333df03e1db48e13b7f5eda30
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 23:05:42 2012 +0200
pci: fix path for local includes
Include dependencies from pci core using the correct path.
This is required now that it's in the separate directory.
Need to check whether they can be minimized, for now,
keep the code as is.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a2cb15b0ddfa05f81a42d7b65dd0c7c50e420c33
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 14:24:50 2012 +0200
pci: update all users to look in pci/
update all users so we can remove the makefile hack.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 315a1350c4a386065a73aad2ded1a11d77bf7771
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 13:32:14 2012 +0200
pci: move pci core code to hw/pci
Move files and modify makefiles to pick them at the
new location.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Tue Dec 4 20:16:07 2012 +0000
exec: refactor cpu_restore_state
Refactor common code around calls to cpu_restore_state().
tb_find_pc() has now no external users, make it static.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5b6dd8683dc30e8e0970db3dd9176732dc819410
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 16:04:43 2012 +0000
exec: move TB handling to translate-all.c
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5a3165263ae6782a7fe712a0a0c29c17468b9b68
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 21:28:09 2012 +0000
exec: extract TB watchpoint check
Will be moved by the next patch.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 44209fc4edfd92464eb0413acfd434b687be945a
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 17:25:06 2012 +0000
exec: fix coding style
Fix coding style in areas to be moved by later patches.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 6d4e18925a65306afabaad7b63a4588c18919e99
Merge: 659f807... a64ae61...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 15 09:05:26 2012 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits)
pseries: Increase default NVRAM size
target-ppc: Don't use hwaddr to represent hardware state
PPC: e500: pci: Export slot2irq calculation
PPC: E500plat: Make a lot of PCI slots available
PPC: E500: Move PCI slot information into params
PPC: E500: Generate dt pci irq map dynamically
PPC: E500: PCI: Make IRQ calculation more generic
PPC: E500: PCI: Make first slot qdev settable
openpic: Accelerate pending irq search
openpic: fix minor coding style issues
MSI-X: Fix endianness
PPC: e500: Declare pci bridge as bridge
PPC: e500: Add MSI support
openpic: add Shared MSI support
openpic: make brr1 model specific
openpic: convert to qdev
openpic: remove irq_out
openpic: rename openpic_t to OpenPICState
openpic: convert simple reg operations to builtin bitops
openpic: remove unused type variable
...
commit 659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Thu Dec 13 04:13:41 2012 +0400
target-xtensa: fix ITLB/DTLB page protection flags
With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is
only used for code access, DTLB is only for data. However TLB entries in
both TLBs have attribute field controlling write and exec access. These
bits need to be properly masked off depending on TLB type before being
used as tlb_set_page prot argument. Otherwise the following happens:
(1) ITLB entry for some PFN gets invalidated
(2) DTLB entry for the same PFN gets updated, attributes allow code
execution
(3) code at the page with that PFN is executed (possible due to step 2),
entry for the TB is written into the jump cache
(4) QEMU TLB entry for the PFN gets replaced with an entry for some
other PFN
(5) code in the TB from step 3 is executed (possible due to jump cache)
and it accesses data, for which there's no DTLB entry, causing DTLB
miss exception
(6) re-translation of the TB from step 5 is attempted, but there's no
QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB
miss exception at the TB start address
(7) ITLB miss exception is handled by the guest, but execution is
resumed from the beginning of the faulting TB (the point where ITLB
miss occured), not from the point where DTLB miss occured, which is
wrong.
With that fix the above scenario causes ITLB miss exception (that used
to be step 7) at step 3, right at the beginning of the TB.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4b4496dbccc5f286f0ef411f0ff702d67cb95145
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:25 2012 +0100
console: clip update rectangle
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bc210eb163b162ff2e94e5c8f4307715731257f8
Author: Gerd Hoffmann <1087974@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 14 07:54:24 2012 +0000
pixman: fix vnc tight png/jpeg support
This patch adds an x argument to qemu_pixman_linebuf_fill so it can
also be used to convert a partial scanline. Then fix tight + png/jpeg
encoding by passing in the x+y offset, so the data is read from the
correct screen location instead of the upper left corner.
Cc: 1087974@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Tim Hardeneck <thardeck@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f27b2e1dfe79f993567652411d1ba16295b99719
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:23 2012 +0100
pixman: update internal copy to pixman-0.28.2
Some w64 fixes by Stefan Weil found their way into 0.28.2,
so update the internal copy to that version to improve
windows support.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cb1d40d7ccfc18ba1fcb9e064402d930349ee047
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:22 2012 +0100
Revert "pixman: require 0.18.4 or newer"
This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae.
The only reason old pixman versions didn't work was the missing
PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now. So we don't
have to require a minimum pixman version.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fbddfc727bde692f009a269e8e628d8c152b537b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:21 2012 +0100
pixman: fix version check for PIXMAN_TYPE_BGRA
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f28558d3d37ad3bc4e35e8ac93f7bf81a0d5622c
Author: Will Auld <will.auld.intel@xxxxxxxxx>
Date: Mon Nov 26 21:32:18 2012 -0800
target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs
CPUID.7.0.EBX[1]=1 indicates IA32_TSC_ADJUST MSR 0x3b is supported
Basic design is to emulate the MSR by allowing reads and writes to the
hypervisor vcpu specific locations to store the value of the emulated
MSRs.
In this way the IA32_TSC_ADJUST value will be included in all reads to
the TSC MSR whether through rdmsr or rdtsc.
As this is a new MSR that the guest may access and modify its value needs
to be migrated along with the other MRSs. The changes here are
specifically
for recognizing when IA32_TSC_ADJUST is enabled in CPUID and code added
for migrating its value.
Signed-off-by: Will Auld <will.auld@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit a64ae610b978dfd8ccfb7f6c5d4cfe62d7542fbd
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:16 2012 +0000
pseries: Increase default NVRAM size
If no image file for NVRAM is specified, the pseries machine currently
creates a 16K non-persistent NVRAM by default. This basically works, but
is not large enough for current firmware and guest kernels to create all
the NVRAM partitions they would like to. Increasing the default size to
64K addresses this and stops the guest generating error messages.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b162d02e9450201c656edce290f33994a6d2ad33
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:14 2012 +0000
target-ppc: Don't use hwaddr to represent hardware state
The hwaddr type is somewhat vaguely defined as being able to contain bus
addresses on the widest possible bus in the system. For that reason it's
discouraged for representing specific pieces of persistent hardware state,
which should instead use an explicit width type that matches the bits
available in real hardware. In particular, because of the possibility
that
the size of hwaddr might change if different buses are added to the target
in future, it's not suitable for use in vm state descriptions for savevm
and migration.
This patch purges such unwise uses of hwaddr from the ppc target code,
which turns out to be just one. The ppcemb_tlb_t struct, used on a number
of embedded ppc models to represent a TLB entry contains a hwaddr for the
real address field. This patch changes it to be a fixed uint64_t which is
suitable enough for all machine types which use this structure.
Other uses of hwaddr in CPUPPCState turn out not to be problematic:
htab_base and htab_mask are just used for the convenience of the TCG code;
the underlying machine state is the SDR1 register, which is stored with
a suitable type already. Likewise the mpic_cpu_base field is only used
internally and does not represent fundamental hardware state which needs
to
be saved.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9e2c12988bebca7b99c0cd064b23fb7ea6643c86
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 01:16:24 2012 +0100
PPC: e500: pci: Export slot2irq calculation
We need the calculation method to get from a PCI slot ID to its respective
interrupt line twice. Once in the internal map function and once when
assembling the device tree.
So let's extract the calculation to a separate function that can be called
by both users.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bb7e02a9725a24e5bf915b35f914f82f5b07a1f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 14:58:30 2012 +0100
PPC: E500plat: Make a lot of PCI slots available
The ppce500 machine doesn't have to stick to hardware limitations,
as it's defined as being fully device tree based.
Thus we can change the initial PCI slot ID to 0x1 which gives us a
whopping 31 PCI devices we can support with this machine now!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 492ec48dc2d99ca13b24d554e1970af7e2581e23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 13:53:53 2012 +0100
PPC: E500: Move PCI slot information into params
We have a params struct that allows us to expose differences between
e500 machine models. Include PCI slot information there, so we can have
different machines with different PCI slot topology.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 347dd79dccf41a679115213da673dfd06c4c8cc8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 13:47:07 2012 +0100
PPC: E500: Generate dt pci irq map dynamically
Today we're hardcoding the PCI interrupt map in the e500 machine file.
Instead, let's write it dynamically so that different machine types
can have different slot properties.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05f57d9de8e99bf5f7ca762c6dc2f1e054c2074c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 12:58:12 2012 +0100
PPC: E500: PCI: Make IRQ calculation more generic
The IRQ line calculation is more or less hardcoded today. Instead, let's
write it as an algorithmic function that theoretically allows an arbitrary
number of PCI slots.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eafb325fb11af21ed9df3f5a310fd26e70954318
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 12:56:40 2012 +0100
PPC: E500: PCI: Make first slot qdev settable
Today the first slot id in our e500 pci implementation is hardcoded to
0x11. Keep it there as default, but allow users to change the default to
a different id.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 76aec1f8b6549d14576a3eb739c731df8f678ffb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 12:48:14 2012 +0100
openpic: Accelerate pending irq search
When we're done with one interrupt, we need to search for the next pending
interrupt in the queue. This search has grown quite big now that we have
more than 256 possible irq lines.
So let's memorize how many interrupts we have pending in our bitmaps, so
that we can always bail out in the usual case - the one where we're all
done.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbe30e13e87a71e85e88ae3ffd3460173cbc8193
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 00:44:22 2012 +0100
openpic: fix minor coding style issues
This patch removes all remaining occurences of spaces before function
parameter indicating parenthesis.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 6 04:11:33 2012 +0100
MSI-X: Fix endianness
The MSI-X vector tables are usually stored in little endian in memory,
so let's mark the accessors as such.
This fixes MSI-X on e500 for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 997505065dc92e533debf5cb23012ba4e673d387
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:27:26 2012 +0100
PPC: e500: Declare pci bridge as bridge
The new PCI host bridge device needs to identify itself as PCI host
bridge.
Declare it as such.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a911b7a92064d17b862ae85fe8e5ec91b7ba1aa9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:26:37 2012 +0100
PPC: e500: Add MSI support
Now that our interrupt controller supports MSIs, let's expose that feature
to the guest through the device tree!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 732aa6ec2639ace8bcb0b27b9c0d71103bd1d153
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:18:00 2012 +0100
openpic: add Shared MSI support
The OpenPIC allows MSI access through shared MSI registers. Implement
them for the MPC8544 MPIC, so we can support MSIs.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbbbfd6058dda61f57d1f72133aa54eb27330411
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 13:51:50 2012 +0100
openpic: make brr1 model specific
Now that we can properly distinguish between openpic model differences,
let's move brr1 out of the raven code path.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d0b7263134dfd4d487698b639f2069951f3fdb26
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 05:17:14 2012 +0100
openpic: convert to qdev
This patch converts the OpenPIC device to qdev. Along the way it
renames the "openpic" target to "raven" and the "mpic" target to
"fsl_mpic_20", to better reflect the actual models they implement.
This way we have a generic OpenPIC device now that can handle
different flavors of the OpenPIC specification.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5bac0701113f4de4fee053a3939b0f569a04b88c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 02:18:58 2012 +0100
openpic: remove irq_out
The current openpic emulation contains half-ready code for bypass mode.
Remove it, so that when someone wants to finish it they can start from a
clean state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d544ee8ac2097c87fc97b53d6a1310d9daa0562
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:59:20 2012 +0100
openpic: rename openpic_t to OpenPICState
Rename the openpic_t struct to OpenPICState, so it adheres better to
the current coding style rules.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1945dbc15f0f1ffdc9a10526448e9eba7c599d98
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:49:52 2012 +0100
openpic: convert simple reg operations to builtin bitops
The openpic code has its own bitmap code to access bits inside of a
bitmap. However, that is overkill when we simply want to check for a
bit inside of a uint32_t.
So instead, let's use normal bit masks and C builtin shifts and ands.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1d10851522d7262a266f95d54c48eb2b1d8eb9b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:25:21 2012 +0100
openpic: remove unused type variable
The openpic source irqs are carrying around a type indicator that
is never accessed by anything. Remove it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35732cb41e8f8608bb0fd6ae023daee56d439bf1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:04:48 2012 +0100
openpic: unify memory api subregions
The only difference between the "openpic" and "mpic" memory api subregion
descriptors is the endianness. Unify them as openpic accessors with
explicit
endianness markers in their names.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 825463b38414c9afb657caee1ce20eff2d521317
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 00:58:54 2012 +0100
openpic: combine openpic and mpic reset functions
The openpic and mpic reset handlers are almost identical. Combine
them and extract the differences into state variables.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c38c0b8ad0551e470984f2ae7e8e54aae304ed4b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 00:43:42 2012 +0100
openpic: merge mpic and openpic timer handling
The openpic and mpic timer handling code is basically the same.
Merge them.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5861a33898bbddfd1a80c2e202cb9352e3b1ba62
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 23:51:09 2012 +0100
openpic: combine mpic and openpic irq raise functions
The IRQ raise mechanisms of the OpenPIC and MPIC controllers is identical,
just that the MPIC one can also raise critical interrupts.
Combine those two and check for critical raise capability during runtime.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 780d16b77f992db81e90b7dd7474a9397ce393b9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 17:15:15 2012 +0100
openpic: Convert subregions to memory api
The "openpic" controller is currently using one big region and does
subregion dispatching manually. Move this to the memory api.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a285f1ca703a434fa8edf584f94a1dc29067ab29
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:45:40 2012 +0100
openpic: combine mpic and openpic src handlers
The MPIC source irq handler suddenly became identical to the standard
OpenPIC source irq handler. Combine them into the same function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b9b2aaa3c6926cf8af21fe75457ca6c6e0dc1f5d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:31:55 2012 +0100
openpic: update to proper memory api
The openpic code was still using the old mmio memory api. Convert it to
be a generic memory api user and clean up some code that becomes redundant
that way.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cdbb912a6f8b5f325df3a6fd42cb2843032050c9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:10:34 2012 +0100
mpic: Unify numbering scheme
MPIC interrupt numbers in Linux (device tree) and in QEMU are different,
because QEMU takes the sparseness of the IRQ number space into account.
Remove that cleverness and instead assume a flat number space. This makes
the code easier to understand, because we are actually aligned with Linux
on the view of our worlds.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38898d7ed803cee5105246150725487add78cbd7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 6 15:59:27 2012 +0100
openpic: Remove unused code
The openpic code had a few WIP bits left that nobody reanimated within
the last few years. Remove that code.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
commit 8b1853e7d8c2bf8c6a9f023ab98ba0e8a38bd086
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:13 2012 +0000
pseries: Don't allow TCE (iommu) tables to be registered with duplicate
LIOBNs
The PAPR specification requires that every bus or device mediated by the
IOMMU have a unique Logical IO Bus Number (LIOBN). This patch adds a
check
to enforce this, which will help catch errors in configuration earlier.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3eddc1be1ccb26387f8f960f8a3d8c417064a91f
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Oct 10 04:28:28 2012 +0000
Adding BAR0 for e500 PCI controller
PCI Root complex have TYPE-1 configuration header while PCI endpoint
have type-0 configuration header. The type-1 configuration header have
a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
address space to CCSR address space. This can used for 2 purposes: 1)
for MSI interrupt generation 2) Allow CCSR registers access when
configured
as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest.
What I observed is that when guest read the size of BAR0 of host
controller
configuration header (TYPE1 header) then it always reads it as 0. When
looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller
device registering BAR0. I do not find any other controller also doing so
may they do not use BAR0.
There are two issues when BAR0 is not there (which I can think of):
1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and
when reading the size of BAR0, it should give size as per real h/w.
2) Do we need this BAR0 inbound address translation?
When BAR0 is of non-zero size then it will be configured for PCI
address space to local address(CCSR) space translation on inbound access.
The primary use case is for MSI interrupt generation. The device is
configured with an address offsets in PCI address space, which will be
translated to MSI interrupt generation MPIC registers. Currently I do
not understand the MSI interrupt generation mechanism in QEMU and also
IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines.
But this BAR0 will be used when using MSI on e500.
I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c,
but i do not see these being used for address translation.
So far that works because pci address space and local address space are
1:1
mapped. BAR0 inbound translation + ATMU translation will complete the
address
translation of inbound traffic.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: fix double variable assignment w/o read]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dffb1dc29fb364aaafc41b34100a06517d7f065e
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Oct 10 04:28:27 2012 +0000
e500: Adding CCSR memory region
All devices are also placed under CCSR memory region.
The CCSR memory region is exported to pci device. The MSI interrupt
generation is the main reason to export the CCSR region to PCI device.
This put the requirement to move mpic under CCSR region, but logically
all devices should be under CCSR. So this patch places all emulated
devices under ccsr region.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4fd50339c0b55fa6387fa3c28f755c306997064c
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:58 2012 +0000
pseries: Update SLOF for NVRAM support
Now that we have implemented PAPR compatible NVRAM interfaces in qemu,
this
updates the SLOF firmware to actually initialize and use the NVRAM as a
PAPR guest firmware is expected to do.
This SLOF update also includes an ugly but useful workaround for a bug in
the SLES11 installer which caused it to fail under KVM.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 639e8102ae71ce2e46ebeffc6080767e573c0c56
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:57 2012 +0000
pseries: Implement PAPR NVRAM
The PAPR specification requires a certain amount of NVRAM, accessed via
RTAS, which we don't currently implement in qemu. This patch addresses
this deficiency, implementing the NVRAM as a VIO device, with some glue to
instantiate it automatically based on a machine option.
The machine option specifies a drive id, which is used to back the NVRAM,
making it persistent. If nothing is specified, the driver instead simply
allocates space for the NVRAM, which will not be persistent
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 22a2611c9cef4a8c8ad96fe17b3511a6cc5fb3a1
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:55 2012 +0000
pseries: Split xics irq configuration from state information
Currently the XICS irq controller code has a per-irq state structure which
amongst other things includes whether the interrupt is level or message
triggered - this is configured by the platform code, and is not directly
visible to the guest. This leads to a slightly awkward construct at reset
time where we need to reset everything in the state structure _except_ the
lsi/msi flag, which needs to retain the information given at platform init
time.
More importantly this flag will make matching the qemu state to the KVM
state for the upcoming in-kernel XICS implementation more awkward. This
patch, therefore, removes this flag from the per-irq state structure,
instead adding a parallel array giving the lsi/msi configuration per irq.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 500efa2319d1f1074b1d61e5ceb7a0fd61d0831d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:54 2012 +0000
pseries: Add tracepoints to the XICS interrupt controller
This patch adds tracing / debugging calls to the XICS interrupt controller
implementation used on the pseries machine.
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d36b66f7a420737dcc24de15b35a465ff6b1798d
Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:53 2012 +0000
pseries: Allow RTAS tokens without a qemu handler
Kernel-based RTAS calls will not have a qemu handler, but will
still be registered in qemu in order to be assigned a token
number and appear in the device-tree.
Let's test for the name being NULL rather than the handler
when deciding to skip an entry while building the device-tree
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4aac82c34675fcbd3722dfc3a2d04c839215ec6b
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:52 2012 +0000
pseries: Return the token when we register an RTAS call
The kernel will soon be able to service some RTAS calls. However the
choice of tokens will still be up to userspace. To support this have
spapr_rtas_register() return the token that is allocated for an
RTAS call, that allows the calling code to tell the kernel what the
token value is.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf3bc4c4e992fb9914e2f1f7e8a569394d298b57
Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:50 2012 +0000
pseries: Use #define for XICS base irq number
Currently the lowest "real" irq number for the XICS irq controller (as
opposed to numbers reserved for IPIs and other special purposes) is
hard coded as 16 in two places - in xics_system_init() and in spapr.c.
As well as being generally bad practice, we're going to need to change
this
number soon to fit in with the in-kernel XICS implementation. This patch
adds a #define for this number to avoid future breakage.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 044f4c8b0ee90290b6cbbc616c4be3c8aeffcaab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:49 2012 +0000
pseries: Fix incorrect initialization of interrupt controller
Currently in the reset code for the XICS interrupt controller, we
initialize the pending_priority field to 0 (most favored, by XICS
convention). This is incorrect, since there is no pending interrupt, it
should be set to least favored - 0xff. At the moment our XICS
implementation doesn't get hurt by this edge case, but it does confuse the
upcoming kernel XICS implementation.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e376a788ae130454ad5e797f60cb70d0308babb6
Merge: df93300... 226c3c2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 14:32:28 2012 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony: (43 commits)
qcow2: Factor out handle_dependencies()
qcow2: Execute run_dependent_requests() without lock
qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2
qcow2: Allocate l2meta only for cluster allocations
qcow2: Drop l2meta.cluster_offset
qcow2: Allocate l2meta dynamically
qcow2: Introduce Qcow2COWRegion
qcow2: Round QCowL2Meta.offset down to cluster boundary
atapi: reset cdrom tray statuses on ide_reset
qemu-iotests: Test concurrent cluster allocations
qcow2: Move BLKDBG_EVENT out of the lock
qemu-io: Add AIO debugging commands
blkdebug: Implement suspend/resume of AIO requests
blkdebug: Factor out remove_rule()
blkdebug: Allow usage without config file
create new function: qemu_opt_set_number
use qemu_opts_create_nofail
introduce qemu_opts_create_nofail function
qemu-option: qemu_opt_set_bool(): fix code duplication
qemu-option: qemu_opts_validate(): fix duplicated code
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit df9330070e671134544f872dc5c027443878b764
Merge: aa1246a... 871edc5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:41:57 2012 -0600
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
* pmaydell/arm-devs.next:
hw/ds1338.c: Fix handling of DAY (wday) register.
hw/ds1338.c: Implement support for the control register.
hw/ds1338.c: Ensure state is properly initialized.
hw/ds1338.c: Fix handling of HOURS register.
hw/ds1338.c: Add definitions for various flags in the RTC registers.
hw/ds1338.c: Correct bug in conversion to BCD.
exynos4210/mct: Avoid infinite loop on non incremental timers
hw/arm_gic: fix target CPUs affected by set enable/pending ops
xilinx_zynq: Add one variable to avoid overwriting QSPI bus
hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs
hw/arm_gic: Fix comparison with priority mask register
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aa1246aee2914424f101a7e462bd1393ececef95
Merge: 5a58598... ff15629...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:41:25 2012 -0600
Merge remote-tracking branch 'kraxel/seabios-e8a76b0' into staging
* kraxel/seabios-e8a76b0:
seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5a58598090d1349d2bd3e9015e6999dcf87ec5b5
Merge: 45e6cee... d281084...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:40:23 2012 -0600
qMerge remote-tracking branch
'awilliam/tags/vfio-pci-for-qemu-20121210.0' into staging
vfio-pci: fix kvm disabled path
* awilliam/tags/vfio-pci-for-qemu-20121210.0:
vfio-pci: Don't use kvm_irqchip_in_kernel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 226c3c26b9800b7c6a8d3100e1faad6d2b97b0f5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:49 2012 +0100
qcow2: Factor out handle_dependencies()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4e95314e2bb7baa64f2a9026df5e2649081b7060
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:48 2012 +0100
qcow2: Execute run_dependent_requests() without lock
There's no reason for run_dependent_requests() to hold s->lock, and a
later patch will require that in fact the lock is not held.
Also, before this patch, run_dependent_requests() not only does what its
name suggests, but also removes the l2meta from the list of in-flight
requests. When changing this, it becomes an one-liner, so just inline it
completely.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 280d373579558f73a8b70e329d9a6206933d3809
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:47 2012 +0100
qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2
This is closer to where the dirty flag is really needed, and it avoids
having checks for special cases related to cluster allocation directly
in the writev loop.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f50f88b9fea09fef12cc293126cf45dcf0ef600b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:46 2012 +0100
qcow2: Allocate l2meta only for cluster allocations
Even for writes to already allocated clusters, an l2meta is allocated,
though it stays effectively unused. After this patch, only allocating
requests still have one. Each l2meta now describes an in-flight request
that writes to clusters that are not yet hooked up in the L2 table.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 060bee8943c27d4d53f65570fafaa2559fcd87c3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:45 2012 +0100
qcow2: Drop l2meta.cluster_offset
There's no real reason to have an l2meta for normal requests that don't
allocate anything. Before we can get rid of it, we must return the host
cluster offset in a different way.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf5c1a231ee99ac21fe8258faf50bb1f65884343
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:44 2012 +0100
qcow2: Allocate l2meta dynamically
As soon as delayed COW is introduced, the l2meta struct is needed even
after completion of the request, so it can't live on the stack.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 593fb83cacf3818a5623f31a6c04c24d87519ad0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:43 2012 +0100
qcow2: Introduce Qcow2COWRegion
This makes it easier to address the areas for which a COW must be
performed. As a nice side effect, the COW code in
qcow2_alloc_cluster_link_l2 becomes really trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1d3afd649bc77aa14bc2741e2da6475822d41c5f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:42 2012 +0100
qcow2: Round QCowL2Meta.offset down to cluster boundary
The offset within the cluster is already present as n_start and this is
what the code uses. QCowL2Meta.offset is only needed at a cluster
granularity.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 871edc5fdba884929102b89d28ff363c94f0822d
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Fix handling of DAY (wday) register.
Per the datasheet, the DAY (wday) register is user defined. Implement
this.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 996e91f04b9cc55cf246052856abe9189a5a0f28
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Implement support for the control register.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ed3d37d287300b7bcdb4605b921e5ec593afd214
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Ensure state is properly initialized.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 59dda8e05b015471d456177141a7c2eeda3dab14
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Fix handling of HOURS register.
Per the datasheet, the mapping between 12 and 24 hours modes is:
0 <-> 12 PM
1-12 <-> 1-12 AM
13-23 <-> 1-11 PM
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 95c9361598e66de42facdac64e614e3de85186f5
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Add definitions for various flags in the RTC registers.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 580f5c000809108f51a77ae74709100d32be6ea5
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Correct bug in conversion to BCD.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a75bf146503a94fb900e0dfa0529bd5d1be9fec5
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Dec 13 15:54:43 2012 +0530
virtio-serial: delete timer if active during exit
The post_load timer was being freed, but not deleted. This could cause
problems when the timer is armed, but the device is hot-unplugged before
the callback is executed.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit bdb917bf8ab187b662c612ee6fb87479c0b82490
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Fri Nov 30 00:54:44 2012 +0530
virtio-serial: allocate post_load only at load-time
This saves us a few bytes in the VirtIOSerial struct. Not a big
savings, but since the entire structure is used only during a short
while after migration, it's helpful to keep the struct cleaner and
smaller.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 2e575a86abc36764ef34030f423ef118914a01cc
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Nov 29 17:02:14 2012 +0530
virtio-serial: move active ports loading to separate function
The virtio_serial_load() function became too big, split the code that
gets the port info from the source into a separate function.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit c3587ca1a25862628e06cc019f91e7b2dcef40bf
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Nov 29 15:44:44 2012 +0530
virtio-serial: use uint32_t to count ports
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Tue Dec 11 08:55:48 2012 +0100
atapi: reset cdrom tray statuses on ide_reset
Tray statuses should be also reseted. Some guests may lock the tray
and after reset before any kernel is loaded the tray should be unlocked.
Also if you reset the real computer the tray is closed. We should
do the same in qemu.
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca818cfbfd77e02ffac338866568ac07f6f5fd7d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:11:55 2012 +0200
MAINTAINERS: add hw/pci/ to list of PCI files
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 29002d9e104913998265cfff95bb49f4b4a966e2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 13:07:29 2012 +0200
pci: prepare makefiles for pci code reorganization
To make it easier to move code around without breaking
build at intermedite steps, tweak makefiles
to look in pci/ and hw/ for include files, automatically.
This will be reverted at the end of the reorganization.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c84a2b1aa5ccdddad03d25f58be5c94eba0d9db4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 10 22:52:11 2012 +0200
get_maintainer.pl: update from linix 3.8
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 89e6d68ef3c45b2c4e3199c3397b5525b752698d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 12 09:13:04 2012 +0200
tap: reset vnet header size on open
For tap, we currently assume the vnet header size is 10
(the default value) but that might not be the case
if tap is persistent and has been used by qemu previously.
To fix, set vnet header size correctly on open.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f918e40e6b7f4e3dcf89c3e3f1001e965a683a1
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Mon Oct 29 22:11:31 2012 -0400
Fixup q35/ich9 Licenses
Cleanup the q35/ich9 license headers.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
commit 45e6cee42b98d10e2e14885ab656541a9ffd5187
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 4 11:38:39 2012 +1100
migration: Fix madvise breakage if host and guest have different page
sizes
madvise(DONTNEED) will throw away the contents of the whole page at the
given address, even if the given length is less than the page size. One
can argue about whether that's the correct behaviour, but that's what it's
done for a long time in Linux at least.
That means that the madvise() in ram_load(), on a setup where
TARGET_PAGE_SIZE is smaller than the host page size, can throw away data
in guest pages adjacent to the one it's actually processing right now,
leading to guest memory corruption on an incoming migration.
This patch therefore, disables the madvise() if the host page size is
larger than TARGET_PAGE_SIZE. This means we don't get the benefits of
that
madvise() in this case, but a more complete fix is more difficult to
accomplish. This at least fixes the guest memory corruption.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7ec81e56edc2b2007ce0ae3982aa5c18af9546ab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 4 11:38:38 2012 +1100
Fix off-by-1 error in RAM migration code
The code for migrating (or savevm-ing) memory pages starts off by creating
a dirty bitmap and filling it with 1s. Except, actually, because bit
addresses are 0-based it fills every bit except bit 0 with 1s and puts an
extra 1 beyond the end of the bitmap, potentially corrupting unrelated
memory. Oops. This patch fixes it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91d4093dce58e343e2336324794daa93517b86c2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:33:00 2012 +0100
qemu-iotests: Test concurrent cluster allocations
This adds some first tests for qcow2's dependency handling when two
parallel write requests access the same cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 67a7a0ebe5ef0f337d5f7e7e618b08c562a55da0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:59 2012 +0100
qcow2: Move BLKDBG_EVENT out of the lock
We want to use these events to suspend requests for testing concurrent
AIO requests. Suspending requests while they are holding the CoMutex is
rather boring for this purpose.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 41c695c749b84d40e53e64faadedc0392aaea07e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:58 2012 +0100
qemu-io: Add AIO debugging commands
This makes the blkdebug suspend/resume functionality available in
qemu-io. Use it like this:
$ ./qemu-io blkdebug::/tmp/test.qcow2
qemu-io> break write_aio req_a
qemu-io> aio_write 0 4k
qemu-io> blkdebug: Suspended request 'req_a'
qemu-io> resume req_a
blkdebug: Resuming request 'req_a'
qemu-io> wrote 4096/4096 bytes at offset 0
4 KiB, 1 ops; 0:00:30.71 (133.359788 bytes/sec and 0.0326 ops/sec)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3c90c65d7adab49a41952ee14e1d65f81355e408
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:57 2012 +0100
blkdebug: Implement suspend/resume of AIO requests
This allows more systematic AIO testing. The patch adds three new
operations to blkdebug:
* Setting a "breakpoint" on a blkdebug event. The next request that
triggers this breakpoint is suspended and is tagged with a name.
The breakpoint is removed after a request has triggered it.
* A suspended request (identified by it's tag) can be resumed
* It's possible to check whether a suspended request with a given
tag exists. This can be used for waiting for an event.
Ideally, we would instead tag requests right when they are created and
set breakpoints for individual requests. However, at this point the
block layer doesn't allow this easily, and breakpoints that trigger for
any request already allow a lot of useful testing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e35542b0fc3871caac15ccd57548b99df2c94b7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:56 2012 +0100
blkdebug: Factor out remove_rule()
The cleanup work to remove a rule depends on the type of the rule. It's
easy for the existing rules as there is no data that must be cleaned up
and is specific to a type yet, but the next patch will change this.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 312a2ba0eb8ab19646517aeaa785475d3fbcfd51
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:55 2012 +0100
blkdebug: Allow usage without config file
As soon as new rules can be set during runtime, as introduced by the
next patch, blkdebug makes sense even without a config file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b83c18e225cf82a21535561270b6dfd86b1c9031
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:23 2012 +0800
create new function: qemu_opt_set_number
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e478b448d7c36046462733ffaeaea0961575790a
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:22 2012 +0800
use qemu_opts_create_nofail
We will use qemu_opts_create_nofail function, it can make code
more readable.
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dd39244978627e41a66b98d20eceddb1d7d25def
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:21 2012 +0800
introduce qemu_opts_create_nofail function
While id is NULL, qemu_opts_create can not fail, so ignore
errors is fine.
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ad718d01ba0af531d10b0a8685cf5047edfd1891
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:20 2012 +0800
qemu-option: qemu_opt_set_bool(): fix code duplication
It will set opt->str in qemu_opt_set_bool, without opt->str, there
will be some potential bugs.
These are uses of opt->str, and what happens when it isn't set:
* qemu_opt_get(): returns NULL, which means "not set". Bug can bite
when value isn't the default value.
* qemu_opt_parse(): passes NULL to parse_option_bool(), which treats it
like "on". Wrong if the value is actually false. Bug can bite when
qemu_opts_validate() runs after qemu_opt_set_bool().
* qemu_opt_del(): passes NULL to g_free(), which is just fine.
* qemu_opt_foreach(): passes NULL to the callback, which is unlikely to
be prepared for it.
* qemu_opts_print(): prints NULL, which crashes on some systems.
* qemu_opts_to_qdict(): passes NULL to qstring_from_str(), which
crashes.
It also makes qemu_opt_set_bool more readable by using find_desc_by_name
and opts_accepts_any.
It is based on Luiz's patch and uses Markus's comments. Discussions can
be found at:
http://lists.nongnu.org/archive/html/qemu-devel/2012-07/msg02716.html
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit db97ceba1e17db59188e91b66e61bf84a6a71081
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:19 2012 +0800
qemu-option: qemu_opts_validate(): fix duplicated code
Use opts_accepts_any() and find_desc_by_name().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c474ced8fe6684265fbb6a3183eb0cbea561409f
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:18 2012 +0800
qemu-option: opt_set(): split it up into more functions
The new functions are opts_accepts_any() and find_desc_by_name(), which
are also going to be used by qemu_opts_validate() (see next commit).
This also makes opt_set() slightly more readable.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 97331270e50f5858c82a0c6d146da81f5b776535
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Dec 3 12:55:57 2012 +0000
exynos4210/mct: Avoid infinite loop on non incremental timers
Check for a 0 "distance" value to avoid infinite loop when the
expired FCR timer was not programed with auto-increment.
With this change the behavior is coherent with the same type
of code in the exynos4210_gfrc_restart() function in the same
file.
Linux seems to mostly use this timer with auto-increment
which explain why it is not a problem most of the time.
However other OS might have a problem with this if they
don't use the auto-increment feature.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Reviewed-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f47b48fb678581d6ee369cfe26b3513100b7d53e
Author: Daniel Sangorrin <dsl@xxxxxxx>
Date: Tue Dec 11 11:30:38 2012 +0000
hw/arm_gic: fix target CPUs affected by set enable/pending ops
Fix a bug on the ARM GIC model where interrupts are not
set pending on the correct target CPUs when they are
triggered by writes to the Interrupt Set Enable or
Set Pending registers.
Signed-off-by: Daniel Sangorrin <dsl@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 79f5d67e9db35d53b478699393590392f7be03ac
Author: walimis <walimisdev@xxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
xilinx_zynq: Add one variable to avoid overwriting QSPI bus
commit 7b482bcf xilinx_zynq: added QSPI controller
Adds one QSPI controller, which has two spi buses, one is for
spi0, and another is for spi1. But when initializing the spi1
bus, "dev" has been overwrited by the ssi_create_slave_no_init() function,
so that qdev_get_child_bus() returns NULL and the last two m25p80 flashes
won't be attached to the spi1 bus, but to main-system-bus.
Here we add one variable to avoid overwriting.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ee3f095680e4f578f4f1371a90acc20375b48966
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs
The GIC architecture specification for v1 and v2 GICs (as found
on the Cortex-A9 and newer) states that the GICC_PMR reset value
is zero; this differs from the 0xf0 reset value used on 11MPCore.
The NVIC is different again in not having a CPU interface; since
we share the GIC code we must force the priority mask field to
allow through all interrupts.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit cad065f18e1ca7694385f42f560da637d4e651b6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_gic: Fix comparison with priority mask register
The GIC spec states that only interrupts with higher priority
than the value in the GICC_PMR priority mask register are
passed through to the processor. We were incorrectly allowing
through interrupts with a priority equal to the specified
value: correct the comparison operation to match the spec.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit bf471f7950e9dc9416747b2774eb712f63afe5a7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init
Fix the code in the secondary CPU boot stubs so that it correctly
initialises the GIC rather than relying on bugs or implementation
dependent aspects of the QEMU GIC implementation:
* set the GIC_PMR.Priority field to all-ones, so that all
interrupts are passed through. The default of all-zeroes
means all interrupts are masked, and QEMU only booted because
of a bug in the priority masking in our GIC implementation.
* add a barrier after GIC setup and before WFI to ensure that
GIC config is complete before we go into a possible low power
state. This isn't needed with the software GIC model but could
be required when using KVM and executing this code on the
real hardware CPU.
Note that of the three secondary stub implementations, only
the common generic one needs to support both v6 and v7 DSB
encodings; highbank and exynos4210 will always be v7 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit fbcad04d6bfdff937536eb23088a01a280a1a3af
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Mon Dec 10 12:56:22 2012 +0100
Fix error code checking for SetFilePointer() call
An error has occurred if the return value is invalid_set_file_pointer
and getlasterror doesn't return no_error.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 473c7f0255920bcaf37411990a3725898772817f
Author: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Date: Fri Nov 30 09:55:46 2012 +0100
rbd: Fix race between aio completition and aio cancel
This one fixes a race which qemu had also in iscsi block driver
between cancellation and io completition.
qemu_rbd_aio_cancel was not synchronously waiting for the end of
the command.
To archieve this it introduces a new status flag which uses
-EINPROGRESS.
Signed-off-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 791bfa35ee00ca10b13bedfb048ffda385b151c7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 4 16:35:12 2012 +0100
qemu-io: Implement write -c for compressed clusters
This makes it easier to create images with both compressed and
uncompressed clusters for testing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 23e956bfe6af6f71046772478ed08d4e5c9c62d4
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 14 17:53:16 2012 -0500
tests: Add tests for fdsets
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d92ada2202a0730e396304908ff7b870168387d2
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:09 2012 -0200
block: bdrv_img_create(): drop unused error handling code
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf8f2426c55245f437a91f2fdabbed4ea24e7786
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:08 2012 -0200
qmp: qmp_drive_mirror(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 43e17041156ddecac8a7500648e71287ba270c0a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:07 2012 -0200
qmp: qmp_transaction(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a930091189cedcc0023dd38f705e2a46e530f4a4
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:06 2012 -0200
qemu-img: img_create(): drop unneeded goto and ret variable
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9b37525a7dbc4f5eef0023fc92716259a3d94612
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:05 2012 -0200
qemu-img: img_create(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 71c79813d83b5b45ba934cf995436063da458f66
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:04 2012 -0200
block: bdrv_img_create(): add Error ** argument
This commit adds an Error ** argument to bdrv_img_create() and set it
appropriately on error.
Callers of bdrv_img_create() pass NULL for the new argument and still
rely on bdrv_img_create()'s return value. Next commits will change
callers to use the Error object instead.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3c42ea66888f149d72d600bab63624b2d849e4bf
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Nov 22 21:02:55 2012 +0100
block: simplify default_drive
Markus Armbruster pointed out that there is only one caller
to default_drive with IF_DEFAULT as a type. Lets get rid
of the block_default_type parameter and adopt the caller
to do the right thing (asking the machine struct).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d0d2837dcf786da415cf4165d37f4ddd684ff57
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Nov 20 15:30:34 2012 +0100
Support default block interfaces per QEMUMachine
There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a
default/standard interface to their block devices / drives. Therefore,
this patch introduces a new field default_block_type per QEMUMachine
struct. The prior use_scsi field becomes thereby obsolete and is
replaced through .default_block_type = IF_SCSI.
This patch also changes the default for s390x to IF_VIRTIO and
removes an early hack that converts IF_IDE drives.
Other parties have already claimed interest (e.g. IF_SD for exynos)
To create a sane default, for machines that dont specify a
default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1.
I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c)
as well as IF_IDE and it seems that it is ok to change the defines -
in other words, I found no obvious (to me) assumption in the code
regarding IF_NONE==0. IF_NONE is only set if there is an
explicit if=none. Without if=* the interface becomes IF_DEFAULT.
I would suggest to have some additional care, e.g. by letting
this patch sit some days in the block tree.
Based on an initial patch from Einar Lueck <elelueck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
CC: Markus Armbruster <armbru@xxxxxxxxxx>
CC: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c208e8c2d88eea2bbafc2850d8856525637e495d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 2 16:14:20 2012 +0100
raw-posix: inline paio_ioctl into hdev_aio_ioctl
clang now warns about an unused function:
CC block/raw-posix.o
block/raw-posix.c:707:26: warning: unused function paio_ioctl
[-Wunused-function]
static BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd,
^
1 warning generated.
because the only use of paio_ioctl() is inside a #if defined(__linux__)
guard and it is static now.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 258d2edbcd4bb5d267c96163333820332e1c14fa
Author: Charles Arnold <carnold@xxxxxxxx>
Date: Tue Oct 30 20:59:32 2012 -0600
block: vpc support for ~2 TB disks
The VHD specification allows for up to a 2 TB disk size. The current
implementation in qemu emulates EIDE and ATA-2 hardware which only allows
for up to 127 GB. This disk size limitation can be overridden by allowing
up to 255 heads instead of the normal 4 bit limitation of 16. Doing so
allows disk images to be created of up to nearly 2 TB. This change does
not violate the VHD format specification nor does it change how smaller
disks (ie, <=127GB) are defined.
[Charles Arnold also writes: "In analyzing a 160 GB VHD fixed disk image
created on Windows 2008 R2, it appears that MS is also ignoring the CHS
values in the footer geometry field in whatever driver they use for
accessing the image. The CHS values are set at 65535,16,255 which
obviously doesn't represent an image size of 160 GB." -- Stefan]
Signed-off-by: Charles Arnold <carnold@xxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1fe1fa510aa3d4eb1fb4246d4951ef48e4c949c2
Author: Charles Arnold <carnold@xxxxxxxx>
Date: Fri Nov 2 09:54:24 2012 -0600
block: vpc initialize the uuid footer field
Initialize the uuid field in the footer with a generated uuid.
Signed-off-by: Charles Arnold <carnold@xxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d567e62f98d5789ff4d273b924a0474931c71e8b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Nov 15 13:12:14 2012 +1100
virtio-blk: Remove duplicate property definition
For the virtio-blk device (via virtio-pci) the property "config-wce" is
defined in two places. First, it's defined from the
DEFINE_VIRTIO_BLK_FEATURES macro, second it's defined directly in
virtio-pci, just two lines above the call to that macro.
The direct definition in virtio-pci.c is broken, since it operates on the
'config_wce' field of VirtIOBlkConf, which is never used anywhere else.
Therefore, this patch removes both the extra property definition and the
redundant field it works on.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Paul 'Rusty' Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f500a6d3c2b9ef0bb06d0080d91d8ed3c1d68f58
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Nov 12 17:35:27 2012 +0100
block: Avoid second open for format probing
This fixes problems that are caused by the additional open/close cycle
of the existing format probing, for example related to qemu-nbd without
-t option or file descriptor passing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7b272452398135e4f8e48341239705d03c82dae3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Nov 12 17:05:39 2012 +0100
block: Factor out bdrv_open_flags
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c57b6656c3168bccca7f78b3f740e9149893b3da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Nov 13 16:35:13 2012 +0100
aio: Get rid of qemu_aio_flush()
There are no remaining users, and new users should probably be
using bdrv_drain_all() in the first place.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d318aea9325c99b15c87a7c14865386c2fde0d2c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Nov 13 16:35:08 2012 +0100
block: Improve bdrv_aio_co_cancel_em
Instead of waiting for all requests to complete, wait just for the
specific request that should be cancelled.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a805c222caa0e20bf11d2267f726d0bb5917d94
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Dec 4 16:12:19 2012 +0100
tests: avoid qemu_aio_flush() in test-thread-pool.c
We need to eliminate calls to qemu_aio_flush() since the function is
being removed. Most callers will use bdrv_drain_all() instead but
test-thread-pool.c is lower level.
Since the test uses the global AioContext we can loop on qemu_aio_wait()
to wait for aio and bh activity to complete.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9fe3781f09f94f3ce76e52899bcdeb0d5164dbb1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Dec 4 16:12:18 2012 +0100
tests: use aio_poll() instead of aio_flush() in test-aio.c
There has been confusion between various aio wait and flush functions.
It's time to get rid of qemu_aio_flush() but in the aio test cases we
really do want this low-level functionality.
Therefore declare a local wait_for_aio() helper for the test cases.
Drop the aio_flush() test case.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff1562908d1da12362aa9e3f3bfc7ba0da8114a4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 08:24:30 2012 +0100
seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
This patch updates seabios to latest git master. Changes:
(1) q35 patches merged.
(2) some acpi cleanups.
(3) fixes irq 8 conflict.
(3) makes this a candidate for the stable branch
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d281084d3e51f03999d12a506491a0c6f31b40e8
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Dec 10 11:30:03 2012 -0700
vfio-pci: Don't use kvm_irqchip_in_kernel
kvm_irqchip_in_kernel() has an architecture specific meaning, so
we shouldn't be using it to determine whether to enabled KVM INTx
bypass. kvm_irqfds_enabled() seems most appropriate. Also use this
to protect our other call to kvm_check_extension() as that explodes
when KVM isn't enabled.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 1c97e303d4ea80a2691334b0febe87a50660f99d
Merge: 7c12fd9... b34d12d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:35:15 2012 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Postpone cpuid_level update to realize time
target-i386: Use define for cpuid vendor string size
target-i386: Separate feature string parsing from CPU model lookup
target-i386/cpu.c: Coding style fixes
qdev: qdev_create(): use error_report() instead of hw_error()
sysemu.h: Include qemu-types.h instead of qemu-common.h
Create qemu-types.h for struct typedefs
qlist.h: Do not include qemu-common.h
qga/channel-posix.c: Include headers it needs
qapi/qmp-registry.c: Include headers it needs
ui/vnc-palette.c: Include headers it needs
user: Rename qemu-types.h to qemu-user-types.h
user: Move *-user/qemu-types.h to main directory
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7c12fd9b29c6ca2119396f143d84706f2fba6222
Merge: 8385b17... 654598c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:34:29 2012 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path
qemu-options: Fix space at EOL
Fix spelling in comments and documentation
Clean up pci_drive_hot_add()'s use of BlockInterfaceType
arm: a9mpcore: remove un-used ptimer_iomem field
target-sparc: Remove t0, t1 from CPUSPARCState
target-m68k: Remove t1 from CPUM68KState
target-alpha: Remove t0, t1 from CPUAlphaState
s390x: Spelling fixes (endianess -> endianness, occured -> occurred)
Fix comments (adress -> address, layed -> laid, wierd -> weird)
Fix spelling (prefered -> preferred)
configure: Remove stray debug output
sd: Send debug printfery to stderr not stdout
Conflicts:
configure
Resolve spelling conflict in configure.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8385b173a0ca4c2345434104e6cc2a7259adc4b9
Merge: 16ef55c... 3e43749...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:33:11 2012 -0600
Merge remote-tracking branch 'kraxel/acpi.1' into staging
* kraxel/acpi.1:
acpi: drop debug port
q35: update lpc pci config space according to configured devices
apci: switch piix4 pci hotplug to memory api
acpi: remove acpi_gpe_blk
apci: switch piix4 gpe to memory api
acpi: fix piix4 smbus mapping
acpi: switch smbus to memory api
acpi: cleanup ich9 memory region
apci: switch ich9 smi to memory api
apci: switch ich9 gpe to memory api
acpi: cleanup vt82c686 memory region
acpi: cleanup piix4 memory region
apci: switch evt to memory api
apci: switch cnt to memory api
apci: switch timer to memory api
apci: switch vt82c686 to memory api
apci: switch ich9 to memory api
apci: switch piix4 to memory api
Conflicts:
hw/lpc_ich9.c
Resolved merge conflict due to apm_init adding an argument.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16ef55ca85ac8c8fcac46547108bd1c8b44943a2
Merge: c62adbe... 9fd2ecd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:32:15 2012 -0600
Merge remote-tracking branch 'aneesh/for-upstream' into staging
* aneesh/for-upstream:
virtfs-proxy-helper: use setresuid and setresgid
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c62adbee15deae473aa02a37193ddd6b054b0c9f
Merge: e49d021... 427e3aa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:31:19 2012 -0600
Merge remote-tracking branch 'kraxel/usb.74' into staging
* kraxel/usb.74:
usb-tablet: Allow connecting to ehci
ehci: Lower timer freq when the periodic schedule is idle
usb: Allow overriding of usb_desc at the device level
usb: Don't allow USB_RET_ASYNC for interrupt packets
usb: Call wakeup when data becomes available for all devices with int
eps
add pc-1.4
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e49d021e574c3ee8e443bcc84d1fb7dfb4c87c42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Dec 7 15:39:13 2012 +0000
configure: Default to 'cc', not 'gcc'
Default to 'cc' as our compiler, rather than 'gcc'. We used to have
to insist on gcc when we still kept the CPU env in a fixed global
register, but this is no longer necessary and we will now compile OK
on clang as well as gcc. Using 'cc' should generally result in us
using the most standard and maintained system compiler for the
platform. (For instance on newer MacOS X 'gcc' exists but is an
elderly compiler provided mostly for legacy reasons, and 'cc'
(which is clang) is definitely the better choice.) On Linux there
will generally be no user-visible change since cc will be gcc.
This changeover necessitates a slight reworking of how we set the
'cc' variable, because GNU cross toolchains generally provide a
'${cross_prefix}gcc' but not a '${cross_prefix}cc'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 24c35a504e8b09e697d0268bbefb2a329b901611
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 12 03:55:51 2012 +0000
linux-user: Merge pread/pwrite into pread64/pwrite64
The Linux syscalls underlying pread() and pwrite() take a 64 bit
offset on all architectures, even if some of them name the syscall
"pread/pwrite" rather than "pread64/pwrite64" for historical reasons.
So move the four QEMU target architectures (arm, i386, sparc,
unicore32) which were defining TARGET_NR_pread/pwrite to define
TARGET_NR_pread64/pwrite64 instead, and drop the TARGET_NR_pread/pwrite
implementation code completely.
(Based on examination of the kernel sources for the four architectures
this patch affects.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f877d09e63bd94424dab049da75bc1cd601a7609
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:27 2012 +0400
target-xtensa: use movcond where possible
Use movcond for all sorts of conditional moves, ABS, CLAMPS, MIN/MAX
opcodes.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5dacd229ebb46c236cb1dd0c65a4e4f2cfb55dfb
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:26 2012 +0400
target-xtensa: add s32c1i unit tests
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit efdfac94f48f8589a0d60b650c7bed989a341eaa
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:25 2012 +0400
target-xtensa: add SR accessibility unit tests
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b7909d81f7658f64bba0faed83e7c2fd6a52fcba
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:24 2012 +0400
target-xtensa: implement MISC SR
The Miscellaneous Special Registers Option provides zero to four scratch
registers within the processor readable and writable by RSR, WSR, and
XSR. These registers are privileged. They may be useful for some
application-specific exception and interrupt processing tasks in the
kernel. The MISC registers are undefined after reset.
See ISA, 4.7.3 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 53593e90d13264dc88b3281ddf75ceaa641df05a
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:23 2012 +0400
target-xtensa: better control rsr/wsr/xsr access to SRs
There are read-only (DEBUGCAUSE, PRID) and write-only (INTCLEAR) SRs,
and INTERRUPT/INTSET SR allows rsr/wsr, but not xsr. Raise illeagal
opcode exception on illegal access to these SRs.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fe0bd475aa31e60674f7f53b85dc293108026202
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:22 2012 +0400
target-xtensa: restrict available SRs by enabled options
Beginning with the RA-2004.1 release, SR access instructions (rsr, wsr,
xsr) are associated with their corresponding SR and raise illegal opcode
exception in case the register is not configured for the core.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4e41d2f5830a76d3fe92b3d3b18cc9f2ee927770
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:21 2012 +0400
target-xtensa: implement CACHEATTR SR
In XEA1, the Options for Memory Protection and Translation and the
corresponding TLB management instructions are not available. Instead,
functionality similar to the Region Protection Option is available
through the cache attribute register. See ISA, A.2.14 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fcc803d119a4c01a9b0ee5bda35fda1eeabffa33
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:20 2012 +0400
target-xtensa: implement ATOMCTL SR
ATOMCTL SR controls s32c1i opcode behavior depending on targeted memory
type. See ISA, 4.3.12.4 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 536b558f5896ebbd635b57fa393e82faaa32ad52
Merge: 511c68d... 19e6c50...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 8 17:50:57 2012 +0000
Merge branch 'master' of git.qemu-project.org:/pub/git/qemu
* 'master' of git.qemu-project.org:/pub/git/qemu:
target-mips: Fix incorrect shift for SHILO and SHILOV
target-mips: Fix incorrect code and test for INSV
xilinx_uartlite: Accept input after rx FIFO pop
xilinx_uartlite: suppress "cannot receive message"
xilinx_axienet: Implement R_IS behaviour
commit 511c68d3af626cb0a39034cb77e7ac64d3a26c0c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 16:32:58 2012 -0200
finally kill cpudef config section support
The external CPU models were removed on QEMU 1.2, and the support for
the "cpudef" config sections was documented as deprecated, but the
actual removal of the config section was pending.
Now that QEMU 1.3 was released, we can finally kill the support for
cpudef config sections, and support only the built-in CPU models from
target-i386/cpu.c.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4cdd2e665ec4bd10c20c26432ee9ffe4db7bcc1c
Merge: 4753631... 5822993...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 8 14:28:13 2012 +0000
Merge branch 'memory-ioport' of git://github.com/afaerber/qemu-cpu
* 'memory-ioport' of git://github.com/afaerber/qemu-cpu:
hw/dma.c: Replace register_ioport_*
hw/pc.c: Replace register_ioport_*
serial: Replace register_ioport_*
hw/cirrus_vga.c: Replace register_ioport_*
hw/apm.c: Replace register_ioport_*
isa: Add isa_address_space_io()
commit 475363176c80feedb8feb5e335ba64de68c7b055
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Oct 31 09:30:47 2012 +0000
HACKING: List areas where we may rely on impdef C behaviour
Add a section to HACKING saying which version of the C spec
we use and describing the bits of implementation defined C
compiler behaviour which C code in QEMU is allowed to rely on.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 288fa40736e6eb63132d01aa6dc21ee831b796ae
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 27 13:19:40 2012 +0100
pixman: require 0.18.4 or newer
When older versions are found the internal pixman version is prefered.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 94788f54e9deeaa2c82891a7d216fdd6e0e58749
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:07 2012 +0400
TCG: Remove unused global gen_opc_ arrays.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ab1103def476d985c08362df97ff9cb9c112adfc
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:06 2012 +0400
TCG: Use gen_opc_instr_start from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9c99c22d5f8e9cfa83260fbe236a57e7383d673
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:05 2012 +0400
TCG: Use gen_opc_icount from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 25983cad31969e3003eef77bc03a6700f46899d2
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:04 2012 +0400
TCG: Use gen_opc_pc from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c3a43607d927e6a0ecce0b61e8297c1cfe604c14
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:03 2012 +0400
tcg/tcg.h: Duplicate global TCG gen_opc_ arrays into TCGContext.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2aa1cb514cdce31ca68902d464cd03d31a76e998
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Mon Nov 19 04:22:12 2012 -0500
curses: Remove OpenBSD workaround
I removed the same sort of workaround for OpenBSD within the
configure script with commit 4dcc3f5876fa638d5c35bd47be3b717ea74cc2e7
but didn't bother to grep further to come across this same chunk
of code in the curses code itself. So the following diff removes
the same workaround chunk within the curses code.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0be4835b4932f38167b611c2b311ebaaec98a8eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 09:20:46 2012 +1100
exec: Advise huge pages for the TCG code gen buffer
After allocating 32MB or more contiguous memory, huge pages
would seem to be ideal.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b34d12d153e6e5c5e5e00eac510b054a94409deb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Oct 22 17:03:00 2012 +0200
target-i386: Postpone cpuid_level update to realize time
Delay capping cpuid_level to 7 to realize time so property setters
for cpuid_7_0_ebx_features and "level" could be used in any order/time
between x86_cpu_initfn() and x86_cpu_realize().
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 654598c944aa31cdbea435bd468055af9c918d16
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 23 19:12:18 2012 +0100
pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path
Harmless, because we the error inevitably leads to another, fatal one
in pc_system_flash_init(): PC system firmware (pflash) not available.
Fix it anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3528a3cba1f59de520fad7b1c843759e8655ea2c
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Nov 23 09:52:39 2012 +0100
qemu-options: Fix space at EOL
There's no need to add a space at the end of line.
Moreover, it can make problems in some projects that
store the help output into a file (and run couple of
tests based on that) and have space at EOL forbidden.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 993d46ce7e54f3d035d344ed1b145b13f9ac54b9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 23 07:26:04 2012 +0100
Fix spelling in comments and documentation
These spelling bugs were found by codespell:
supressing -> suppressing
transfered -> transferred
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4dbd84e26f53d3283baa463f390f9623e8913e8f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 22 15:16:36 2012 +0100
Clean up pci_drive_hot_add()'s use of BlockInterfaceType
pci_drive_hot_add() parameter type has the wrong type: int instead of
BlockInterfaceType. It's actually redundant, so we can just drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 036f0f8356936dba36b952c16f477b3f04f54e37
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 19 15:13:49 2012 +1000
arm: a9mpcore: remove un-used ptimer_iomem field
I'm guessing this is a hangover from a previous coreification of the
mptimer
sub-module. This field is completely unused - removed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dee17bf9e5d29bd08592c6fc47541aad70444bbc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:37 2012 +1100
target-sparc: Remove t0, t1 from CPUSPARCState
These fields are no longer used.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d694516440ca31bbcc7ad73f5e99b45fbeb2a6e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:36 2012 +1100
target-m68k: Remove t1 from CPUM68KState
This field is no longer used.
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c47d08ceff8ac76ff857016c80a8864fcf45a7d6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:35 2012 +1100
target-alpha: Remove t0, t1 from CPUAlphaState
These fields are no longer (or were never?) used.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8367a14fd3c1ecd5551c91cd3f951ffc61ad7c12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:35:54 2012 +0100
s390x: Spelling fixes (endianess -> endianness, occured -> occurred)
Replace also "write into" by "write to".
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a93cf9dfba171aa94e3c4002d58abef2a3732bfb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:29:53 2012 +0100
Fix comments (adress -> address, layed -> laid, wierd -> weird)
Remove also a duplicated 'the'.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eac29d87c883fcbb54913ae20ed2bdccb4bcf7a3
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:14:12 2012 +0100
Fix spelling (prefered -> preferred)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb5b5c20b7f68c79e036cd3ec5e9e6362c112670
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Oct 20 20:37:04 2012 +0100
configure: Remove stray debug output
Rather than printing a message saying we're silently falling
back to gthread coroutines when running on MacOS, actually
do it silently.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 038d3d44598232f5aad40d1c84c215f38a21576c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Nov 15 16:32:53 2012 +1000
sd: Send debug printfery to stderr not stdout
Some debug printfs for SD are coming up in stdout. Redirected them to
stderr
instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9df694eeb8447ae5a302b4d40df9a8b91dfc61da
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Oct 22 17:03:10 2012 +0200
target-i386: Use define for cpuid vendor string size
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f961357d06a0beeb7d3efbde1d754d82ff6a300
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 17:34:39 2012 -0200
target-i386: Separate feature string parsing from CPU model lookup
Instead of parsing the whole cpu_model string inside
cpu_x86_find_by_name(), first split it into the CPU model name and the
full feature string, then parse the feature string into pieces.
When using CPU model classes, those two pieces of information will be
used at different moments (CPU model name will be used to find CPU
class, feature string will be used after CPU object was created), so
making the split in two steps will make it easier to refactor the code
later.
This should also help on the CPU properties work, that will just need to
replace the cpu_x86_parse_featurestr() logic (and can keep the CPU model
lookup code as-is).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9f3fb5657b2133a408ccf40b4ab57dec9b4ce771
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 17:34:38 2012 -0200
target-i386/cpu.c: Coding style fixes
- Use spaces instead of tabs on cpu_x86_cpuid().
- Use braces on 'if' statement cpu_x86_find_by_name().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 23e3fbec3355e67dbf26e98bbe33ef354097df8e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 11:19:34 2012 -0200
qdev: qdev_create(): use error_report() instead of hw_error()
hw_error() is specific for fatal hardware emulation errors, not for
internal errors related to the qdev object/class abstraction or object
initialization.
Replace it with an error_report() call, followed by abort().
This will also help reduce dependencies of the qdev code (as hw_error()
is from cpus.o, and depends on the CPU list from exec.o).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcf7930105c26d09ae83cbd8b982d01bb421f215
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:44:08 2012 -0200
sysemu.h: Include qemu-types.h instead of qemu-common.h
It just needs the Monitor and DeviceState typedefs, so it doesn't need
all of qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 394e1bb79591c2fbfc873e5ccc38e92a3ba992cf
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:41:52 2012 -0200
Create qemu-types.h for struct typedefs
Instead of keeping all those struct typedefs in qemu-common.h, move it
to a header that can be safely included by other headers, containing
only the struct typedefs and not pulling in other dependencies.
Also, move some of the qdev-core.h typedefs to the new file, too, so
other headers don't need to include qdev-core.h only because of
DeviceState and other typedefs.
This will help us remove qemu-common.h dependencies from some headers
later.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cad32159663c5910098e10d64f4b5b10648b0095
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:55:19 2012 -0200
qlist.h: Do not include qemu-common.h
I don't know why it was including it, as I don't see any code that
depends on anything from qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4d4922c339abf67e47c79068d343ed41a020b8e2
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:37:20 2012 -0200
qga/channel-posix.c: Include headers it needs
Include:
- <errno.h> for errno
- <unistd.h> & <fcntl.h> for fcntl()
- <stdlib.h> for exit()
- "osdep.h" for qemu_open()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ccff63cac4f0d391187c9ee9aa2cab754df80c41
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:35:44 2012 -0200
qapi/qmp-registry.c: Include headers it needs
Include:
- <glib.h> for g_malloc0()
- <string.h> for strcmp()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90f0cfa410544727ac4e9c130f9e5032e1fb9b71
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:19:18 2012 -0200
ui/vnc-palette.c: Include headers it needs
Include:
- <glib.h> for g_malloc0()
- <string.h> for memset()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee9baa00f2623f1f627913f62d60f2888286319a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 22:54:34 2012 -0200
user: Rename qemu-types.h to qemu-user-types.h
The header file is specific for *-user, but I plan to introduce a more
generic qemu-types.h file, so I'm renaming it.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89e0e9c71e608f3679f30e88d988903536c6f7f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 20:42:56 2012 -0200
user: Move *-user/qemu-types.h to main directory
The bsd-user/qemu-types.h and linux-user/qemu-types.h files are almost
the same, but linux-user has the additional definitions of tswapal().
This moves the linux-user file to the main directory, so the same file
can be used by linux-user and bsd-user.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19e6c50d2d843220efbdd3b2db21d83c122c364a
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Dec 5 00:29:10 2012 +0100
target-mips: Fix incorrect shift for SHILO and SHILOV
helper_shilo has not been shifting an accumulator value correctly for
negative
values in 'shift' field. Minor optimization for shift=0 case.
This change also adds tests that will trigger issue and check for
regressions.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 34f5606ee101f82a247d09d05644ad2a63c8e342
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Mon Nov 26 16:13:21 2012 +0100
target-mips: Fix incorrect code and test for INSV
Content of register rs should be shifted for pos before applying a mask.
This change contains both fix for the instruction and to the existing
test.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9fd2ecdc8cb2dc1a8a7c57b6c9c60bc9947b6a73
Author: Paolo Bonzini <pbonini@xxxxxxxxxx>
Date: Thu Oct 11 14:20:23 2012 +0200
virtfs-proxy-helper: use setresuid and setresgid
The setfsuid and setfsgid system calls are obscure and they complicate
the error checking (that glibc's warn_unused_result "feature" forces
us to do). Switch to the standard setresuid and setresgid functions.
Signed-off-by: Paolo Bonzini <pbonini@xxxxxxxxxx
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 80625b97b52836b944a6438e8e3e9d992e6a00b6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:44 2012 +1000
xilinx_uartlite: Accept input after rx FIFO pop
The device return false from the can receive function when the FIFO is
full. This mean the device should check for buffered input whenever a
byte is
popped from the FIFO.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 859cc10d23e619153670fc58683373fa24d25b68
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:43 2012 +1000
xilinx_uartlite: suppress "cannot receive message"
This message is not an error condition, its just informing the user that
the device is corking the uart traffic to not drop characters.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit d4d230da08918183929c7d6cb54824b391536904
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:42 2012 +1000
xilinx_axienet: Implement R_IS behaviour
The interrupt status register R_IS is the standard clear-on-write
behaviour.
This was unimplemented and defaulting to updating the register to the
written
value. Implemented clear-on-write.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 582299336879504353e60c7937fbc70fea93f3da
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:09 2012 +0100
hw/dma.c: Replace register_ioport_*
Replace all register_ioport_*() with the new Memory API functions.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 258711c6448c44b60b0fecef1d3b09c71e23e304
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:08 2012 +0100
hw/pc.c: Replace register_ioport_*
Replace all register_ioport_*() with portio_*() or a MemoryRegion.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 568fd159e4ca82d213706acd2cf4c94f27537096
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:07 2012 +0100
serial: Replace register_ioport_*
Replace all register_ioport_*() with a MemoryRegion.
This permits to use the new Memory stuff like listeners.
For more flexibility, the IO address space is passed as an argument.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto serial split]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c75e6d8e354c44e76045cb0de20cda1a4ce4d575
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:06 2012 +0100
hw/cirrus_vga.c: Replace register_ioport_*
Replace all register_ioport_*() with the new Memory API.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 42d8a3cf960659069bd2b2d9c443dafd7585607f
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:03 2012 +0100
hw/apm.c: Replace register_ioport_*
Replace all register_ioport_*() with a MemoryRegion.
This permits to use the new Memory stuff like listeners.
Moreover, the PCI device is added as an argument for apm_init(),
so we can register IO inside the PCI IO address space.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr and q35]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ac10027327e27c9b360452e01af3ef2147f5a26f
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:02 2012 +0100
isa: Add isa_address_space_io()
This function permits to retrieve ISA IO address space.
It will be usefull when we need to pass IO address space as argument.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 427e3aa151c749225364d0c30640e2e3c1756d9d
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:18 2012 +0100
usb-tablet: Allow connecting to ehci
Our ehci code has is capable of significantly lowering the wakeup rate
for the hcd emulation while the device is idle. It is possible to add
similar code ot the uhci emulation, but that simply is not there atm,
and there is no reason why a (virtual) usb-tablet can not be a USB-2
device.
Making usb-hid devices connect to the emulated ehci controller instead
of the emulated uhci controller on vms which have both lowers the cpuload
for a fully idle vm from 20% to 2-3% (on my laptop).
An alternative implementation to using a property to select the tablet
type, would be simply making it a new device type, ie usb-tablet2, but the
downside of that is that this will require libvirt changes to be available
through libvirt at all, and then management tools changes to become the
default for new vms, where as using a property will automatically get
any pc-1.3 type vms the lower cpuload.
[ kraxel: adapt compat property for post-1.3 merge ]
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
tablet compat fixup
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8082624099bce56a3139e6b9f72016c00fd10227
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:17 2012 +0100
ehci: Lower timer freq when the periodic schedule is idle
Lower the timer freq if no iso schedule packets complete for 64 frames in
a row.
We can safely do this, without adding latency, because:
1) If there is isoc traffic this will never trigger
2) For async handled interrupt packets (only usb-host), the completion
handler
will immediately schedule the frame_timer from a bh
3) All devices using NAK to signal no data for interrupt endpoints now use
wakeup, which will immediately schedule the frame_timer from a bh
The advantage of this is that when we only have interrupt packets in the
periodic schedule, async_stepdown can do its work and significantly lower
the frequency at which the frame_timer runs.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 386ab487ebc25d780ddfc4a9aea0b21c4a9aaa94
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:16 2012 +0100
usb: Allow overriding of usb_desc at the device level
This allows devices to present a different set of descriptors based on
device properties.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit be41efde3ca0372dbf7543e09ff473b4eec25057
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:15 2012 +0100
usb: Don't allow USB_RET_ASYNC for interrupt packets
It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the
current NAK + polling approach, but this causes issues for migration, as
an async completed packet will not getting written back to guest memory
until
the next poll time, and if a migration happens in between it will get
lost!
Make an exception for host devices, because:
1) host-linux actually uses async completion for interrupt endpoints
2) host devices don't migrate anyways
Ideally we would convert host-linux.c to handle (input) interrupt
endpoints in
a buffered manner like it does for isoc endpoints, keeping multiple urbs
submitted to ensure the devices timing requirements are met, as well as
making
its interrupt ep handling the same as other usb-devices.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8beba9304391189666df1b62b23a5101b3831317
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:14 2012 +0100
usb: Call wakeup when data becomes available for all devices with int eps
This is necessary for proper interaction with the xhci controller, and it
will allow other hcds to lower there frame timer while waiting for
interrupt
data.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1ae2e3883c4ee3a9f91f484690abe42f5063d64
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 4 14:39:16 2012 +0100
add pc-1.4
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3e43749882c558875f70ac5deda39cdc9797e245
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 27 08:24:42 2012 +0100
acpi: drop debug port
I'm pretty sure this isn't needed any more. I think this predates the
switch to seabios, and the seabios DSDT table has a DBUG() aml macro
which writes stuff to the seabios debug port (0x402).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3f5bc9e8af8c9ee617b143e42ad4bd2feb379a19
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:02:18 2012 +0100
q35: update lpc pci config space according to configured devices
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c177684c753a0b1337acebb7dbc6f3f3a9700321
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 16:03:19 2012 +0100
apci: switch piix4 pci hotplug to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c84649ca66a32aadba20a8202062b02247270ee5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:37:05 2012 +0100
acpi: remove acpi_gpe_blk
With gpe being switched to memory api this is no longer needed.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b65b93f24cb84923d2d7d43cf87d40bc88b6bdcd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:35:13 2012 +0100
apci: switch piix4 gpe to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 24fe083de67e0f736c54da4abda05f23ec37c51d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 14:58:04 2012 +0100
acpi: fix piix4 smbus mapping
Make write to the smbus base register and enable bit actually work.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 798512e5522685163c8d5fc5093aea19ae9cce06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 14:57:01 2012 +0100
acpi: switch smbus to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a522de0905c88160b6f93eb5d35883382a0c333
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 14:01:20 2012 +0100
acpi: cleanup ich9 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 10cc69b0de8e1756e6fbda4592c9d0ba3bce58fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:51:35 2012 +0100
apci: switch ich9 smi to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 76a7daf97458c55b8d8e6d4eadc5c46b16c705ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:43:17 2012 +0100
apci: switch ich9 gpe to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a0f95659da77c8818ebd146bb1546ad152d0833e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 09:00:25 2012 +0100
acpi: cleanup vt82c686 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ca5d64b4b4fbb01e403f89ec9b399aaa69104b1e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:27:04 2012 +0100
acpi: cleanup piix4 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5a7c024d2606e84e0bbe4a0e87d252dfda41479
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:25:10 2012 +0100
apci: switch evt to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:17:57 2012 +0100
apci: switch cnt to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 77d58b1e47c8d1c661f98f12b47ab519d3561488
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 12:12:30 2012 +0100
apci: switch timer to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a29028214c1d5d3571b27e6745f14534e6d8a662
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 08:29:27 2012 +0100
apci: switch vt82c686 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cacaab8bdd74608361a488aac600d609dafd53e5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 12:08:22 2012 +0100
apci: switch ich9 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af11110bb83166473064389faa27e8c6703b2008
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 11:34:44 2012 +0100
apci: switch piix4 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 16c6c80ac3a772b42a87b77dfdf0fdac7c607b0e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 3 14:08:40 2012 -0600
Open up 1.4 development branch
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 52a71bff6085398fbb8602718af228cd6339c02d
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Apr 14 22:48:36 2012 +0200
prep: Use pc87312 device instead of collection of random ISA devices
We can't however replace the built-in IDE controller, as the one in
pc87312 is only single-channel and can use only IRQ 14. Therefore the
pc87312's IDE function gets disabled via the config property.
PReP emulation also gains a parallel port emulation this way.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Use TYPE_PC87312 constant, add to ppc64-softmmu and to MAINTAINERS]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1ae41f447d1467172b0f8290ca1b83726ea9942a
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Apr 14 22:48:35 2012 +0200
prep: Add pc87312 Super I/O emulation
This provides floppy and IDE controllers as well as serial and parallel
ports. However, dynamic configuration of devices is not yet supported.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: QOM'ify, split out header, create CharDriverState if absent]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit acbb090b2400f627a801074c4e3e006c7501bb26
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Aug 15 14:15:41 2012 +0200
prep: Include devices for ppc64 as well
Allows running qemu-system-ppc64 -M prep for consistency.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Acked-by: Hervé Poussineau <hpoussineau@xxxxxxxxxxx>
For bisection revision-tuple graph see:
http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.qemu-upstream-unstable.test-amd64-i386-qemuu-rhel6hvm-intel.redhat-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.
----------------------------------------
Searching for failure / basis pass:
20844 fail [host=gall-mite] / 20054 [host=rice-weevil] 18243 [host=itch-mite]
18200 [host=field-cricket] 18112 [host=earwig] 18085 ok.
Failure / basis pass flights: 20844 / 18085
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
Basis pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
Generating revisions with ./adhoc-revtuple-generator
git://xenbits.xen.org/linux-pvops.git#a938a246d34912423c560f475ccf1ce0c71d9d00-5602328b0d66cd6c5ef0dd7be081fd779c49c27e
git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
git://xenbits.xen.org/staging/qemu-xen-unstable.git#70992304dc8c5fc67d876e0f8e3dfaa82be955a1-84411871262363200e70fa087d7b21647091a450
git://xenbits.xen.org/staging/qemu-upstream-unstable.git#4597594c61add43725bd207bb498268a058f9cfb-b97307ecaad98360f41ea36cd9674ef810c4f8cf
git://xenbits.xen.org/xen.git#365c95f7de789e1dca03f119eab7dc61fe0f77c9-1a510f3c447452006fa2a661b387fdc5410c41d5
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare git://xenbits.xen.org/linux-pvops.git
/export/home/osstest/repos/linux-pvops...
Initialized empty Git repository in /export/home/osstest/repos/linux-pvops/
updating cache /export/home/osstest/repos/git-cache linux-pvops...
adhoc-revtuple-generator: tree discontiguous: linux-pvops
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare
git://xenbits.xen.org/staging/qemu-xen-unstable.git
/export/home/osstest/repos/qemu-xen-unstable...
Initialized empty Git repository in
/export/home/osstest/repos/qemu-xen-unstable/
updating cache /export/home/osstest/repos/git-cache qemu-xen-unstable...
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare
git://xenbits.xen.org/staging/qemu-upstream-unstable.git
/export/home/osstest/repos/qemu-upstream-unstable...
Initialized empty Git repository in
/export/home/osstest/repos/qemu-upstream-unstable/
updating cache /export/home/osstest/repos/git-cache qemu-upstream-unstable...
adhoc-revtuple-generator: tree discontiguous: qemu-upstream-unstable
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare git://xenbits.xen.org/xen.git
/export/home/osstest/repos/xen...
Initialized empty Git repository in /export/home/osstest/repos/xen/
updating cache /export/home/osstest/repos/git-cache xen...
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare
git://xenbits.xen.org/staging/qemu-xen-unstable.git
/export/home/osstest/repos/qemu-xen-unstable...
Initialized empty Git repository in
/export/home/osstest/repos/qemu-xen-unstable/
updating cache /export/home/osstest/repos/git-cache qemu-xen-unstable...
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare git://xenbits.xen.org/xen.git
/export/home/osstest/repos/xen...
Initialized empty Git repository in /export/home/osstest/repos/xen/
updating cache /export/home/osstest/repos/git-cache xen...
Loaded 3005 nodes in revision graph
Searching for test results:
18079 [host=itch-mite]
18085 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
18112 [host=earwig]
18197 []
18200 [host=field-cricket]
18243 [host=itch-mite]
20054 [host=rice-weevil]
20100 blocked irrelevant
20101 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
20102 blocked irrelevant
20177 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb
20115 blocked a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
255d252c0afafd0d2b6a9e4c2ad4dadbd2f00051
20181 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
13c144d96e825f145e5b37f97e5f6210c2c645e9
4597594c61add43725bd207bb498268a058f9cfb
7d413e38c7ad250a5163ce64358917a84aa8bfbf
20139 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
d7f056a32e0906c2ef43e23801c621ec897a238c
20141 blocked irrelevant
20167 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
20168 blocked irrelevant
20180 blocked irrelevant
20363 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
a52f6c65d3e2bf7c6f16edbac62437327fbeb565
20367 blocked irrelevant
20364 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
57e835e51420bf1ff793524bbd815a85291c51e4
20369 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
1a0f10a8c8673ed62c7b0cff8f8de5b97c402b7d
20668 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
5fbc4c343e52777e636439e2afcdfb3f100211c3
20678 blocked irrelevant
20670 blocked irrelevant
20816 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
4c37ed562224295c0f8b00211287d57cae629782
20844 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
20820 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
1dc5178097e62fc7137cf17cd16628675f0b5ee1
20829 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
0771faba163769089c9f05f7f76b63e397677613
20809 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
20822 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
c4d3ccbfb50fa7603595b9bc16b1bba4647d21f1
20810 blocked irrelevant
20830 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
20811 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
b685c64be7a8d870313c9a652a15eadf9f25f195
20821 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
4c37ed562224295c0f8b00211287d57cae629782
20814 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
c6f92aed0e209df823d2cb5780dbb1ea12fc6d4a
20808 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
4c37ed562224295c0f8b00211287d57cae629782
20815 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
fe06795e82922f8d8c8910da545ef1215cbb1b8c
20823 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
5814c599256907d53a3c99ad530bad2ed2565d9e
20817 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
4c37ed562224295c0f8b00211287d57cae629782
20827 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
0771faba163769089c9f05f7f76b63e397677613
20841 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
0771faba163769089c9f05f7f76b63e397677613
20838 pass a938a246d34912423c560f475ccf1ce0c71d9d00
c530a75c1e6a472b0eb9558310b518f0dfcd8860
70992304dc8c5fc67d876e0f8e3dfaa82be955a1
4597594c61add43725bd207bb498268a058f9cfb
365c95f7de789e1dca03f119eab7dc61fe0f77c9
20828 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
e9ee35826e46e4f9a40f9fdafcc609016cb2a23b
20825 []
20845 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
0771faba163769089c9f05f7f76b63e397677613
20837 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
20839 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
20840 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
1a510f3c447452006fa2a661b387fdc5410c41d5
20843 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
0771faba163769089c9f05f7f76b63e397677613
20847 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
b97307ecaad98360f41ea36cd9674ef810c4f8cf
0771faba163769089c9f05f7f76b63e397677613
20846 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
0771faba163769089c9f05f7f76b63e397677613
Searching for interesting versions
Result found: flight 18085 (pass), for basis pass
Result found: flight 20830 (fail), for basis failure
Repro found: flight 20838 (pass), for basis pass
Repro found: flight 20839 (fail), for basis failure
0 revisions at 5602328b0d66cd6c5ef0dd7be081fd779c49c27e
c530a75c1e6a472b0eb9558310b518f0dfcd8860
84411871262363200e70fa087d7b21647091a450
4597594c61add43725bd207bb498268a058f9cfb
0771faba163769089c9f05f7f76b63e397677613
No revisions left to test, checking graph state.
Result found: flight 20829 (pass), for last pass
Result found: flight 20841 (fail), for first failure
Repro found: flight 20843 (pass), for last pass
Repro found: flight 20845 (fail), for first failure
Repro found: flight 20846 (pass), for last pass
Repro found: flight 20847 (fail), for first failure
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu
git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Bug introduced: b97307ecaad98360f41ea36cd9674ef810c4f8cf
Bug not present: 4597594c61add43725bd207bb498268a058f9cfb
using cache /export/home/osstest/repos/git-cache...
using cache /export/home/osstest/repos/git-cache...
locked cache /export/home/osstest/repos/git-cache...
processing ./cacheing-git clone --bare
git://xenbits.xen.org/staging/qemu-upstream-unstable.git
/export/home/osstest/repos/qemu-upstream-unstable...
Initialized empty Git repository in
/export/home/osstest/repos/qemu-upstream-unstable/
updating cache /export/home/osstest/repos/git-cache qemu-upstream-unstable...
commit b97307ecaad98360f41ea36cd9674ef810c4f8cf
Author: Matthew Daley <mattjd@xxxxxxxxx>
Date: Thu Oct 10 14:10:48 2013 +0000
xen_disk: mark ioreq as mapped before unmapping in error case
Commit 4472beae modified the semantics of ioreq_{un,}map so that they are
idempotent if called when they're not needed (ie., twice in a row).
However,
it neglected to handle the case where batch mapping is not being used (the
default), and one of the grants fails to map. In this case, ioreq_unmap
will
be called to unwind and unmap any mappings already performed, but
ioreq_unmap
simply returns due to the aforementioned change (the ioreq has not already
been marked as mapped).
The frontend user can therefore force xen_disk to leak grant mappings, a
per-domain limited resource.
Fix by marking the ioreq as mapped before calling ioreq_unmap in this
situation.
Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d84e4524e30413b2a1d724754e76a7d2480466f3
Merge: e381cca... 62ecc3a...
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Oct 10 11:02:48 2013 +0000
Merge remote branch 'origin/stable-1.6' into xen-staging-master-9
Conflicts:
xen-all.c
commit 62ecc3a0e3c77a4944c92a02dd7fae2ab1f2290d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Oct 4 10:21:43 2013 -0500
Update VERSION for 1.6.1 release
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fdcbe7d587a64dec0db0d3c9a3b230c39efbfeef
Author: Asias He <asias@xxxxxxxxxx>
Date: Fri Sep 13 14:56:55 2013 +0800
scsi: Allocate SCSITargetReq r->buf dynamically
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1007330
Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6282465
This is the backport of the following commit. The patch is not
sent public since it is a embargoed bug.
r->buf is hardcoded to 2056 which is (256 + 1) * 8, allowing 256 luns
at
most. If more than 256 luns are specified by user, we have buffer
overflow in scsi_target_emulate_report_luns.
To fix, we allocate the buffer dynamically.
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
*s/&r->buf/r->buf/ due to type change
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e381ccab5afe6b5e808aa550d8bd22b1d0757fde
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Sep 25 16:43:12 2013 +0000
xen: Enable cpu-hotplug on xenfv machine.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
(cherry picked from commit 594278d9f251222675f1c24f5fbb1b05560b8711)
commit c1f3f10d8d3e6498b8c55b1e0908e4a1b7adae12
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Sep 25 16:41:48 2013 +0000
xen: Fix vcpu initialization.
Each vcpu need a evtchn binded in qemu, even those that are
offline at QEMU initialisation.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
(cherry picked from commit 1cd25a889687ab199944b98c1bdc59216ea81487)
commit b40187fc0ce1c0ffad51cd0f149a4e5bed332653
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:53 2013 +0000
pc_q35: Initialize Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511)
commit 7c2ab9e2ef5a00395fa770ed61084f47001bb35f
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:52 2013 +0000
pc: Initializing ram_memory under Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
(cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d)
commit 2c7d76d1a7e15b4c0de1a5c2852d6615aa336c52
Merge: dfe0055... 1ee2dae...
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:17:01 2013 +0100
Merge tag 'v1.6.0' into merging-1.6
commit dfe0055e38e3e328f19d4d67f0f4ae049436d3c8
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:31 2013 +0100
Revert "Fix semaphores fallback code"
This reverts commit 0a7ad69a0f012d5d70142f775f99405500d4d38e.
commit aad0677c3aae5ab84852210ff48361924bd7aa2d
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:30 2013 +0100
Revert "cpu: Introduce get_arch_id() method and override it for X86CPU"
This reverts commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820.
commit 88f78193a97df8512c6392777cfcd979f095d483
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:29 2013 +0100
Revert "cpu: Add qemu_for_each_cpu()"
This reverts commit 0170b3ce88cb87346afa369a89ce9b197389058b.
commit 4e310e13c93c48a0f5fc8558d56830d58713202a
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:29 2013 +0100
Revert "xen: Fix vcpus initialisation."
This reverts commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b.
commit dc8500fb733093a46bbec0ac33ddea63d509c7a9
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Wed Oct 2 17:16:27 2013 +0100
Revert "qga: set umask 0077 when daemonizing (CVE-2013-2007)"
This reverts commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3.
commit 1b5f7709411a412ec8ce21004a47f51ab6c3f3ad
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Wed Sep 25 16:40:23 2013 +0000
qemu: Add qemu xen logic for Xen HVM S3 resume
This patch is qemu patch 2 to fix Xen HVM S3 bug, adding qemu
xen logic. When qemu wakeup, qemu xen logic is notified and
hypercall to xen hypervisor to unpause domain.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
(cherry picked from commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit bc05a488b49f903e404323b76ca9b675318393fc
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Wed Sep 25 16:38:29 2013 +0000
qemu: Adjust qemu wakeup
Currently Xen hvm s3 has a bug coming from the difference between
qemu-traditioanl and qemu-xen. For qemu-traditional, the way to
resume from hvm s3 is via 'xl trigger' command. However, for
qemu-xen, the way to resume from hvm s3 inherited from standard
qemu, i.e. via QMP, and it doesn't work under Xen.
The root cause is, for qemu-xen, 'xl trigger' command didn't reset
devices, while QMP didn't unpause hvm domain though they did qemu
system reset.
We have two qemu patches and one xl patch to fix Xen hvm s3 bug.
This patch is the qemu patch 1. It adjusts qemu wakeup so that
Xen s3 resume logic (which will be implemented at qemu patch 2)
will be notified after qemu system reset.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
(cherry picked from commit 4bc78a877252d772b983810a7d2c0be00e9be70e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Oct 1 15:13:33 2013 +0000
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:
-rw-rw-rw- 1 root root /var/log/qemu-ga.log
-rw-rw-rw- 1 root root /var/run/qga.state
-rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.
For now mask all file mode bits for "group" and "others" in
become_daemon().
Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.
upstream-commit-id: c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 6dc71da698bfdc5297f8719e78eba26b1f15ff2c
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Oct 1 14:50:32 2013 +0000
Add -f FMT / --format FMT arg to qemu-nbd
Currently the qemu-nbd program will auto-detect the format of
any disk it is given. This behaviour is known to be insecure.
For example, if qemu-nbd initially exposes a 'raw' file to an
unprivileged app, and that app runs
'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0'
then the next time the app is started, the qemu-nbd will now
detect it as a 'qcow2' file and expose /etc/shadow to the
unprivileged app.
The only way to avoid this is to explicitly tell qemu-nbd what
disk format to use on the command line, completely disabling
auto-detection. This patch adds a '-f' / '--format' arg for
this purpose, mirroring what is already available via qemu-img
and qemu commands.
qemu-nbd --format raw -p 9000 evil.img
will now always use raw, regardless of what format 'evil.img'
looks like it contains
upstream-commit-id: e6b636779b51c97e67694be740ee972c52460c59
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
[Use errx, not err. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit ba20326a937421c50a775907dc9ac726bb9a9b50
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 11 16:42:35 2013 +0200
coroutine: add ./configure --disable-coroutine-pool
The 'gthread' coroutine backend was written before the freelist (aka
pool) existed in qemu-coroutine.c.
This means that every thread is expected to exit when its coroutine
terminates. It is not possible to reuse threads from a pool.
This patch automatically disables the pool when 'gthread' is used. This
allows the 'gthread' backend to work again (for example,
tests/test-coroutine completes successfully instead of hanging).
I considered implementing thread reuse but I don't want quirks like CPU
affinity differences due to coroutine threads being recycled. The
'gthread' backend is a reference backend and it's therefore okay to skip
the pool optimization.
Note this patch also makes it easy to toggle the pool for benchmarking
purposes:
./configure --with-coroutine-backend=ucontext \
--disable-coroutine-pool
Reported-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 70c60c089fdc6bf8a79324e492c13e8c08d55942)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ae00a27feab0ca12d2a802cfae9ee65ba3d43602
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Sep 11 13:33:31 2013 +0300
piix4: disable io on reset
io base register at 0x40 is cleared on reset,
but io is not disabled until some other event
happens to call pm_io_space_update.
Invoke pm_io_space_update directly to make this
consistent.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 61fbeb6e81f648d25c2d3ba5f0d663d54abed1c1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Sep 23 17:18:29 2013 +0800
vmdk: fix cluster size check for flat extents
We use the extent size as cluster size for flat extents (where no L1/L2
table is allocated so it's safe) reuse sector calculating code with
sparse extents.
Don't pass in the cluster size for adding flat extent, just set it to
sectors later, then the cluster size checking will not fail.
The cluster_sectors is changed to int64_t to allow big flat extent.
Without this, flat extent opening is broken:
# qemu-img create -f vmdk -o subformat=monolithicFlat /tmp/a.vmdk 100G
Formatting '/tmp/a.vmdk', fmt=vmdk size=107374182400 compat6=off
subformat='monolithicFlat' zeroed_grain=off
# qemu-img info /tmp/a.vmdk
image: /tmp/a.vmdk
file format: raw
virtual size: 0 (0 bytes)
disk size: 4.0K
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 301c7d38a0c359b91526391d13617386f3d9bb29)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fc06b430942e84a2a69e2a80a6d5b376a8064020
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 25 16:00:48 2013 +0200
rbd: avoid qemu_rbd_snap_list() memory leaks
When there are no snapshots qemu_rbd_snap_list() returns 0 and the
snapshot table pointer is NULL. Don't forget to free the snaps buffer
we allocated for librbd rbd_snap_list().
When the function succeeds don't forget to free the snaps buffer after
calling rbd_snap_list_end().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
(cherry picked from commit 9e6337d0818650362149b734d53edf9489f3acaa)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6bbb9d8100c90deb4843bfa3cf36e75b843c495b
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Sat Aug 3 22:20:41 2013 -0400
tap: Use numbered tap/tun devices on all *BSD OS's
The following patch simplifies the *BSD tap/tun code and makes use of
numbered
tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc
tree
to make use of this feature and DragonFly also supports this as well.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit aa4f082f7526d39dac8e2ca64d192d858014ee10)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b314120afdbab3d29885f47fc83bc55f43765968
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Sep 14 13:11:36 2013 +0400
iov: avoid "orig_len may be used unitialized" warning
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 2be178a475289286db80de5ddd7830e67e112bdd)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit dc6fbaa8322ca53f46d9a6cc7e2f82de5362ea83
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:38:44 2013 +0200
xhci: emulate intr endpoint intervals correctly
Respect the interval for interrupt endpoints, so we don't finish
transfers as fast as possible but at the rate configured by the guest.
Fixes guest deadlocks triggered by interrupt storms.
Cc:
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c8adc0db7e76e804692372a06ca02cc5a80b67d5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 17:31:55 2013 +0200
virtio-blk: do not relay a previous driver's WCE configuration to the
current
The following sequence happens:
- the SeaBIOS virtio-blk driver does not support the WCE feature, which
causes QEMU to disable writeback caching
- the Linux virtio-blk driver resets the device, finds WCE is available
but writeback caching is disabled; tells block layer to not send cache
flush commands
- the Linux virtio-blk driver sets the DRIVER_OK bit, which causes
writeback caching to be re-enabled, but the Linux virtio-blk driver does
not know of this side effect and cache flushes remain disabled
The bug is at the third step. If the guest does know about CONFIG_WCE,
QEMU should ignore the WCE feature's state. The guest will control the
cache mode solely using configuration space. This change makes Linux
do flushes correctly, but Linux will keep SeaBIOS's writethrough mode.
Hence, whenever the guest is reset, the cache mode of the disk should
be reset to whatever was specified in the "-drive" option. With this
change, the Linux virtio-blk driver finds that writeback caching is
enabled, and tells the block layer to send cache flush commands
appropriately.
Reported-by: Rusty Russell <rusty@xxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit ef5bc96268ceec64769617dc53b0ac3a20ff351c)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit aeab582580fa057dbe646fc3277570af6a8d5ce8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 19 18:48:53 2013 +0200
blockdev: do not default cache.no-flush to true
That's why all my VMs were so fast lately. :)
This changed in 1.6.0 by mistake in patch 29c4e2b (blockdev: Split up
'cache' option, 2013-07-18).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5c20c1ffe791ca29840fd9607ea034ea24ad7bdd
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:17:50 2013 +0200
tci: Fix qemu-alpha on 32 bit hosts (wrong assertions)
Debian busybox-static for alpha has a load address of 0x0000000120000000
which is mapped to 0x0000000020000000 for 32 bit hosts.
qemu-alpha uses the TCG opcodes qemu_ld32, qemu_ld64, qemu_st32 and
qemu_st64 which all raise the assertion (taddr == host_addr).
Remove all assertions of this type because they are either wrong or
unnecessary (when sizeof(tcg_target_ulong) >= sizeof(target_ulong)).
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5d2de77798cacf1dadf6a4211972473e057cc6e5
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:52 2013 +0200
kvmvapic: Clear also physical ROM address when entering INACTIVE state
To avoid misinterpreting INACTIVE after migration as old qemu-kvm's
STANDBY, also clear rom_state_paddr when going back to this state.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 4357930b8a7d2fcff2d8121ec518117428a781e7)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7ea8a3c12aa49efc8f503a019dd764f8a0add2cb
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:51 2013 +0200
kvmvapic: Enter inactive state on hardware reset
ROM layout may change after reset of devices are hotplugged, so we have
to pick up the physical address again when the ROM is initialized. This
is best achieved by resetting the state to INACTIVE.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 50b31e80525d03ef406a8c9f55ff2ae1655a3b66
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Sep 3 18:08:50 2013 +0200
kvmvapic: Catch invalid ROM size
If not caught early, a zero-length ROM will cause a NULL-pointer access
later on in patch_hypercalls when allocating a zero-length ROM copy and
trying to read from it.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 18e5eec4db96a00907eb588a2b803401637c7f67)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4b5b4721464495fe76fe6e2e033cbb61dce78eef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Aug 22 11:43:58 2013 +0200
chardev: fix pty_chr_timer
pty_chr_timer first calls pty_chr_update_read_handler(), then clears
timer_tag (because it is a one-shot timer). This is the wrong order
though. pty_chr_update_read_handler might re-arm time timer, and the
new timer_tag gets overwitten in that case.
This leads to crashes when unplugging a pty chardev: pty_chr_close
thinks no timer is running -> timer isn't canceled -> pty_chr_timer gets
called with stale CharDevState -> BOOM.
This patch fixes the ordering.
Kill the pointless goto while being at it.
https://bugzilla.redhat.com/show_bug.cgi?id=994414
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit b0d768c35e08d2057b63e8e77e7a513c447199fa)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 76f698948781a148d336ff9032159f6c7c9eccd2
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Aug 28 14:17:39 2013 +0200
pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN
Now that the memory subsystem is propagating the endianness correctly,
the pcnet-pci device should have its I/O ports and MMIO memory marked
as LITTLE_ENDIAN, as PCI devices are little endian.
This makes the pcnet-pci NIC to work again on big endian MIPS Malta
(default NIC).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8b4b3a71fd35d67c5c30652a120c0a59dfab7182
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Sat Aug 31 18:36:17 2013 -0400
qapi-types.py: Fix enum struct sizes on i686
Unlike other list types, enum wasn't adding any padding, which caused
a mismatch between the generated struct size and GenericList struct
size. More details in a678e26cbe89f7a27cbce794c2c2784571ee9d21
This crashed qemu if calling qmp query-tpm-types for example, which
upsets libvirt capabilities probing. Reproducer on i686:
(sleep 5; printf
'{"execute":"qmp_capabilities"}\n{"execute":"query-tpm-types"}\n') |
./i386-softmmu/qemu-system-i386 -S -nodefaults -nographic -M none -qmp stdio
https://bugs.launchpad.net/qemu/+bug/1219207
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
(cherry picked from commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 41900b0857df9bd33e465a6c72d7a3072dc448f4
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:53 2013 +0000
pc_q35: Initialize Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 755ec4ca0f92188458ad7ca549a75161cbdcf6ff
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Sep 9 16:15:52 2013 +0000
pc: Initializing ram_memory under Xen.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
(cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit dc0973b5883df7d822b285119691ade8c84dda9c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Sep 5 21:57:19 2013 +0200
qxl: fix local renderer
The local spice renderer assumes the primary surface is located at the
start of the "ram" bar. This used to be a requirement in qxl hardware
revision 1. In revision 2+ this is relaxed. Nevertheless guest drivers
continued to use the traditional location, for historical and backward
compatibility reasons. The qxl kms driver doesn't though as it depends
on qxl revision 4+ anyway.
Result is that local rendering is hosed for recent linux guests, you'll
get pixel garbage with non-spice ui (gtk, sdl, vnc) and when doing
screendumps. Fix that by doing a proper mapping of the guest-specified
memory location.
https://bugzilla.redhat.com/show_bug.cgi?id=948717
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit c58c7b959b93b864a27fd6b3646ee1465ab8832b)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b6d163fdd8131285a01fe46e6afdba727e4df9ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 9 10:18:17 2013 +0200
ehci: save device pointer in EHCIState
We'll need a pointer to the actual pci/sysbus device,
stick a pointer to it into the EHCIState struct.
https://bugzilla.redhat.com/show_bug.cgi?id=1005495
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a1991d05d37ac9054d772b32d8fac70bc31be81a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Sep 2 13:10:34 2013 +0200
ne2000: mark I/O as LITTLE_ENDIAN
Now that the memory subsystem is propagating the endianness correctly,
the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
PCI devices are little endian.
This makes the ne2000 NIC to work again on PowerPC.
Cc: qemu-stable@xxxxxxxxxx
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 45d883dcf208160e2db308d1b368beb74f37dc7e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1110014801d368388bca2ed7c28aa695560c4991
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Thu Aug 29 18:21:16 2013 +0800
exec: check offset_within_address_space for register subpage
If offset_within_address_space falls in a page, then we register a
subpage. So check offset_within_address_space rather than
offset_within_region.
Cc: qemu-stable@xxxxxxxxxx
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: "Andreas Färber" <afaerber@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 88266249701032211c1d7449460d063fbc01bf12)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2a93d3dd32386c3522cfa2ee60c9e06a298d1f52
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 2 18:43:31 2013 +0200
Revert "memory: Return -1 again on reads from unsigned regions"
This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71.
The commit was wrong: We only return -1 on invalid accesses, not on
valid but unbacked ones. This broke various corner cases.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 68a7439a150d6b4da99082ab454b9328b151bc25)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7ab1044eb1ac2cbc7e65769edf44ced92b85b038
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 2 18:43:30 2013 +0200
memory: Provide separate handling of unassigned io ports accesses
Accesses to unassigned io ports shall return -1 on read and be ignored
on write. Ensure these properties via dedicated ops, decoupling us from
the memory core's handling of unassigned accesses.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e8601a4e3102321d054ce3d641c03ebcd0519357
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 1 22:59:25 2013 +0200
w32: Fix access to host devices (regression)
QEMU failed to open host devices like \\.\PhysicalDrive0 (first hard disk)
since some time (commit 8a79380b8ef1b02d2abd705dd026a18863b09020?).
Those devices use hdev_open which did not use the latest API for options.
This resulted in a fatal runtime error:
Block protocol 'host_device' doesn't support the option 'filename'
Duplicate code from raw_open to fix this.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: David Brenner <david.brenner3@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 96b14d0db19b2b80ab3dc35d522671da82101e72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 15:25:24 2013 +0200
usb: parallelize usb3 streams
usb3 bulk endpoints with streams are implicitly pipelined now,
so the requests will actually be processed in parallel. Also
allow them to complete out-of-order.
Fixes stalls in the uas driver.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit c96c41ed0d38d68a6c8b6f84751afebafeae31be)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9dbfbb89b204e098f283aca310e4d6f6651d88f4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:47:09 2013 +0200
xhci: reset port when disabling slot
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 57ea2d21ae1863fd4002b2aea8ea8db8e206d464
Author: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Date: Thu Jul 25 12:11:15 2013 +0200
exec: always use MADV_DONTFORK
MADV_DONTFORK prevents fork to fail with -ENOMEM if the default
overcommit heuristics decides there's too much anonymous virtual
memory allocated. If the KVM secondary MMU is synchronized with MMU
notifiers or not, doesn't make a difference in that regard.
Secondly it's always more efficient to avoid copying the guest
physical address space in the fork child (so we avoid to mark all the
guest memory readonly in the parent and so we skip the establishment
and teardown of lots of pagetables in the child).
In the common case we can ignore the error if MADV_DONTFORK is not
available. Leave a second invocation that errors out in the KVM path
if MMU notifiers are missing and KVM is enabled, to abort in such
case.
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
(cherry picked from commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1cd7138d492304a76f3b8ae89fc61e05b18205a7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 11:03:45 2013 +0300
virtio_pci: fix level interrupts with irqfd
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
virtio-pci: fix level interrupts
only helps systems without irqfd: on systems with irqfd support we
passed in flag requesting irqfd even when msix is disabled.
As a result, for level interrupts we didn't install an fd handler so
unmasking an fd had no effect.
Fix this up.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9fab8e1fe15014a4bd147eeedd2491bcfbba4e59
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 29 14:27:39 2013 +0200
exec: fix writing to MMIO area with non-power-of-two length
The problem is introduced by commit 2332616 (exec: Support 64-bit
operations in address_space_rw, 2013-07-08). Before that commit,
memory_access_size would only return 1/2/4.
Since alignment is already handled above, reduce l to the largest
power of two that is smaller than l.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Oleksii Shevchuk <alxchk@xxxxxxxxx>
Tested-by: Oleksii Shevchuk <alxchk@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2ffbe03e8bc8f330581e31537190949a9aba80c3
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed Aug 14 11:49:04 2013 +0200
adlib: sort offsets in portio registration
This fixes the following assert when -device adlib is used:
ioport.c:240: portio_list_add: Assertion `pio->offset >= off_last' failed.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f9fd82ee939d6ee5bff126b125020021e18ce330
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 30 11:58:45 2013 +0200
target-i386: fix disassembly with PAE=1, PG=0
CR4.PAE=1 will not enable paging if CR0.PG=0, but the "if" chain
in x86_cpu_get_phys_page_debug says otherwise. Check CR0.PG
before everything else.
Fixes "-d in_asm" for a code section at the beginning of OVMF.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
(cherry picked from commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit da4e203efa76f2d2ee0a17670c241881963d033d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:25 2013 +0200
block: expect errors from bdrv_co_is_allocated
Some bdrv_is_allocated callers do not expect errors, but the fallback
in qcow2.c might make other callers trip on assertion failures or
infinite loops.
Fix the callers to always look for errors.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit d663640c04f2aab810915c556390211d75457704)
Conflicts:
block/cow.c
*modified to avoid dependency on upstream's e641c1e8
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c09a4634d945df5d7e1fbc394646e78d7d713c67
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 17:00:04 2013 +0200
Revert "usb-hub: report status changes only once"
This reverts commit a309ee6e0a256f690760abfba44fceaa52a7c2f3.
This isn't in line with the usb specification and adds regressions,
win7 fails to drive the usb hub for example.
Was added because it "solved" the issue of hubs interacting badly
with the xhci host controller. Now with the root cause being fixed
in xhci (commit <FIXME>) we can revert this one.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit bdebd6ee81f4d849aa8541c289203e3992450db0)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c0a5eb81b43e56569cfdb9c86fd78930b2765b96
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:39:02 2013 +0200
xhci: fix endpoint interval calculation
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit ca7162782a293f525633e5816470498dd86a51cf)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 358bb0daa1ce332a18cc996fcd078a3989f77d36
Author: yinyin <yin.yin@xxxxxxxxxxx>
Date: Thu Aug 22 14:47:16 2013 +0800
virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the
indirect descriptor table
virtqueue_get_avail_bytes: when found a indirect desc, we need loop over
it.
/* loop over the indirect descriptor table */
indirect = 1;
max = vring_desc_len(desc_pa, i) / sizeof(VRingDesc);
num_bufs = i = 0;
desc_pa = vring_desc_addr(desc_pa, i);
But, It init i to 0, then use i to update desc_pa. so we will always get:
desc_pa = vring_desc_addr(desc_pa, 0);
the last two line should swap.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Yin Yin <yin.yin@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 1ae2757c6c4525c9b42f408c86818f843bad7418)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3fe494efc5eb107c4c90e96df3e6131f9960f4b9
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Aug 13 14:10:04 2013 +1000
pseries: Fix stalls on hypervisor virtual console
A number of users are reporting stalls when using the pseries
hypervisor virtual console.
A simple test case is to paste 15 or 17 characters at a time
into the console. Pasting 15 characters at a time works fine
but pasting 17 characters hangs for a random amount of time.
Other activity (network, qemu monitor etc) unblocks it.
If qemu-char tries to send more than 16 characters at once,
vty_can_receive returns false. At this point we have to
wait for the guest to consume that output. Everything is good
so far.
The problem occurs when the the guest does consume the output.
We need to signal back to the qemu-char layer that we are
ready for more input. Without this we block until something
else kicks us (eg network activity).
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
(cherry picked from commit 7770b6f78a2d655e03852a5de238f5926c92be6a)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a73c74f63aa8f977ece88c97280a03ea9b1ca395
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Aug 27 08:37:26 2013 +0300
pc: fix regression for 64 bit PCI memory
commit 398489018183d613306ab022653552247d93919f
pc: limit 64 bit hole to 2G by default
introduced a way for management to control
the window allocated to the 64 bit PCI hole.
This is useful, but existing management tools do not know how to set
this property. As a result, e.g. specifying a large ivshmem device with
size > 4G is broken by default. For example this configuration no
longer works:
-device ivshmem,size=4294967296,chardev=cfoo
-chardev socket,path=/tmp/sock,id=cfoo,server,nowait
Fix this by detecting that hole size was not specified
and defaulting to the backwards-compatible value of 1 << 62.
Cc: qemu-stable@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
(cherry picked from commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 964e0d4ec52ea7400ccc69de69b05ac913bbfff8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 23 18:01:58 2013 +0200
scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial
scsi_bus_legacy_add_drive() creates either a scsi-disk or a
scsi-generic device. It sets property "serial" to argument serial
unless null. Crashes with scsi-generic, because it doesn't have such
the property.
Only usb_msd_initfn_storage() passes non-null serial. Reproducer:
$ qemu-system-x86_64 -nodefaults -display none -S -usb \
-drive if=none,file=/dev/sg1,id=usb-drv0 \
-device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123
qemu-system-x86_64: -device
usb-storage,id=usb-msd0,drive=usb-drv0,serial=123: Property '.serial' not found
Aborted (core dumped)
Fix by handling exactly like "removable": set the property only when
it exists.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
(cherry picked from commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 11b0ab70a58e3e6c06dc1fd1ea318b1c5806d955
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Aug 22 20:11:36 2013 +0300
usb/dev-hid: Modified usb-tablet category from Misc to Input
usb-tablet device was wrongly assigned to Misc category
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
(cherry picked from commit 31efd2e883018b4c079ad082105bc161fbb3fef8)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d6dcfd69f8b2aa2cad79486bbadef7d51f7f4e7d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 15:50:15 2013 +0100
scripts/qapi.py: Avoid syntax not supported by Python 2.4
The Python "except Foo as x" syntax was only introduced in
Python 2.6, but we aim to support Python 2.4 and later.
Use the old-style "except Foo, x" syntax instead, thus
fixing configure/compile on systems with older Python.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
(cherry picked from commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 260790645e95891cb264c2d657648f43401ac915
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sun Aug 18 22:27:08 2013 -0400
rdma: silly ipv6 bugfix
My bad - but it's very important for us to warn the user that
IPv6 is broken on RoCE in linux right now, until linux releases
a fixed version.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
(cherry picked from commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 52f99b02e5ff1004fb3b41846d2c34f190127456
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 13:32:38 2013 +0200
target-ppc: fix bit extraction for FPBF and FPL
Bit extraction for the FP BF and L field of the MTFSFI and MTFSF
instructions is wrong and doesn't match the reference manual (which
explain the bit number in big endian format). It has been broken in
commit 7d08d85645def18eac2a9d672c1868a35e0bcf79.
This patch fixes this, which in turn fixes the problem reported by
Khem Raj about the floor() function of libm.
Reported-by: Khem Raj <raj.khem@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx (1.6)
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
(cherry picked from commit 779f659021d1754117bce1aab9370dc22f37ae07)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c0c080c5d1ce6c236ba8ab5db3a17043c665d0f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 12 18:09:47 2013 +0200
gdbstub: Fix gdb_register_coprocessor() register counting
Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register
counting for GDB. While it seems correct not to let the total number of
registers skyrocket in an SMP scenario through a static variable, the
distinction between total register count and 'g' packet register count
(last_reg vs. num_g_regs) got lost among the way.
Fix this by introducing CPUState::gdb_num_g_regs and using that in
gdb_handle_packet().
Reported-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx (stable-1.6)
Tested-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Tested-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from commit 35143f0164e6933a85c7c2b8a89a040d881a9151)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 670599a08c052f6ef841743731a8f06d4b50ec99
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jun 27 15:32:26 2013 +0200
block: ensure bdrv_drain_all() works during bdrv_delete()
In bdrv_delete() make sure to call bdrv_make_anon() *after* bdrv_close()
so that the device is still seen by bdrv_drain_all() when iterating
bdrv_states.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
(cherry picked from commit e1b5c52e04d04bb93546c6e37e8884889d047cb1)
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1ee2daeb6448312d6d0e22175f5c1b9b01f8974c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 15 10:40:51 2013 -0500
Update version for 1.6.0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc413a39355ed910f22f8f0be5e233c08a0773a0
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Aug 12 21:34:53 2013 +0200
mips_malta: do not raise exceptions when accessing invalid memory
Since commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c, MIPS raises
exceptions when accessing invalid memory. This is not the correct
behaviour for MIPS Malta Core LV, as the GT-64120A system controller
just ignore undecoded access. This feature is used by the Linux kernel
to probe for some devices.
Emulate the correct behaviour in QEMU by adding an empty slot covering
the entire memory space decoded by the GT-64120A.
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8b7a5415f9297c1fbae5bff28dcb059d50c1b045
Author: M. Mohan Kumar <mohan@xxxxxxxxxx>
Date: Wed Aug 14 17:56:41 2013 +0530
block: Dont ignore previously set bdrv_flags
bdrv_flags is set by bdrv_parse_discard_flags(), but later it is reset
to zero.
Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1376483201-13466-1-git-send-email-mohan@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3a3567d337d3ee6fb2e2fcc1d27cd045ed97ae9b
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Aug 8 12:09:38 2013 +0100
qemu-char: fix infinite recursion connecting to monitor pty
Since commit bd5c51e (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an
infinite recursion occurs when putting the monitor on a pty (-monitor
pty) and connecting a terminal to the slave port.
This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to
qemu_chr_be_generic_open(). This event is captured by monitor_event()
which prints a welcome message to the character device. The flush of
that welcome message retriggers another open event in pty_chr_state()
because it checks s->connected, but only sets it to 1 after calling
qemu_chr_be_generic_open().
I've fixed this by setting s->connected = 1 before the call to
qemu_chr_be_generic_open() instead of after, so that the recursive
pty_chr_state() doesn't call it again.
An example snippet of repeating backtrace:
...
#107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288
#107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at
qemu/monitor.c:322
#107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU
%s monitor - type 'help' for more information\n",
ap=0x7f432be0) at qemu/monitor.c:339
#107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU
%s monitor - type 'help' for more information\n")
at qemu/monitor.c:347
#107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at
qemu/monitor.c:4699
#107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at
qemu/qemu-char.c:108
#107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at
qemu/qemu-char.c:113
#107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at
qemu/qemu-char.c:1145
#107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at
qemu/qemu-char.c:1121
#107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008
<Address 0x70b3c008 out of bounds>, len=538720)
at qemu/qemu-char.c:1063
#107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008
<Address 0x70b3c008 out of bounds>, len=538720)
at qemu/qemu-char.c:118
...
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1375960178-10882-1-git-send-email-james.hogan@xxxxxxxxxx
Cc: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02653c5ea77bc3837376232ce508b7dd3e358ca1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Aug 13 09:02:52 2013 -0500
pvpanic: fix bad merge
Context matching caused the 'has_pvpanic = true' to be applied to
the 1.6 machine type instead of the 1.5 machine type.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 328465fd9f3a628ab320b5959d68d3d49df58fa6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 15:03:36 2013 -0500
Update version for 1.6.0-rc3
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d054ea543c2f94ddea5db29cc908899a188c07d
Merge: 9fb7aaa... 5638370...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 15:03:20 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix X86CPU Westmere CPUID for pc-*-1.4 and older
* afaerber/tags/qom-cpu-for-anthony:
pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older
Conflicts:
hw/i386/pc_piix.c
hw/i386/pc_q35.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fb7aaaf4c58c9108327f0ae4766087e3e496b47
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 09:01:44 2013 -0500
pc: drop external DSDT loading
This breaks migration and is unneeded with modern SeaBIOS.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1376316104-11269-1-git-send-email-aliguori@xxxxxxxxxx
commit a5d3f640a0fa56eaed712c9361150568e32e1d08
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Aug 11 18:10:43 2013 +0300
hw/misc: make pvpanic known to user
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html
The pvpanic device may be enabled now with "-device pvpanic"
from command line.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1376233843-19410-3-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7f3e341a008c585deed174eaf1f826c88c67948a
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Aug 11 18:10:42 2013 +0300
hw/misc: don't create pvpanic device by default
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html
No need to hard-code pvpanic as part of the machine.
It can be added with "-device pvpanic" from command line (The next patch).
Anyway, for backport compatibility it is still part of 1.5
machine.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1376233843-19410-2-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56383703c060777fd01aaf8d63d5f46d660e9fb9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Aug 9 11:11:36 2013 -0300
pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older
Commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
change by adding the PCLMULQDQ bit to Westmere without adding
compatibility code to keep the ABI for older machine-types.
Fix it by adding the missing compat code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f3067bd86485f8cd03abc940ddb2b8467ef3627
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:45 2013 -0400
rdma: remaining documentation fixes
Was missing 'setup-time' in some of the QMP documentation...
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1376078746-24948-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7fc5b13fd7b05babc7bcad9dcb8281ae202a9494
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:44 2013 -0400
rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround
We've gotten reports from multiple testers (including Frank Yangjie
and myself) that RDMA IPv6 support over RocE (Ethernet) is broken
in linux.
A patch to Linux is still in review:
http://comments.gmane.org/gmane.linux.drivers.rdma/16448
If the user is listening on '[::]', then we will not have a opened a
device
yet and have no way of verifying if the device is RoCE or not.
In this case, the source VM will throw an error for ALL types of
connections (both IPv4 and IPv6) if the destination machine does not have
a regular infiniband network available for use.
The only way to gaurantee that an error is thrown for broken kernels is
for the management software to choose a *specific* interface at bind time
and validate what time of hardware it is.
Unfortunately, this puts the user in a fix:
If the source VM connects with an IPv4 address without knowing that the
destination has bound to '[::]' the migration will unconditionally fail
unless the management software is not explicitly listening on the the
IPv4
address while using a RoCE-based device.
If the source VM connects with an IPv6 address, then we're OK because we
can
throw an error on the source (and similarly on the destination).
But in mixed environments, this will be broken for a while until it is
fixed
inside linux.
We do provide a *tiny* bit of help in mixed environments, though in this
patch:
We can list all of the devices in the system and check to see if all the
devices are RoCE or Infiniband.
If we detect that we have a *pure* RoCE environment, then we can safely
thrown an error even if the management sofware has specified '[::]' as the
bind address.
However, if there is are multiple hetergeneous devices, then we cannot
make
this assumption and the user just has to be sure they know what they are
doing.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6470215b794d6d9f9ffbd82f669645715eb014f8
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Fri Aug 9 16:05:43 2013 -0400
rdma: proper getaddrinfo() handling
getaddrinfo() already knows what it's doing,
but it can potentially return multiple addresses.
We need to handle that...
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88571882516a7cb4291a329c537eb79fd126e1f2
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:42 2013 -0400
rdma: check if RDMAControlHeader::len match transferred byte
RDMAControlHeader::len is provided from remote, so check if the value
match the actual transferred byte_len.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f1484edadba57f2800dc04ae3527ee4b6dac7ef
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:41 2013 -0400
rdma: validate RDMAControlHeader::len
RMDAControlHeader::len is provided from remote, so validate it.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 885e8f984ea846e79a39ddc4f066f4dd3d04b264
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Fri Aug 9 16:05:40 2013 -0400
rdma: use resp.len after validation in qemu_rdma_registration_stop
resp.len is given from remote host. So should be validated before use.
Otherwise memcpy can access beyond the buffer.
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1376078746-24948-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6dd2a5c98a6b1c9189d342bcc3493c9b5dd1217e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:02 2013 -0500
pc_sysfw: do not make it a device anymore
Move the code to hw/i386, the sole remaining property is available
as !pci_enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1376069702-22330-4-git-send-email-aliguori@xxxxxxxxxx
Rebased.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a904410af5f1ed6ff031e9e4119ca2f5d99647ce
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:01 2013 -0500
pc_sysfw: remove the rom_only property
With the new semantics of pc_sysfw (no -pflash implies "old-style" ROM
setup,
-pflash implies "new-style" ROM setup), there is no need anymore for a
compat
property. Old machines simply will never use -pflash, and thus will
always
use old-style setup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1376069702-22330-3-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 133bb095acf536f85e7e57821596c8c844aaa583
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 9 12:35:00 2013 -0500
sysfw: remove read-only pc_sysfw_flash_vs_rom_bug_compatible
The variable is not written anymore.
This cleans up after 9e1c2ec (which accidentally left variable
pc_sysfw_flash_vs_rom_bug_compatible behind, value always zero), and
buries dead code from commit dafb82e (which resurrected the pc_sysfw
code for pc_sysfw_flash_vs_rom_bug_compatible by mistake).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1376069702-22330-2-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Aug 8 20:18:07 2013 +0200
w32: Add missing version.o to all executables (fix regression)
QEMU executables for w32, w64 had included meta information built from
version.rc. These rules were changed several times some months ago.
The latest version added version.o to the tools, but not to the system
emulations.
This patch adds the meta information to all system emulations again.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375985887-3984-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb77d1925ac4d673e19be58aa39fc53c5d2fed10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 2 09:34:00 2013 +0200
qemu-option: Guard against qemu_opts_set_defaults() misuse
Commit 6d4cd40 fixed qemu_opts_set_defaults() for an existing corner
case, but broke it for another one that can't be reached in current
code.
Quote from its commit message:
I believe [opts_parse()] attempts to do the following:
If options don't yet exist, create new options
Else, if defaults, modify the existing options
Else, if list->merge_lists, modify the existing options
Else, fail
The only caller that passes true for defaults is
qemu_opts_set_defaults().
The commit message then claims:
A straightforward call of qemu_opts_create() does exactly that.
Wrong. When !list->merge_lists, and the option string doesn't contain
id=, and options without ID exist, then we don't actually modify the
existing options, we create new ones.
Not reachable, because we never pass lists with !list->merge_lists to
qemu_opts_set_defaults().
Guard against possible (if unlikely) future misuse with assert().
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1375428840-5275-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8571fa57cd0426f40629ab77444704745631f168
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 31 08:19:52 2013 +0200
LICENSE: clarify
1) The GPL says that "if the Program does not specify a version number
of this License, you may choose any version ever published by the Free
Software Foundation". This is not true, QEMU includes parts that are
v2-only.
2) Provide a default for files with no licensing information.
3) It is not just hardware emulation that is under BSD license.
4) Restrict GPLv2-only contributions to user mode emulation (due to
code from Linux) and PCI passthrough (due to code from Neocleus).
5) The rules were initially set by Fabrice but are being amended by
other people (already in commit ee12e1f, LICENSE: There is no libqemu.a
anymore, 2011-11-15). Do not put words in his mouth.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375251592-2537-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7748c1bd50bd1b7f2b414acc2cf2e975be92deff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 31 08:19:51 2013 +0200
raw: add license header
Most of the block layer is under the BSD license, thus it is reasonable
to license block/raw.c the same way. CCed people should ACK by replying
with a Signed-off-by line.
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Cc: Jeff Cody <jcody@xxxxxxxxxx>
Cc: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1375251592-2537-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ee1ee80d22b3153dd6cbd3bec6d48a026eac31c
Merge: 6624fec... 3561ba1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:55 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio fixes for 1.6
This includes some last-minute bugfixes for 1.6.
All very small patches that also look very safe to me.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 12 Aug 2013 04:28:57 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vhost: clear signalled_used_valid on vhost stop
virtio: clear signalled_used_valid when switching from dataplane
i82801b11: Fix i82801b11 PCI host bridge config space
pc: disable pci-info for 1.6
Message-id: 1376308831-19978-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6624fecd8e4df6be13f86846abce979702917931
Merge: 3bba9c1... f7b803b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:43 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130812' into
staging
arm-devs queue
# gpg: Signature made Mon 12 Aug 2013 05:58:14 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130812:
hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues
hw/virtio/virtio: Don't allow guests to add/remove queues
Message-id: 1376305261-29561-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3bba9c115ba31f53fb9fc0a2711bf36c0ed6f031
Merge: 4a9a887... 6db5f5d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:32:36 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Mike Qiu
# Via Kevin Wolf
* kwolf/for-anthony:
block: Bugfix 'format' and 'snapshot' used in drive option
Message-id: 1376071141-3214-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a9a8876a14653fd03918945dbb96de3e84b3e3f
Merge: 283c873... 56c4bfb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:30:49 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Laszlo Ersek
# Via Luiz Capitulino
* luiz/queue/qmp:
dump: rebase from host-private RAMBlock offsets to guest-physical
addresses
dump: populate guest_phys_blocks
dump: introduce GuestPhysBlockList
dump: clamp guest-provided mapping lengths to ramblock sizes
Message-id: 1375974809-1757-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 283c8733b5a2e7ecd9a681656690ffef8dd675ae
Merge: 2aa09da... dad5b9e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:30:39 2013 -0500
Merge remote-tracking branch 'kraxel/usb.87' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.87:
xhci: implement warm port reset
Message-id: 1375961495-20970-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2aa09da823c258b3636d0e73527510cd196c68e4
Merge: 9b9734e... 2e985fe...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 12 08:28:56 2013 -0500
Merge remote-tracking branch 'origin/master' into staging
* origin/master:
mips: revert commit b332d24a8e1290954029814d09156b06ede358e2
tcg/mips: fix invalid op definition errors
Necessary because patches got pushed by Aurelien before I pushed
the -rc2 tag.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7b803b377f74f7e109559e8e64f04c4c1fcd86b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 26 16:41:28 2013 +0100
hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues
The virtio-mmio spec says that QueueNumMax must read zero for queues
which are unavailable; implement this, rather than always returning
VIRTQUEUE_MAX_SIZE.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374853288-9912-3-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3561ba14188b3c1e54246ed6db97896bbc082d2f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 12 12:21:36 2013 +0300
vhost: clear signalled_used_valid on vhost stop
When vhost device stops, its implementation synchronizes kernel state
back to virtio.c so we can continue emulating the device
in userspace.
This patch ensures that virtio.c's signalled_used_valid flag is reset so
that userspace does not suppress guest notifications due to stale
signalled_used values.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6793dfd1b6a99a79b9f2e3c4d6625ccd6513f240
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 12 11:08:09 2013 +0200
virtio: clear signalled_used_valid when switching from dataplane
When the dataplane thread stops, its vring.c implementation synchronizes
vring state back to virtio.c so we can continue emulating the virtio
device.
This patch ensures that virtio.c's signalled_used_valid flag is reset so
that we do not suppress guest notifications due to stale signalled_used
values.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4965b7f056177ddfb816319e9ff5e766898d0bc5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Aug 5 16:36:40 2013 +0200
i82801b11: Fix i82801b11 PCI host bridge config space
pci_bridge_write_config() was not being used.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9604f70fdf8e21ec0dbf6eac5e59a0eb8beadd64
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Aug 1 15:39:11 2013 +0300
pc: disable pci-info for 1.6
The BIOS that we ship in 1.6 does not use pci info
from host (yet). Several issues turned up
(e.g. around winXP boot crashes). So it's safest to disable that
interface for 1.6 machine types for now, leave it on for 1.7
as we have enough time to fix issues if any.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6db5f5d68e2ffc430ba0511e23fc36c7363510f1
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Thu Aug 8 10:45:16 2013 -0400
block: Bugfix 'format' and 'snapshot' used in drive option
When use -drive file='xxx',format=qcow2,snapshot=on the error
message "Can't use snapshot=on with driver-specific options"
can be show, and fail to start the qemu.
This should not be happened, and there is no file.driver option
in qemu command line.
It is because the commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4,
it puts 'driver' option if the command line use 'format' option.
This patch is to solve this bug.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6049f4483d61fa911a0693c2c48ce8308451d33
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 26 16:41:27 2013 +0100
hw/virtio/virtio: Don't allow guests to add/remove queues
A queue size of 0 is used to indicate a nonexistent queue, so
don't allow the guest to flip a queue between zero-size and
non-zero-size. Don't permit setting of negative queue sizes
either.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374853288-9912-2-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2e985fe000e73097e325e18b943e8babfa96c35c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Aug 3 16:03:18 2013 +0200
mips: revert commit b332d24a8e1290954029814d09156b06ede358e2
Now that this code path is not triggered anymore during the tests,
revert commit b332d24a8e1290954029814d09156b06ede358e2. Booting a MIPS
target without kernel nor bios doesn't really make sense. At the same
time replace fprintf(stderr, ...) by error_report().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 85711e6bafb1910b50ff181e8507cb904ef7e84d
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Aug 8 15:40:23 2013 +0100
tcg/mips: fix invalid op definition errors
tcg/mips/tcg-target.h defines various operations conditionally depending
upon the isa revision, however these operations are included in
mips_op_defs[] unconditionally resulting in the following runtime errors
if CONFIG_DEBUG_TCG is defined:
Invalid op definition for movcond_i32
Invalid op definition for rotl_i32
Invalid op definition for rotr_i32
Invalid op definition for deposit_i32
Invalid op definition for bswap16_i32
Invalid op definition for bswap32_i32
tcg/tcg.c:1196: tcg fatal error
Fix with ifdefs like the i386 backend does for movcond_i32.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 56c4bfb3f07f3107894c00281276aea4f5e8834d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:11 2013 +0200
dump: rebase from host-private RAMBlock offsets to guest-physical
addresses
RAMBlock.offset --> GuestPhysBlock.target_start
RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end
RAMBlock.length --> GuestPhysBlock.target_end -
GuestPhysBlock.target_start
"GuestPhysBlock.host_addr" is only used when writing the dump contents.
This patch enables "crash" to work with the vmcore by rebasing the vmcore
from the left side of the following diagram to the right side:
host-private
offset
relative
to ram_addr RAMBlock guest-visible paddrs
0 +-------------------+.....+-------------------+ 0
| ^ | | ^ |
| 640 KB | | 640 KB |
| v | | v |
0x0000a0000 +-------------------+.....+-------------------+ 0x0000a0000
| ^ | |XXXXXXXXXXXXXXXXXXX|
| 384 KB | |XXXXXXXXXXXXXXXXXXX|
| v | |XXXXXXXXXXXXXXXXXXX|
0x000100000 +-------------------+.....+-------------------+ 0x000100000
| ^ | | ^ |
| 3583 MB | | 3583 MB |
| v | | v |
0x0e0000000 +-------------------+.....+-------------------+ 0x0e0000000
| ^ |. |XXXXXXXXXXXXXXXXXXX|
| above_4g_mem_size | . |XXXX PCI hole XXXXX|
| v | . |XXXX XXXXX|
ram_size +-------------------+ . |XXXX 512 MB XXXXX|
. .|XXXXXXXXXXXXXXXXXXX|
. +-------------------+ 0x100000000
. | ^ |
. | above_4g_mem_size |
.| v |
+-------------------+ ram_size
+ 512 MB
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c5d7f60f0614250bd925071e25220ce5958f75d0
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:10 2013 +0200
dump: populate guest_phys_blocks
While the machine is paused, in guest_phys_blocks_append() we register a
one-shot MemoryListener, solely for the initial collection of the valid
guest-physical memory ranges that happens at listener registration time.
For each range that is reported to guest_phys_blocks_region_add(), we
attempt to merge the range with the preceding one.
Ranges can only be joined if they are contiguous in both guest-physical
address space, and contiguous in host virtual address space.
The "maximal" ranges that remain in the end constitute the guest-physical
memory map that the dump will be based on.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5ee163e8ea2fb6610339f494e039159e08a69066
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:09 2013 +0200
dump: introduce GuestPhysBlockList
The vmcore must use physical addresses that are visible to the guest, not
addresses that point into linear RAMBlocks. As first step, introduce the
list type into which we'll collect the physical mappings in effect at the
time of the dump.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2cac260768b9d4253737417ea7501cf2950e257f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 6 12:37:08 2013 +0200
dump: clamp guest-provided mapping lengths to ramblock sizes
Even a trusted & clean-state guest can map more memory than what it was
given. Since the vmcore contains RAMBlocks, mapping sizes should be
clamped to RAMBlock sizes. Otherwise such oversized mappings can exceed
the entire file size, and ELF parsers might refuse even the valid portion
of the PT_LOAD entry.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dad5b9ea0895c227bc9d48b7f0a6fa51eaaa8661
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Aug 1 15:51:08 2013 +0200
xhci: implement warm port reset
Without this patch windows can't do port resets for usb3 devices.
https://bugzilla.redhat.com/show_bug.cgi?id=949514
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9b9734ef820d9035ac5d254e2b5962cd0b89f4e1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 15:38:31 2013 -0500
Update version for 1.6.0-rc2
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jul 28 14:35:54 2013 +0200
fw_cfg: the I/O port variant expects little-endian
The I/O port variant of fw_cfg is used by sparc64, which is a big-endian
machine.
Firmware swaps bytes before sending them to fw_cfg, so we need to unswap
them in
the device.
This is only used on sparc64 and on (little-endian) x86, so it does not
affect
any other target. 32-bit Sparc and PPC all use memory-mapped fw_cfg.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Message-id: 1375014954-31916-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9a72359a54978f7364f6486973cea50ceb52173
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Aug 5 21:45:22 2013 +0200
po: Update all *.po files
Running "make install" modified the *.po files because
they were no longer up to date.
Synchronize them with latest ui/gtk.c and modified build
rules which use paths relative to the project root.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375731922-24259-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f71d4c4673d0b2b92bccd46eb06f6c1723d6bb0f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:03 2013 +0200
target-ppc: Add POWER5+ v2.1 CPU model
Let's avoid -cpu host barfing at this PVR.
Linux recognizes it as "POWER5+ (gs) v2.1".
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 35ebcb2b7a469739e6452d27379181bfbfc0388d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:02 2013 +0200
target-ppc: Prepare POWER5P CPU family
It is ISA 2.03. Modelled as 970FX minus AltiVec flag.
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 469296f1578e1e7b69c267de39d17134b950b93a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:01 2013 +0200
target-ppc: Turn POWER5gr CPU into alias for POWER5
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 171777a4b38a0f6331ae60c2546a5baf84c4b359
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 03:42:00 2013 +0200
target-ppc: Turn POWER5gs CPU into alias for POWER5+
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375321323-29954-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a7d6b9f084765a834110bb9a2a0329b1a96de792
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 22:59:46 2013 +0200
target-ppc: Fix POWER7+ model
Commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 claimed to add a POWER7+
model but instead added a "POWER7P" model, with an unhelpful "POWER7P"
description on top. Fix this to "POWER7+" as we already have "POWER3+",
"POWER4+" and "POWER5+" and there being no reason to deviate with the
user-visible command line -cpu POWER7P from the marketing name POWER7+.
Further, don't needlessly deviate from the scheme of naming PVR constant,
QOM type and device description after the exact revision that is in fact
encoded in the PVR used.
That way, we can change the user-friendly alias -cpu POWER7+ to point to a
different revision if we so desire, while not polluting the type
namespace.
This naming scheme is sensible and completely orthogonal to how PVRs may
or may not get matched to CPU types.
Cc: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375736387-8429-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0dd5ce38fbeb2fb97b01cc8c1c97292211e48ee6
Author: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx>
Date: Tue Aug 6 20:45:39 2013 +0200
Bugfix for loading multiboot kernels
This patch fixes a bug in rom_copy introduced by
commit d60fa42e8bae39440f997ebfe8fe328269a57d16.
rom_copy failed to load roms with a "datasize" of 0.
As a result, multiboot kernels were not loaded correctly
when they contain a segment with a "file size" of 0.
https://bugs.launchpad.net/qemu/+bug/1208944
Signed-off-by: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
CAG1x_oET1u3TMPu3r_zzd3ZXsTWQLiaM0zAc+RkHFCwvJjGOvg@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c0f48f5b6c4cf3e1ec8ec6fa7bfe1b97dc92a9c
Merge: cafffa5... cd7b87f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 12:43:34 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Clean up X86CPU error handling
# gpg: Signature made Tue 06 Aug 2013 01:57:34 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Fix X86CPU error handling
commit cafffa545420a2c6dc33f9cb58401c606af59572
Merge: a1fc624... ca8804c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Aug 7 12:43:27 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Fam Zheng (8) and others
# Via Kevin Wolf
* kwolf/for-anthony:
vmdk: rename num_gtes_per_gte to num_gtes_per_gt
vmdk: use heap allocation for whole_grain
vmdk: check l1 size before opening image
vmdk: check l2 table size when opening
vmdk: check granularity field in opening
qemu-iotests: add empty test case for vmdk
qemu-iotests: add poke_file utility function
vmdk: use unsigned values for on disk header fields
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
sheepdog: add missing .bdrv_has_zero_init
qemu-iotests: filter QEMU version in monitor banner
iov: handle EOF in iov_send_recv
ignore SIGPIPE in qemu-img and qemu-io
qemu-img: Error out for excess arguments
Message-id: 1375799990-995-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd7b87ffe9b6b7b0089ec8c71555f3b942bc6daf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 2 18:56:05 2013 +0200
target-i386: Fix X86CPU error handling
Error **errp argument is not for emitting warnings, it means an error
has occurred and the caller should not make any assumptions about the
state of other return values (unless otherwise documented).
Therefore cpu_x86_create() must unref the new X86CPU itself, and
pc_new_cpu() must check for an Error rather than NULL return value.
While at it, clean up a superfluous NULL check.
Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca8804ced9fdba7a1925ed81084dfb7a5b6ffa9f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:55 2013 +0800
vmdk: rename num_gtes_per_gte to num_gtes_per_gt
num_gtes_per_gte is a historical typo, rename it to a more sensible
name. It means "number of GrainTableEntries per GrainTable".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bf81507de38fdfa4cb6e9b46fb38691a25cb1499
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:54 2013 +0800
vmdk: use heap allocation for whole_grain
We should never grow the stack beyond 1 MB, otherwise we'll fall off the
end. Thread stacks and coroutine stacks (1 MB) do not grow.
get_cluster_offset() allocates a big stack offset, it will fail for big
cluster images, change to heap allocated buffer.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c43e43c8cec130fff95ef720a860e91efb36685
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:53 2013 +0800
vmdk: check l1 size before opening image
L1 table size is calculated from capacity, granularity and l2 table
size. If capacity is too big or later two are too small, the L1 table
will be too big to allocate in memory. Limit it to a reasonable range.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8ce04036e333aae480b1d06d969f6436652633d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:52 2013 +0800
vmdk: check l2 table size when opening
header.num_gtes_per_gte determines size for L2 table. Check for too big
value before using it. Limit to 512M entries (2GB per one L2 table).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8aa1331c09a9b899f48d97f097bb49b7d458be1c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:51 2013 +0800
vmdk: check granularity field in opening
Granularity is used to calculate the cluster size and allocate r/w
buffer. Check the value from image before using it, so we don't abort()
for unbounded memory allocation.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca6cbb657d66a7beb70f9d91848c80d1a72b1674
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:50 2013 +0800
qemu-iotests: add empty test case for vmdk
Will add vmdk specific tests later here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 23ea2ecc2a43d850bc9482068201ece5da36a448
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Aug 6 15:44:49 2013 +0800
qemu-iotests: add poke_file utility function
The new poke_file function sets bytes at an offset in a file given a
printf-style format string. It can be used to corrupt an image file for
test coverage of error paths.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e98768d43799cd3f00b358bfbe455fdae793d3e8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:48 2013 +0800
vmdk: use unsigned values for on disk header fields
The size and offset fields are all non-negative values, use uint64_t for
them to avoid getting negative in memory value by int overflow.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d8caa543c9714bee36b04899797a3721dff4090
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 6 15:44:47 2013 +0800
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
It's best to make it consistent that all on disk structures are
QEMU_PACKED.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a1fc6246b3964e74ddb3a7e0b8bba03af1c6ac38
Author: Leon Alrae <leon.alrae@xxxxxxxxxx>
Date: Tue Aug 6 11:59:25 2013 +0100
target-mips: fix decoding of microMIPS POOL32Axf instructions
Fix incorrect assumption that DSP and non-DSP versions of the following
instructions have the same encoding:
MULT, MULTU, MADD, MADDU, MSUB, MSUBU, MFHI, MFLO, MTHI, MTLO.
Correct the existing (non-DSP) instructions and add DSP equivalents.
Reference:
MIPS Architecture for Programmers Volume II-B: The microMIPS32
Instruction Set
MIPS Architecture for Programmers Volume IV-e: The MIPS DSP Module for
the microMIPS32 Architecture
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e4f5c1bf8f6f6fe0bb4c743452bf8288033e80ba
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Tue Aug 6 14:44:37 2013 +0800
sheepdog: add missing .bdrv_has_zero_init
Commit 3ac21627 changed the behaviour of bdrv_has_zero_init() to default
to 0. In the review for Sheepdog it turned out that enabling it is safe,
so that commit updated one BlockDriver definition of sheepdog to use
bdrv_has_zero_init_1, missed however that there are more BlockDrivers in
the driver. Fix these now.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9580498b9a599b38c3a28599dcd40bd59f12af2c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 5 14:40:34 2013 +0200
qemu-iotests: filter QEMU version in monitor banner
Filter out the QEMU monitor version banner so that tests do not break
when the QEMU version number is changed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 840042901710c2dc1a3ac3e5af9bed449c339701
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Jul 23 17:30:12 2013 +0900
iov: handle EOF in iov_send_recv
Without this patch, iov_send_recv() never returns when do_send_recv()
returns zero.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 526eda14a68d5b3596be715505289b541288ef2a
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Jul 23 17:30:11 2013 +0900
ignore SIGPIPE in qemu-img and qemu-io
This prevents the tools from being stopped when they write data to a
closed connection in the other side.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc11eb26cee7e3621645dd40cd9de944201f590b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 5 10:53:04 2013 +0200
qemu-img: Error out for excess arguments
Don't silently ignore excess arguments at the end of the command line,
but error out instead. This can catch typos like 'resize test.img + 1G',
which doesn't increase the image size by 1G as intended, but truncates
the image to 1G. Even for less dangerous commands, the old behaviour is
confusing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 79761c6681f0d1cc1c027116fcb4382d41ed3ece
Author: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx>
Date: Wed Jul 3 17:58:14 2013 +0900
semaphore: fix a hangup problem under load on NetBSD hosts.
Fix following bugs in "fallback implementation of counting semaphores
with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976:
- waiting threads are not restarted properly if more than one threads
are waiting unblock signals in qemu_sem_timedwait()
- possible missing pthread_cond_signal(3) calls when waiting threads
are returned by ETIMEDOUT
- fix an uninitialized variable
The problem is analyzed by and fix is provided by Noriyuki Soda.
Also put additional cleanup suggested by Laszlo Ersek:
- make QemuSemaphore.count unsigned (it won't be negative)
- check a return value of in pthread_cond_wait() in qemu_sem_wait()
Signed-off-by: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1372841894-10634-1-git-send-email-tsutsui@xxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1d0fb378ae3bb4272124a12e3fe1a02c4745eb1
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:54 2013 -0400
rdma: memory leak RDMAContext::host
It is allocated by g_strdup(), so needs to be freed.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-8-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 877726397f7e24d0c8a2b303a852769b5edd155c
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:53 2013 -0400
rdma: use RDMA_WRID_READY
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1f22364bb5a756dfcbd15c2ae2bac18bbcef6190
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:52 2013 -0400
rdma: qemu_rdma_post_send_control uses wrongly RDMA_WRID_MAX
RDMA_WRID_CONTROL should be used. And remove related work around.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44b5949491a47043c4f7c4ff09f0191f82919a82
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Aug 3 22:54:51 2013 -0400
rdma: don't use negative index to array
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66988941251ef64044aa3b951ebd84162e5a4e3a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:50 2013 -0400
rdma: correct newlines in error statements
Don't print newlines on the error_setg() function,
but still allow newlines on fprintf().
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8cd31adc7cc0602ba0a66b7d9b50fd016ab5530a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:49 2013 -0400
rdma: forgot to turn off the debugging flag
Ooops. We forgot to turn off the flag.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b58c8552bd466aaab67c59dedeb846838082cad6
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Sat Aug 3 22:54:48 2013 -0400
rdma: bugfix: make IPv6 support work
RDMA does not use sockets, so we cannot use many of the socket
helper functions, but we *do* use inet_parse() which gives
RDMA all the necessary details of the connection parameters.
However, when testing with libvirt, a simple IPv6 migration test failed
because we were not using getaddrinfo() properly.
This makes IPv6 migration over RDMA work.
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Message-id: 1375584894-9917-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be2f78b6b062eec5170e2612299fb8953046993f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 15:05:01 2013 +0200
pxa2xx: Avoid object_get_link_property() assertion for "parent_bus"
pxa2xx_i2c_init() creates a pxa2xx-i2c-slave device on a second i2c-bus,
which has a NULL parent device. This causes an assertion in
object_get_canonical_path() when accessing pxa2xx-i2c-slave's
"parent_bus" link<bus> property in tosa and likely other PXA2xx machines.
Fix this by using the pxa2xx_i2c device, created just before, as parent.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375621501-5564-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 03a15a5436ed7723f406f15cc3798aa9991e75b5
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 2 12:59:34 2013 +1000
target-ppc: Add POWER7+ CPU model
This patch adds CPU PVR definition for POWER7+.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1375412374-24701-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 64160cd2a3e9a8491ce44aaa9df25cfad48b8666
Merge: 144f28f... 908c67f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:06:25 2013 -0500
Merge remote-tracking branch 'filippov/tags/20130729-xtensa' into staging
xtensa queue 2013-07-29
* filippov/tags/20130729-xtensa:
target-xtensa: check register window inline
target-xtensa: don't generate dead code to access invalid SRs
tests/tcg/xtensa: Fix out-of-tree build
target-xtensa: avoid double-stopping at breakpoints
target-xtensa: add fallthrough markers
target-xtensa: add extui unit test
Conflicts:
configure
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 144f28fa58abc56d2244a2e6b97ca78e1540dd05
Merge: 59a8877... 9a949b9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:03:01 2013 -0500
Merge remote-tracking branch 'mcayland/qemu-openbios' into staging
* mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 59a88774d912bb53795daa2d3620707401aea077
Merge: 56105bd... ee76c1f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:48 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Jan Kiszka
# Via Stefan Hajnoczi
* stefanha/net:
pcnet: Flush queued packets on end of STOP state
Message-id: 1375704975-19128-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56105bd5c0b6d7ac62b34c8b8f496df8f7bd9d92
Merge: f5e7dad... 8afaefb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:39 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf
# Via Stefan Hajnoczi
* stefanha/block:
block: Disable driver-specific options for 1.6
Message-id: 1375461379-20277-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f5e7dad8ee5673b4de1eaa9a2fa610f0940f26b0
Merge: d94c426... 8e50724...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:32 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Fam Zheng (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
vmdk: fix comment for vmdk_co_write_zeroes
memory.c: drop kvm.h dependency
block/iscsi.c: Fix printf format error.
qemu-ga: build it even if !system
Message-id: 1375453248-7178-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d94c426d46e01ad45fc5e3b8e5b485ca1b0158fe
Merge: b9ac5d9... a14ff8a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Aug 5 08:01:25 2013 -0500
Merge remote-tracking branch 'kraxel/usb.86' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.86:
usb-redir: fix use-after-free
xhci: fix segfault
Message-id: 1375362669-14815-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ee76c1f821e75550644e084dea85743bbc934f91
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Aug 2 21:48:18 2013 +0200
pcnet: Flush queued packets on end of STOP state
Analogously to other NICs, we have to inform the network layer when
the can_receive handler will no longer report 0. Without this, we may
get stuck waiting on queued incoming packets.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b9ac5d923b820a0f0152a2df56067e55ce34f487
Author: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Date: Fri Aug 2 10:33:43 2013 +0100
target-mips: fix 34Kf configuration for DSP ASE
34Kf core does support DSP ASE.
CP0_Config3 configuration for 34Kf and description are wrong.
Please refer to MIPS32(R) 34Kf(TM) Processor Core Datasheet
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8afaefb8919dc8746a57c450a758717c516c7b0a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 30 14:58:27 2013 +0200
block: Disable driver-specific options for 1.6
We don't want to commit to the API yet before everything is worked out.
Like already for 1.5, disable it again for the 1.6 release. This commit
is meant to be reverted after the 1.6 release.
The disabling of the driver-specific options is achieved by applying the
old checks while parsing the command line.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e50724313895a87057cc243ad805f2eb21feb9f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Aug 1 18:12:17 2013 +0800
vmdk: fix comment for vmdk_co_write_zeroes
The comment was truncated. Add the missing parts, especially explain why
we need zero_dry_run.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 437de2adc633ed28cdd84bcdffc3430b5ce96be6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Aug 1 10:55:30 2013 +0300
memory.c: drop kvm.h dependency
memory.c does not use any kvm specific interfaces,
don't include kvm.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f5075224d6e7fe8cae7e3c1b52a6d0f7bd3533d0
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Wed Jul 31 22:20:26 2013 +0100
block/iscsi.c: Fix printf format error.
The error on armv7hl was:
block/iscsi.c: In function â??is_request_lun_alignedâ??:
block/iscsi.c:251:26: error: format â??%ldâ?? expects argument of type
â??long intâ??, but argument 3 has type â??int64_tâ?? [-Werror=format=]
iscsilun->block_size, sector_num, nb_sectors);
^
This also splits the long line to comply with qemu coding guidelines.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e8ef31a3518c7b1e63a804fe8cecd3e94418db84
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jul 31 14:22:07 2013 +0400
qemu-ga: build it even if !system
Move qemu-ga build check out of if softmmu.. into its own section.
We want to build qemu-ga for _guest_ even if system build isn't
done. It is controlled separately using --enable-guest-agent.
Additionally, give error message if guest agent is requested but
not supported.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2ddc463725d0fa24e0910fba77fef2777fa94a74
Merge: 00f90df... e0d4794...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 17:09:35 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Clean up AlphaCPU and OpenRISCCPU migration
# gpg: Signature made Wed 31 Jul 2013 04:57:59 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpu: Fix VMSTATE_CPU() semantics
commit 00f90df09368035fcfe6a06cd87a6c88f82f2afe
Merge: e501425... 5c97367...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 17:09:28 2013 -0500
Merge remote-tracking branch 'afaerber/tags/prep-for-upstream' into
staging
PReP machine and devices
* Fixes for i82378 PCI-ISA bridge endianness handling
# gpg: Signature made Wed 31 Jul 2013 04:25:51 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Hervé Poussineau
# Via Andreas Färber
* afaerber/tags/prep-for-upstream:
i82378: Cleanup implementation
pci-host/prep: Set isa_mem_base in the PCI host bridge
commit e501425bbe8d692f022d3db64abf800eaf4f0854
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 16:59:32 2013 -0500
Update version for 1.6.0-rc1
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 203439ce0a832e36b276f10892846bd91ee836eb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 01:28:46 2013 +0200
virtio-console: Use exitfn for virtserialport, too
virtconsole and virtserialport are identical in every other aspect
except for the distinguishing VirtIOSerialPortClass::is_console field.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375313326-14966-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 27915efb974999dd256a6c432a17432d9d84e606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 01:59:47 2013 +0200
virtio-9p-device: Avoid freeing uninitialized memory
In virtio_9p_device_init() there are 6x goto out that will lead to
v9fs_path_free() attempting to free unitialized path.data field.
Easiest way to trigger is: qemu-system-x86_64 -device virtio-9p-pci
Fix this by moving v9fs_path_init() before any goto out.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375315187-16534-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5a2bcf70e81b67cbc4947f5065db8fc9bfc1465
Merge: f44c5c6... 8c0426a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 1 11:18:04 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Pawit Pornkitprasan
# Via Luiz Capitulino
* luiz/queue/qmp:
migration: don't use uninitialized variables
migration: send total time in QMP at "completed" stage
Message-id: 1375367564-4797-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c0426aed1d2279845e6a2c3355da8b5d9926cb6
Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Date: Tue Jul 30 08:39:52 2013 +0900
migration: don't use uninitialized variables
The qmp_migrate method uses the 'blk' and 'inc' parameter without
checking if they're valid or not (they may be uninitialized if
command is received via QMP)
Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 00c14997cb95bf3e6c18c2264ef5e10642d89b3a
Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Date: Fri Jul 19 11:23:45 2013 +0900
migration: send total time in QMP at "completed" stage
The "completed" stage sets total_time but not has_total_time and
thus it is not sent via QMP reply (but sent via HMP nevertheless)
Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a14ff8a650b5943ee6221b952494661f7cb3b5e2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 31 11:17:58 2013 +0200
usb-redir: fix use-after-free
Reinitialize dev->cs to NULL after deleting it, to make sure it isn't
used afterwards.
Reported-by: Martin Cerveny <M.Cerveny@xxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 75cc1c1fcba1987bdf3979c4289ab756c2b15742
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 31 10:54:11 2013 +0200
xhci: fix segfault
Guest trying to reset a endpoint of a disconnected device resulted in
xhci trying to dereference uport while being NULL, thereby crashing
qemu. Fix that by adding a check. Drop unused dev variable while
touching that code bit.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c9736789b79ea49cd236ac326f0a414f63b1015
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Jul 23 23:16:46 2013 +0200
i82378: Cleanup implementation
- i82378 only exists on PCI bus; do not split implementation in 2 structs
- remove BARs, which are not specified in datasheet
- replace custom isa_mmio implementation by PCI bus IO region usage
- use QOM casts when required
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Style- and QOM-related changes, dropped no_user, reverted VMSD name]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 768d7e2c7f5d20f412506f3a31626185ac54c559
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Jul 23 23:16:45 2013 +0200
pci-host/prep: Set isa_mem_base in the PCI host bridge
Currently, it is done by i82378 PCI-ISA bridge, which shouldn't
care about it.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit e0d479445876676f3f92e1bc6d5f92d4bb2500f8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 04:07:50 2013 +0200
cpu: Fix VMSTATE_CPU() semantics
Commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 prepared a VMSTATE_CPU()
macro for device-style VMStateDescription registration, but missed to
adapt cpu_exec_init(), so that the "cpu_common" VMStateDescription was
still registered for AlphaCPU (fe31e7374299c0c6172ce618b29bf2fecbd881c7)
and OpenRISCCPU (da69721460e652072b6a3dd52b7693da21ffe237). Fix this.
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f44c5c6794026fc2852c1c0f026b15733560ce7c
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Wed Jul 31 10:27:35 2013 +0400
MAINTAINERS: change Igor Mitsyanko's email address
My email address in samsung.com domain is no longer accessible, change
it to my personal gmail address.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1197cbb9eda1dc82e2fa1815ca62bc3de158353e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 08:20:43 2013 -1000
qdev: Use clz in print_size
We can compute a floor log2 value with clz rather than a division loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375208443-17288-3-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e76c756fd3d3b652c6a65ebe16f2bfb25b8d025e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 08:20:42 2013 -1000
qdev: Fix 32-bit compilation in print_size
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375208443-17288-2-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 75e2a4baf1536682d111d9bee0261806737a32dc
Merge: c095e10... 58ae52a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:58 2013 -0500
Merge remote-tracking branch 'spice/spice.v72' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v72:
spice: fix display initialization
Message-id: 1375173625-3784-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c095e108473f57516e7ad958d905a7017b225f82
Merge: dbef7b1... cf66ee8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:54 2013 -0500
Merge remote-tracking branch 'kraxel/usb.85' into staging
# By Gerd Hoffmann (2) and Alexey Kardashevskiy (1)
# Via Gerd Hoffmann
* kraxel/usb.85:
hcd-ohci: add dma error handling
uhci: egsm fix
xhci: handle USB_RET_IOERROR
Message-id: 1375173371-3378-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbef7b17ad1d0be90696dc45b5b8162d8208643f
Merge: c9dd6a9... 9b4f38e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 30 18:48:36 2013 -0500
Merge remote-tracking branch 'borntraeger/s390-for-1.6' into staging
* borntraeger/s390-for-1.6:
s390: Implement dump-guest-memory support for target s390x
s390x/kvm: Remove redundant return code
s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst()
s390x/ioinst: Fixed priority of operand exceptions
s390x/ioinst: Fixed alignment check in SCHM instruction
s390x/ioinst: Throw addressing exception when memory_map failed
s390x/ioinst: Add missing alignment checks for IO instructions
s390/sclpconsole: handle char layer busy conditions
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c9dd6a9fa092827c38d21749a453bc56413411d7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:33 2013 +0200
mips_r4k: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-6-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 38c8894fe77c14c6af415c75f043370264f89382
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:32 2013 +0200
mips_jazz: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c57bd9b06e5771c11a1850e709b595a7c283e83
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:31 2013 +0200
mips_malta: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a7ed999a7a5057d860b38c6680a1437945b5139
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:30 2013 +0200
mips_fulong2e: Silence BIOS loading warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96b3bfa083987518e8a10364bf994c024c455fff
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 16:05:29 2013 +0200
target-ppc: Suppress TCG instruction emulation warnings for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375106733-832-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 30 13:04:22 2013 -0500
chardev: fix CHR_EVENT_OPENED events for mux chardevs
As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use
bottom-halves to issue CHR_EVENT_OPENED events. To maintain past
semantics, we instead defer the CHR_EVENT_OPENED events toward the end
of chardev initialization.
For muxes, this isn't good enough, since a range of FEs must be able
to attach to the mux prior to any CHR_EVENT_OPENED being issued, else
each FE will immediately print it's initial output (prompts, banners,
etc.) just prior to us switching to the next FE as part of
initialization.
The is new and confusing behavior for users, as they'll see output for
things like the HMP monitor, even though their the current mux focus
may be a guest serial port with potentially no output.
We fix this by further deferring CHR_EVENT_OPENED events for FEs
associated with muxes until after machine init by flagging mux chardevs
with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED
events until we explicitly set the mux as opened later.
Currently, we must defer till after machine init since we potentially
associate FEs with muxes as part of realize (for instance,
serial_isa_realizefn).
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1375207462-8141-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5fe0d351b3a7caf77f899db804d09e4553329c84
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jul 30 22:41:23 2013 +0200
tci: Fix broken build (compiler warning caused by redefined macro BIT)
The definition of macro BIT in tci/tcg-target.c now conflicts with the
definition of the same macro in includes qemu/bitops.h.
This conflict was triggered by a recent change in the include chain of
tcg.c (probably commit 949fc82314cc84162e64a5323764527a542421ce).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1375216883-23969-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9a949b94f60ee48ca0fbb5dc263c7ee77b75149f
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Jul 30 23:11:07 2013 +0100
Update OpenBIOS images
Update OpenBIOS images to SVN r1198 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit beb3faaa0027c114e37317fdba38a8a7facf3f9b
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 29 12:49:05 2013 +0200
target-mips: correct the values in the DSP tests
Five tests files for DSP instructions had wrong expected values in the
tests.
This change fixes this, and this has been cross-checked by running the
same
test binaries on Malta 74K board.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9b4f38e182d18cac217f04b8b7fddf760a5b9d44
Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Date: Wed Jul 10 15:26:46 2013 +0200
s390: Implement dump-guest-memory support for target s390x
With this patch dump-guest-memory on s390 produces an ELF formatted,
crash-readable dump.
In order to implement this, the arch-specific part of dump-guest-memory
was added:
target-s390x/arch_dump.c contains the whole set of function for writing
Elf note sections of all types for s390x.
Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[fixed indentation, use CamelCase, rename note_t to Note, use S390CPU]
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit d2ee774616280db778f0b4b97a8ac514602ad52c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 2 14:45:16 2013 +0200
s390x/kvm: Remove redundant return code
Removed the redundant return code statement from handle_instruction() - it
always returned 0 and never reports any errors to its caller, since errors
from the sub-functions are already reported via program exceptions
instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit c1e8dfb5e860c48adf5026a5a7cf8f35be66c22c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 24 15:17:34 2013 +0200
s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst()
Consolidated the setting of the condition code in kvm_handle_css_inst().
For the (unhandled) instructions EQBS and SQBS, we have to return
an operation exception instead of cc3. Also removed the is_ioinst()
function to avoid decoding the opcode twice.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 71ed827abd57dc7947ce3316118d0e601e70fac9
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jun 25 14:59:12 2013 +0200
s390x/ioinst: Fixed priority of operand exceptions
Operand exceptions have a lower priority than specification and address
exceptions. Thus the checks for operand exceptions must be done later.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7ae5a7c0f63cc625cf31a9c9f18cc07f4049e48f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 15:57:31 2013 +0200
s390x/ioinst: Fixed alignment check in SCHM instruction
Register 2 only has to be aligned to a 32-byte boundary, not a
full page boundary.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0056fc9e44d5b424a0f2293edacb0381234fc9c5
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 13:12:45 2013 +0200
s390x/ioinst: Throw addressing exception when memory_map failed
So far, the IO instructions were throwing specification exceptions when
there was a problem with accessing the memory. However, the better way
is to throw an addressing exception instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 61bf0dcb2efeffa62157de44606f9874a47ed7fe
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 21 10:13:42 2013 +0200
s390x/ioinst: Add missing alignment checks for IO instructions
The IO instructions MSCH, SSCH, STSCH, TSCH, STCRW and TPI require
that the second operand address must be aligned on a word boundary.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2e14211476d70e3877180c19d72c0d96e23bdac5
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue May 28 15:03:55 2013 +0200
s390/sclpconsole: handle char layer busy conditions
Handle busy conditions (errno=EAGAIN) in char layer by using
the new char layer in the sclp console.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit cf66ee8e207d5c1831c7d4d8c7f2544314fc676c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jul 26 20:52:05 2013 +1000
hcd-ohci: add dma error handling
Current hcd-ohci does not handle DMA errors. However they may happen
so here we introduce simple error handling.
On such errors, a typical OHCI will stop operating, signal the guest
about the error by sending "UnrecoverableError Event", set itself into
error state and set "Detected Parity Error" in its PCI config space
to signal that it got an error and so does the patch.
This also adds ohci_die() call to ohci_bus_start() to handle possible
failure of qemu_new_timer_ns().
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9f0f1a0c096f29a856f2e6903beda45b44ce9cdd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 26 17:05:06 2013 +0200
uhci: egsm fix
When the guest goes suspend the uhci controller while there are
pending resume requests on the ports go signal global resume
instantly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ed60ff024fdb0e7ca9c002af166e10683cf49805
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jul 25 13:12:35 2013 +0200
xhci: handle USB_RET_IOERROR
https://bugzilla.redhat.com/show_bug.cgi?id=980377
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 58ae52a8dc7752e3da9a905678580b4cb8181cdc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jul 22 15:34:12 2013 +0200
spice: fix display initialization
Spice has two display interface implementations: One integrated into
the qxl graphics card, and one generic which can operate with every
qemu-emulated graphics card.
The generic one is activated in case spice is used without qxl. The
logic for that only caught the "-vga qxl" case, "-device qxl-vga" goes
unnoticed. Fix that by adding a check in the spice interface
registration so we'll notice the qxl card no matter how it is created.
https://bugzilla.redhat.com/show_bug.cgi?id=981094
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dbe49aea76a7805f05b33d548b2e543b51fa8bb1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 20:30:29 2013 -0500
Update version for 1.6.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d2509b667caf482b6f827ff2645cbeb9b39ce29e
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Thu Jul 18 09:57:03 2013 -0400
seccomp: add arch_prctl() to the syscall whitelist
It appears that even a very simple /etc/qemu-ifup configuration can
require the arch_prctl() syscall, see the example below:
#!/bin/sh
/sbin/ifconfig $1 0.0.0.0 up
/usr/sbin/brctl addif <switch> $1
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Message-id: 20130718135703.8247.19213.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 94113bd8a1d9acd05a879bc309cc659ace09e287
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Mon Jul 15 15:32:01 2013 -0400
seccomp: add additional asynchronous I/O syscalls
A previous commit, "seccomp: add the asynchronous I/O syscalls to the
whitelist", added several asynchronous I/O syscalls but left out the
io_submit() and io_cancel() syscalls. This patch corrects this by
adding the two missing asynchronous I/O syscalls.
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Message-id: 20130715193201.943.4913.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95c1eb19eab9d57035e05a02f7184b63c1da9775
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 11:31:49 2013 +0100
linux-user: Return success from m68k set_thread_area syscall
The m68k set_thread_area syscall implementation failed to set the
return value. Correctly set it zero, since this syscall will always
succeed.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375093909-13653-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 978fae9f1ac47e22890a1bd9ebf5fa46fe8b6ef7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:00:32 2013 +0100
linux-user/signal.c: Avoid using uninitialized data in ARM sigreturn
Rephrase code used in ARM sigreturn functions to avoid using
uninitialized variables. This fixes one genuine problem ('frame'
would not be initialized if we took the error-exit path because
our stackpointer was misaligned) and one which is clang being
alarmist (frame_addr wouldn't be initialized, though this is
harmless since unlock_user_struct ignores its second argument
in these cases; however since we don't generally make use of
this not-really-documented effect it's better avoided).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375095632-13735-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b04636f8665a9492143529340eab4450d492d2ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:00:31 2013 +0100
linux-user/signal.c: PPC: Silence clang uninitialized-use warning
Silence a clang warning in a PPC signal return function:
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4611:9:
error: variable 'sr_addr' is used
uninitialized whenever 'if' condition is true
[-Werror,-Wsometimes-uninitialized]
if (!lock_user_struct(VERIFY_READ, sc, sc_addr, 1))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4636:28:
note: uninitialized use occurs here
unlock_user_struct(sr, sr_addr, 1);
^~~~~~~
/home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/qemu.h:442:27:
note: expanded from macro 'unlock_user_struct'
unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0)
^
This happens when we unlock a user struct which we never
attempted to lock. Strictly, clang is actually wrong here -- it
hasn't been able to spot that unlock_user_struct() doesn't use
its second argument if the first is NULL. However it doesn't
seem too unreasonable to demand that we pass in initialized
values to it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375095632-13735-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f6bda9cb99345158722f2e70634dda6b4d53ea67
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:39 2013 +0100
spapr: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da56ff91982f25c03c997309f3d5ed6aab1e0100
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:38 2013 +0100
target-ppc/kvm.c: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e67137c6c5823ad9488b766c79f0963f6ba70f12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:37 2013 +0100
s390x: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2440a2c3dfcb9bc463be8ff5a97382e4d2aad750
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 13:16:36 2013 +0100
block/sheepdog: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1375100199-13934-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 398489018183d613306ab022653552247d93919f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:57 2013 +0200
pc: limit 64 bit hole to 2G by default
It turns out that some 32 bit windows guests crash
if 64 bit PCI hole size is >2G.
Limit it to 2G for piix and q35 by default.
User may override default 64-bit PCI hole size by
using "pci-hole64-size" property.
Examples:
-global i440FX-pcihost.pci-hole64-size=4G
-global q35-pcihost.pci-hole64-size=4G
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>,
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-8-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e8cd45c78f53501e75bd455140da63d1b7ed3685
Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Date: Mon Jul 29 16:47:56 2013 +0200
qdev: Add SIZE type to qdev properties
This patch adds a 'SIZE' type property to qdev.
Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx>
Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-7-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b887796217b7f5b754657e85760693e4ced63356
Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Date: Mon Jul 29 16:47:55 2013 +0200
qapi: make visit_type_size fallback to type_int
Currently visit_type_size checks if the visitor's type_size function
pointer is
NULL. If not, it calls it, otherwise it calls v->type_uint64(). But
neither of
these pointers are ever set. Fallback to calling v->type_int() in this
third
(default) case.
Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-6-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c52dc697259ac826d905db57e298c50306a8c600
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:54 2013 +0200
pc: add Q35 to QOM composition tree under /machine
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-5-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44fc8c5e743b84c1d29f603e4014125dcf152d26
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:53 2013 +0200
pc: replace i440fx_common_init() with i440fx_init()
It isn't used anywhere else.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-4-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1d0d4aa412eef7d98e53c313c79c359f2f65376e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jul 29 16:47:52 2013 +0200
pc: add I440FX QOM cast macro
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-3-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f5338ee30d91693f5805208e58df80f0551c3896
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Jul 29 16:47:51 2013 +0200
pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1375109277-25561-2-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a4992d0bdeb38a57314d731d9846063b2057e6c
Merge: eddbf0a... b67964d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 14:39:49 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Replace all uses of FROM_SYSBUS() macro with QOM cast macros
i) "QOM cast cleanup for X"
Indicates a mechanical 1:1 between TYPE_* and *State.
ii) "QOM'ify X and Y"
Indicates abstract types may have been inserted or similar changes
to type hierarchy.
ii) Renames
Coding Style fixes such as CamelCase have been applied in some
cases.
* Fix for sparc floppy - cf. ii) above
* Change PCI type hierarchy to provide PCI_BRIDGE() casts
* In doing so, prepare for adopting QOM realize
# gpg: Signature made Mon 29 Jul 2013 02:15:22 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (171) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (173 commits)
sysbus: QOM parent field cleanup for SysBusDevice
spapr_pci: QOM cast cleanup
ioapic: QOM cast cleanup
kvm/ioapic: QOM cast cleanup
kvmvapic: QOM cast cleanup
mipsnet: QOM cast cleanup
opencores_eth: QOM cast cleanup
exynos4210_i2c: QOM cast cleanup
sysbus: Remove unused sysbus_new() prototype
sysbus: Drop FROM_SYSBUS()
xilinx_timer: QOM cast cleanup
tusb6010: QOM cast cleanup
slavio_timer: QOM cast cleanup
pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer
puv3_ost: QOM cast cleanup
pl031: QOM cast cleanup
pl031: Rename pl031_state to PL031State
milkymist-sysctl: QOM cast cleanup
m48t59: QOM cast cleanup for M48t59SysBusState
lm32_timer: QOM cast cleanup
...
commit b67964d70219a864ec427e727754a205475c7d6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:40:42 2013 +0200
sysbus: QOM parent field cleanup for SysBusDevice
Rename the parent field and hide it from gtk-doc.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38fb090a80bc8884ff1874b827ccc9a160102f9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:39:37 2013 +0200
spapr_pci: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f54d31575d115377ba2931abc0ff41d4a0abc5a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:31:42 2013 +0200
ioapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b311963126a18d7f4c5390c4c094a5f015f0fca6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:30:47 2013 +0200
kvm/ioapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 253eacc2fb1f592af9de64c5a9a2157fbf8ccb0d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 16:27:41 2013 +0200
kvmvapic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a4dbb8bdebd9b013df06cbc27d641de659e92ab2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:59:07 2013 +0200
mipsnet: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4632cf2d5f77e702afda1e98df86ad7b0721ef70
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:56:28 2013 +0200
opencores_eth: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 436033290065be765363ad73f9437821e0c35084
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:50:02 2013 +0200
exynos4210_i2c: QOM cast cleanup
Fix one ->qdev access and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 339104fe3430d19bd1932077bae839cdcc9f7cd2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:45:51 2013 +0200
sysbus: Remove unused sysbus_new() prototype
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3d74d32e7285af2c7a289c02b948f8feccd95e1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:39:20 2013 +0200
sysbus: Drop FROM_SYSBUS()
As a replacement, use your own macro based on OBJECT_CHECK().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 760d1d00b8148887003b0632da82dabab57d71f5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:32:47 2013 +0200
xilinx_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 453be7a6fc21c5794e335d937c63bc9d49b1fe1a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:30:21 2013 +0200
tusb6010: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c275471eb1beb0461cfbbb5d96b9d3bcff451c77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:24:22 2013 +0200
slavio_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit feea4361b3d29cc7e7374db33df9ab18348cf230
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:20:20 2013 +0200
pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer
Introduce type constant for new abstract base type, use QOM casts and
let both non-abstract types inherit from the new base type.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c9610b825bdf73d3323dfb5aa0cb789f2c665e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:12:40 2013 +0200
puv3_ost: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3b800495ec886d45a0be7aa6eb4e1de7533968f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:10:14 2013 +0200
pl031: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b91f0dfd12dbd117235409980e77523fba5f8978
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:07:44 2013 +0200
pl031: Rename pl031_state to PL031State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b564b137b92c5356ffe3c308defa9d0d324272d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:06:42 2013 +0200
milkymist-sysctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 29d1ffc3d8ccbc72dfe1e136a69235901d328d86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 15:01:49 2013 +0200
m48t59: QOM cast cleanup for M48t59SysBusState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe54d857056b3cf143fe5aebcf56b7c638d62bc0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:54:54 2013 +0200
lm32_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 541ab55ff1bdc558473f0dea40deae568551bb85
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:52:32 2013 +0200
grlib_gptimer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3ddacf27057678f483bbed78db2f10419acb6501
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:49:12 2013 +0200
exynos4210_rtc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 25fce9ad7f7b77d610504e70b03e29630d66dfa9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:45:47 2013 +0200
exynos4210_pwm: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81e1010d0fbfaa5992cffa88e1797af36cc438ef
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:41:50 2013 +0200
exynos4210_mct: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5880ce52eb5560763b378dde83b2144fe41024eb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:34:22 2013 +0200
etraxfs_timer: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3c9a8a8c8e7b045e9f1b23ff98d54d7df9a10229
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:30:31 2013 +0200
etraxfs_timer: Rename etrax_timer to ETRAXTimerState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 831aab9b0bb3953161cdbe07a5e475723874321f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:28:31 2013 +0200
cadence_ttc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e2051b42430b014ab6bdcfeabdd869b28282c3a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:20:25 2013 +0200
arm_timer: QOM cast cleanup for icp_pit_state
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c88dea5ebf248017ab3bf1fab8ee5e24f1b144d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:17:41 2013 +0200
arm_timer: QOM cast cleanup for SP804State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1024d7f0137da3683c90b1fd77ec0e47c864d897
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:15:46 2013 +0200
arm_timer: Rename sp804_state to SP804State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3efc10e17d41779bbdaf27a304c8e39f744e530f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:07:22 2013 +0200
xilinx_spi: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3d29bceec1357702b2ce0909c6eb8107b806159e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:03:29 2013 +0200
pl022: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce556e0baffce0624a64bdbe9b077d59cc5f6349
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 14:00:25 2013 +0200
pl022: Rename pl022_state to PL022State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88c034d5b2c406e1859c9a3746229868a20fed41
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:50:51 2013 +0200
sun4u: QOM cast cleanup for RamDevice
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13575cf6dbe88ffa9d2f03dace03aedd9e003f8d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:48:18 2013 +0200
sun4u: QOM cast cleanup for PROMState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ab6b4c661ecf3c824e08de6f5c99a855d00fa84
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:45:23 2013 +0200
sun4m: QOM cast cleanup for RamDevice
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e6f54c91758d99f476c7db01c449e01a54821e1c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:42:29 2013 +0200
sun4m: QOM cast cleanup for PROMState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3a4996524910049ac491c512858b7a38878a444
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:38:44 2013 +0200
sun4m: QOM cast cleanup for AFXState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ef9dfa4c1c97db30d83dbcc8d31c334641b5f7ca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:33:46 2013 +0200
sun4m: QOM cast cleanup for IDRegState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 630f44426825f18230072ce239a3dea72242e234
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:23:41 2013 +0200
pl181: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d998d93acbbefc3804200ab4387cb0286b07d7b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:20:09 2013 +0200
pl181: Rename pl181_state to PL181State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a239e46f792b234d77425653a8259152df5d5de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:18:50 2013 +0200
milkymist-memcard: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 880fc798fd34cea6e6647a9210dc7458c9ceedb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 13:03:07 2013 +0200
ppce500_spin: QOM cast cleanup
Introduce type constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8c1892cf7297ff4972a4ad6dd601921c3a01d618
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:50:29 2013 +0200
ds1225y: QOM cast cleanup for SysBusNvRamState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14134f0eb57247e3ec3b8311931a11b344096591
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:47:09 2013 +0200
ds1225y: Drop bogus qdev field from NvRamState
It is not a device, and the field is not used from code either.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 91a28042958f20eff01a4d441d7072fd1902d375
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:43:06 2013 +0200
xilinx_ethlite: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 546921eac5abd7cc6c78f1ceeda3375697ac04bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:35:15 2013 +0200
xgmac: QOM cast cleanup
Introduce type constant and use QOM casts and typedef consistently.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0618db44b9da3a2525b414a0928d2b445f897eec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:27:46 2013 +0200
stellaris_enet: Fix NetClientInfo::cleanup
Drop freeing stellaris_enet_state - that is done by QOM later on unref.
Both MemoryRegion init and savevm registration happen in SysBusDevice
initfn currently, so move them into an unrealizefn for now.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fa30abadfa2f9f3c47044f677e74988db274d0c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:23:22 2013 +0200
stellaris_enet: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 926d152e4c5b56b7a76a4bc77b9cf2987119b884
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:17:48 2013 +0200
smc91c111: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e57587f2562dd0123817cefc4e95733f9daec8e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:13:17 2013 +0200
milkymist-minimac2: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1a2aaf77499fe6ac059eeceacc8e70858f1c65d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 12:08:14 2013 +0200
lance: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3ff66d101be9e2f08db1b674495b489f3c969810
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:55:02 2013 +0200
lan9118: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58076497dfeff9721ec8f7476336292c8e0eb8c7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:48:42 2013 +0200
etraxfs_eth: Rename fs_eth to ETRAXFSEthState
Also add a typedef.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8784dfa4bc3cb6ee3b6115ea52a4cae2874be7f9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:44:01 2013 +0200
etraxfs_eth: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 318643beaa50f49d3bfa9e318b067784d8fb4f30
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 11:39:47 2013 +0200
cadence_gem: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a054e2c2ddea91c8e34fe847327c6250f6f791d6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:29:03 2013 +0200
zynq_slcr: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1a0a79f4faeac50ea490496e92d00d7260d9437
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:21:50 2013 +0200
slavio_misc: QOM cast cleanup for APCState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 95eb2084f9e59c50cb989ef0e717e0d933bd1480
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:19:11 2013 +0200
slavio_misc: QOM cast cleanup for MiscState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af89a444932111807b4a5a5a799829c98bdab560
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 23:16:03 2013 +0200
puv3_pm: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c0e12f5a6f6da6cc63e4d0fd309f4699300daa0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:32:18 2013 +0200
mst_fpga: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aee31f7b4b7e23cfcdab604b6edc5e7df8d5c32f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:27:57 2013 +0200
milkymist-pfpu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 829617a97cd4316872465db6b28d304e49f45f05
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 22:24:22 2013 +0200
milkymist-hpdmc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 816d323be3e66b82cd92657c783c0e5e7b88d6d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:59:04 2013 +0200
lm32_sys: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e1df2e91fbf89226605a9459bc86c2aa0a404e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:47:58 2013 +0200
exynos4210_pmu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 100bb15cb8e8788cca36f708c51c3d8e03041759
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:39:54 2013 +0200
eccmemctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ba4ea5bd299c03a7af87b0881ea6d445c46beddf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:34:18 2013 +0200
arm_sysctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e8982e969304995dfa39e6767b0152564a72130
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:20:52 2013 +0200
arm_l2x0: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae1953d045eb1fdfc21279284d78c7f23aba9762
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:18:35 2013 +0200
arm_l2x0: Rename l2x0_state to L2x0State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cc3e064ee948c612c38aa99a364f5af95422e5ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:46:22 2013 +0200
xilinx_intc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7abad863d7249b4b501923c3c28d952c473bf23a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:40:40 2013 +0200
slavio_intctl: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b09a6f7b30591a5de4c4ceb22e3063a81e7317c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:34:29 2013 +0200
realview_gic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ecdf4022ad968f4346905c269247ff3c5d2aa2d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:30:57 2013 +0200
puv3_intc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fc3266f769880d5cb8d6c7995a1a5f898986baf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:23:57 2013 +0200
pl190: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aefbc25695b00b6d6731ef0b8c53e12462bffd86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:18:42 2013 +0200
pl190: Rename pl190_state to PL190State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 47edc5a479e0927c6ce04eaf3e84db0ba7ddbb41
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 20:14:20 2013 +0200
omap_intc: QOM'ify omap-intc and omap2-intc
Create a new abstract base type and let omap-intc and omap2-intc inherit
from it. Introduce a type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f8a9eac51427be2e9e63fcbe9d4d174640a0b19
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:53:49 2013 +0200
lm32_pic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 730bf9323d799cc42520f4512dd76d843b26d480
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:26:18 2013 +0200
grlib_irqmp: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c5e22ae3464b52789023dbdce2f565d0f6be08e2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:19:19 2013 +0200
exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 78c6abbd834e78a658e5910244397040c10a5b90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:16:20 2013 +0200
exynos4210_gic: QOM cast cleanup for exynos4210.gic
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c03c6b9ccaa696b90a662dfcce82d84c50f832b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:11:37 2013 +0200
exynos4210_combiner: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9062143f9e71479e98a62950178e7d803f304425
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:05:58 2013 +0200
etraxfs_pic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 285b4432da565ebcca0bc5eab1783b77ef3450c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:57:48 2013 +0200
arm_gic: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3e5dd364d933ccc066cbea8620bdc16525e19230
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:49:24 2013 +0200
pl050: QOM'ify pl050_keyboard and pl050_mouse
Introduce an abstract type pl050 and let pl050_keyboar and pl050_mouse
inherit from it, using different instance_init functions.
Introduce a type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e607f25a620e769cb6a231314aa13804723ab734
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:40:25 2013 +0200
pl050: Rename pl050_state to PL050State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2a052f6bf11f00b358cf4e0abdd6e2cf59648a71
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:37:02 2013 +0200
milkymist-softusb: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 93e7f5f42d0d3663acb94b24c8a9a329b5b13917
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:28:26 2013 +0200
versatile_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60ecfcb354e526c29874af17bbadaabeff47409c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:24:27 2013 +0200
omap_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cc3c3b8a2239a7a1d49a83c047ae2bc63d8a71e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 18:13:46 2013 +0200
bitbang_i2c: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a009de46bd50c88d18f19a1405e1348c679e08d6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:41:16 2013 +0200
gpio/zaurus: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ed09e2f4360cba2c480e64077421aa0cbc6ebc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:37:37 2013 +0200
puv3_gpio: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 692a76d1c4a32573bf3cc19110c7fa6cc8c93f60
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:31:46 2013 +0200
pl061: QOM'ify pl061 and pl061_luminary
Let pl061_luminary inherit from pl061, with differing instance_init.
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee663e96e4db735d19dc2672150b6ccc87cc29fe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:21:21 2013 +0200
pl061: Rename pl061_state to PL061State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74d1e352be53d8208996772bb51c5a965fae7d06
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:19:36 2013 +0200
omap_gpio: QOM cast cleanup for omap2_gpif_s
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d300b5f6f759f5d0a7866d3da320ebae0f0b79c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 17:14:40 2013 +0200
omap_gpio: QOM cast cleanup for omap_gpif_s
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 049e7d226e08bbf50c17ffdc3a6793c6e45e77f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:58:49 2013 +0200
sun4m_iommu: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70cd8d4b75e91272a28a140818a52f5e32ef4375
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:55:59 2013 +0200
sparc32_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 358cd7ac59ffbb4cef126439f829443d343e2b94
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:43:17 2013 +0200
pxa2xx_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6df7cdee0b0e3667a0e7f811a9682e492f21c738
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:04:39 2013 +0200
puv3_dma: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4f800554f2b324b3cd5ea6a0e69e9e9b409aa65b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 12:47:17 2013 +0200
pl080: QOM'ify pl080 and pl081
Let pl081 inherit from pl080 and replace triple SysBus initfn with two
instance_inits.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7ba0a62c58c3a30bc75377b1209dafc613c73be
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 12:37:06 2013 +0200
pl080: Rename pl080_state to PL080State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8df81c4b11f19eae16b88d5da3ab85704d49e6b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:48:30 2013 +0200
empty_slot: QOM cast cleanup
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 71ffe1a01faa90fa08805e8030120b3be0efda25
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:29:17 2013 +0200
pl011: QOM'ify pl011 and pl011_luminary
Let the Luminary variant inherit from the ARM one, overwriting its ID on
instance_init. Introduce type constant and use QOM casts. Replace
triplicated SysBusDevice initfn with QOM realizefn and instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ab640bfc2e0ae70ce7d11122ad30957ad53a1836
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:13:57 2013 +0200
pl011: Rename pl011_state
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 79bbe8bf3dbd701a13e2abe0ca0acdfae3e2231d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:08:14 2013 +0200
milkymist-uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85f3d3024588d27453788167566c34c3c658881d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:59:55 2013 +0200
lm32_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0b97927e34903ed280250f90deb6d3261cdc62f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:56:36 2013 +0200
lm32_juart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ee10242fd5c40ef0268147b23ba225b843e2d20
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:49:02 2013 +0200
lm32_juart: Relocate and tidy header
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d8e34815e46a45afaa2689b49d5f97b6306b7f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:43:22 2013 +0200
imx_serial: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae8e04903138a51d15faaf501ea83569cd6cffa5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:38:10 2013 +0200
grlib_apbuart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 61149ff6876dffd0de6f527424d9373e4ed2ad59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 22:21:05 2013 +0200
exynos4210_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81069b20549b3f465f172efb86f7f5034b89463a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:30:40 2013 +0200
escc: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 534f6ff925cd7c9c8cc10094173e691938ac723f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:23:29 2013 +0200
cadence_uart: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cfc6b24578fdd55c26ed383c910fa18c4137b159
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:37:20 2013 +0200
versatilepb: QOM cast cleanup for vpb_sic_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ca81872f741e6b93a5951d9a4f524829a911d40
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:32:06 2013 +0200
strongarm: QOM cast cleanup for StrongARMSSPState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fff3af97b9e1b1a482d8951eddac2c45ede9bf08
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:29:14 2013 +0200
strongarm: QOM cast cleanup for StrongARMUARTState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c71e67329188ee1081de53ef685e627c6e99cc87
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:26:04 2013 +0200
strongarm: QOM cast cleanup for StrongARMPPCInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f55beb8477e005f49514410cc00f6913729b01bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:23:14 2013 +0200
strongarm: QOM cast cleanup for StrongARMGPIOInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4e00210522ecbbeb81d091cfca1f2cf3f3ae00d8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:20:15 2013 +0200
strongarm: QOM cast cleanup for StrongARMRTCState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74e075f6fbb40992b698c2418aa19ad541abf71e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:17:13 2013 +0200
strongarm: QOM cast cleanup for StrongARMPICState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7df7f67ae1bf6b2c81788a58de9cdf9cf9c03bc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:13:06 2013 +0200
stellaris: QOM cast cleanup for stellaris_adc_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d94a40156b357cd519f9385ca1f57ea7850b9e18
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:08:23 2013 +0200
stellaris: QOM cast cleanup for stellaris_i2c_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8ef1d3947efd4044b6a33dcd0ccc5c857149e194
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 09:03:33 2013 +0200
stellaris: QOM cast cleanup for gptm_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 73e9d965dd071ecde5cb31327b58469275691667
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 08:58:32 2013 +0200
spitz: QOM cast cleanup for SpitzKeyboardState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7eb8104a9cd274a14b9a8a6caf38d0720e56cd21
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 08:54:33 2013 +0200
spitz: QOM cast cleanup for SLNANDState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6050ed5fb98822220f71d69c46870bdf1f3bc076
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 02:08:09 2013 +0200
pxa2xx_pic: QOM cast cleanup for PXA2xxPICState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 922bb317e488300c50344742cbd5e0028a8b3d77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 02:03:39 2013 +0200
pxa2xx_gpio: QOM cast cleanup for PXA2xxGPIOInfo
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5354c21ef905ab36015900e7d27d352bca47f285
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:56:59 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxI2CState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 548c6f188ecfbb09b42a29393fc18252ab7bbf7d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:50:26 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxRTCState
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 12a828041c666cf96d69cde85bd7ec03a7e8719f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:45:10 2013 +0200
pxa2xx: QOM cast cleanup for PXA2xxSSPState
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3bdf5327c9b3e449a3ea212d063baa7fac576b1b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:38:59 2013 +0200
musicpal: QOM cast cleanup for musicpal_key_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7012d4b46b68dcffde1f12a5dfbce5c4c02dc3ff
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:36:24 2013 +0200
musicpal: QOM cast cleanup for musicpal_gpio_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5952b01cf82ba2385065c8fc9976b8907f215b36
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:32:00 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_flashcfg
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4adc8541d970f5a52a8cb05f893f4afeec255d5b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:27:32 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_pit_state
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7bd0fd945c3f7f1d93a226dbe89a2ccf0503a58
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:22:07 2013 +0200
musicpal: QOM cast cleanup mv88w8618_pic_state
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2cca58fdc28fb860827a9f0bae1cd736df76cfa0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:16:13 2013 +0200
musicpal: QOM cast cleanup for musicpal_lcd_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a77d90e68a6a277f53bf9051c8fbc2b0d0cff1c1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:12:52 2013 +0200
musicpal: QOM cast cleanup for mv88w8618_eth_state
Introduce type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c79fed33be49cb13c9ce01a6fc42240ee7dedc8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jul 28 07:54:55 2013 +0200
musicpal: Fix typo in name of local function
The misspelling was spotted by Andreas Färber.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 91b646264e1c1f37c9ffb3a602ad748b2a6b050c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:08:01 2013 +0200
integratorcp: QOM cast cleanup for icp_pic_state
Introduce type constant and use QOM cast.
Fix indentation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 257ec289b297586f45d5ea5ea01adf8672aa6a05
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 01:00:27 2013 +0200
integratorcp: QOM cast cleanup for integratorcm_state
Rename to IntegratorCMState, introduce type constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 426533faed4338f228c715fbec21a887692ad47c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 00:52:40 2013 +0200
highbank: QOM cast cleanup for HighbankRegsState
Add type constant and use QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 936230a713208659c664da20287fcb5e5811743a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 00:46:43 2013 +0200
armv7m: QOM cast cleanup for BitBandState
Introduce TYPE_* constant and use QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcb34c7a61bce00136d42442c592011e56d87161
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 21:50:54 2013 +0200
imx_ccm: QOM cast cleanup
Introduce type constant and use QOM casts.
Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ff94a61c461111e25b67c7b9cabef035aa30225
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 19:31:08 2013 +0200
imx_avic: QOM cast cleanup
Introduce type constant, use QOM casts and prepare SysBus initfn for QOM
realize by resolving SysBusDevice vs. DeviceState "dev" name conflict.
Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 01774ddbcf42c9521fa66679f947eb49327b8e18
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 01:13:54 2013 +0200
tcx: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d7a11e438f78a2656000a8d549f0dea412f3dc5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 01:09:03 2013 +0200
pl110: QOM'ify pl110, pl110_versatile and pl111
Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast;
set their version index in an instance_init.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Set version PL110 explicitly, suggested by Hu Tao; fixed inheritence]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 513960eaae0f33616e2f59d3b887b4d810763866
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:57:23 2013 +0200
pl110: Rename pl110_state to PL110State
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54df97bb0c625114ac8c7d8e236fbb7a2456e334
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:53:39 2013 +0200
milkymist-vgafb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 56299135f5c32a8b606e4b62af9200a3cee65985
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:48:23 2013 +0200
milkymist-tmu2: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66c2de562f504895eeb407a04dddd4c76ab70c50
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:35:51 2013 +0200
jazz_led: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0f31aa86255e97295b4d81e3d03a527974746d63
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:30:30 2013 +0200
g364fb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field and
prepare for QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f27321aa3a4368c1dbdd03f7e7629572c0fe18b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:24:50 2013 +0200
exynos4210_fimd: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af073cd9de7fa120129815cf4d2ba64156571347
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:44:48 2013 +0200
onenand: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field and
prepare for QOM realize.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b354f03c5c044beeb758935890b7e48c70e2ff9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:19:32 2013 +0200
pl041: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baae672597b90e364131241ec3a03730fe774052
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 19:45:52 2013 +0200
pl041: Rename pl041_state to PL041State
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Split off renaming from QOM cast changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 922cc6010e09ed5b976b2e60228b3d6fb09aa3a5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:15:29 2013 +0200
milkymist-ac97: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e3f8599fc9b3a408fdaaa5a38d6bc328c08c4bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:10:44 2013 +0200
audio/marvell_88w8618: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f9e741903982e55c0dc138ab2e61059a4f3c9a76
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 10:04:31 2013 +0200
cs4231: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 24bf6c1f2a0ab42e4f183a10b9e9cfe468a840b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:37:28 2013 +0200
xilinx_uartlite: QOM cast cleanups
Introduce type constant and use QOM casts.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 144712ca149f49b24e27b537d05943ee8ac9e22b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:34:25 2013 +0200
xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b85423fe756e52b373c58c328bb59790ca081ec8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 21:52:26 2013 +0200
etraxfs_ser: QOM cast cleanups
Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM
casts.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcb7575068581a7589234bdd55e8d9a9351611d9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:56:00 2013 +0200
pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types
Move PCIEPort's "port" property to the new type, same for "aer_log_max".
Move PCIESlot's "chassis" and "slot" properties to the new type.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5315dc78d089191e6a34a9f9f8913b7f365d504a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:21:22 2013 +0200
pci-bridge/i82801b11: Rename parent field
Rename it to avoid accidental use.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 57524e14cf12cbc148b0a268d93b3e8457a010a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 12 19:16:46 2013 +0200
pci-bridge-dev: QOM parent field cleanup
Rename it to avoid accidental use.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f055e96bd4311d287c0e03faec02a1bdbc351925
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 11 17:13:43 2013 +0200
pci-bridge: Turn PCIBridge into abstract QOM type
Introduce TYPE_PCI_BRIDGE as base type and use PCI_BRIDGE() casts.
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
[AF: Updated pbm-bridge parent to TYPE_PCI_BRIDGE]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 45c0a675f9572f236b4be881576de9a626d2618f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jul 25 00:11:10 2013 +0200
arm11mpcore: QOM cast cleanups for mpcore_rirq_state
Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 56fc028166d00ecc8eb61cdfbec5a0305e15d670
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 24 23:59:01 2013 +0200
arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
Introduce a type constant, use QOM casts and rename the parent field.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 97da11d8571af72b714f5a45c171bed95a38368c
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:03:27 2013 +0200
cpu/a15mpcore: QOM cast cleanup
Introduce type constant and cast macro and rename A15MPPrivState::busdev
field to parent_obj to enforce its use.
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 68653fd671d3e9b167aa2423dde67dad1b217340
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:37:10 2013 +0200
timer/arm_mptimer: QOM cast cleanup
Introduce type constant and cast macro and rename
ARMMPTimerState::busdev to enforce its use.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 5126fec766a3100de896cb92db45d862bd84a969
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:07:29 2013 +0200
cpu/a9mpcore: QOM casting cleanup
Introduce type constant and cast macro and enforce its use by
renaming A9MPPrivState::busdev field to parent_obj.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit f6c11d56442fafa5357ef1f1659b9e39e7bf578d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 18:44:48 2013 +0200
ide: Introduce abstract QOM type for PCIIDEState
Needed for QOM casts.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02a9594b4f0cb8a341fe91edb41c6424ad5ae4f9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:56:30 2013 +1000
ide/piix: QOM casting sweep
Use standard QOM cast macro. Remove usage of DO_UPCAST() and
direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19d46d711d93cb3a37dada945cb3410278b94bc3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 01:55:26 2013 +0200
fdc: Fix inheritence for SUNW,fdtwo
Since commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b SUNW,fdtwo's
initfn (realizefn since 940194c2369e50d91d1abf6f36d43853eea5e539)
was using SYSBUS_FDC() cast. This uses type sysbus-fdc rather than
SUNW,fdtwo.
Fix this by letting SUNW,fdtwo and sysbus-fdc both inherit from an
abstract type base-sysbus-fdc.
This allows to consolidate realizefns by using instance_init functions.
Clean up variable names and variable order while at it.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Cc: Hu Tao <hutao@xxxxxxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eddbf0ab9db8385d7cb57e23891c1d41488b303e
Merge: 4ff1fac... b0f2027...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 11:33:48 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
dataplane: refuse to start if device is already in use
dataplane: enable virtio-blk x-data-plane=on live migration
migration: fix spice migration
migration: notify migration state before starting thread
block: Repair the throttling code.
gluster: Add image resize support
Message-id: 1375112172-24863-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ff1fac4305f78d9cf987ca8abf3bda7f29c856e
Merge: 3a1da42... 9337e3b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 11:33:34 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix x86 cpu-add
* Change KVM PMU behavior for 1.6
# gpg: Signature made Mon 29 Jul 2013 10:28:18 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Eduardo Habkost (2) and Andreas Färber (1)
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Disable PMU CPUID leaf by default
target-i386: Pass X86CPU object to cpu_x86_find_by_name()
cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to
CPUState"
commit 3a1da42eb35a67d0dbc899dd571ea386fa11c4dd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:34 2013 +0200
qapi: Rename ChardevBackend member "memory" to "ringbuf"
Commit 1da48c6 called the new member "memory" after commit 3949e59
standardized "ringbuf". Rename for consistency.
However, member name "memory" is visible in QMP since 1.5. It's
undocumented just like the driver name. Keep it working anyway.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c11ed9666d69abaf217c8800f299c519b487b7d3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:33 2013 +0200
qemu-char: Register ring buffer driver with correct name "ringbuf"
The driver is new in 1.4, with the documented name "ringbuf".
However, it's actual name is the completely undocumented "memory".
Screwed up in commit 3949e59. Fix code to match documentation.
Keep the undocumented name working as an alias for compatibility.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f57378fe69836ee2585c4ca631ff50746940fa6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jul 26 16:44:32 2013 +0200
Revert "chardev: Make the name of memory device consistent"
This reverts commit 6a85e60cb994bd95d1537aafbff65816f3de4637.
Commit 51767e7 "qemu-char: Add new char backend CirMemCharDriver"
introduced a memory ring buffer character device driver named
"memory". Commit 3949e59 "qemu-char: Saner naming of memchar stuff &
doc fixes" changed the driver name to "ringbuf", along with a whole
bunch of other names, with the following rationale:
Naming is a mess. The code calls the device driver
CirMemCharDriver, the public API calls it "memory", "memchardev",
or "memchar", and the special commands are named like
"memchar-FOO". "memory" is a particularly unfortunate choice,
because there's another character device driver called
MemoryDriver. Moreover, the device's distinctive property is that
it's a ring buffer, not that's in memory.
This is what we released in 1.4.0.
Unfortunately, the rename missed a critical instance of "memory": the
actual driver name. Thus, the new device could be used only by an
entirely undocumented name. The documented name did not work.
Bummer.
Commit 6a85e60 fixes this by changing the documentation to match the
code. It also changes some, but not all related occurences of
"ringbuf" to "memory". Left alone are identifiers in C code, HMP and
QMP commands. The latter are external interface, so they can't be
changed.
The result is an inconsistent mess. Moreover, "memory" is a rotten
name. The device's distinctive property is that it's a ring buffer,
not that's in memory. User's don't care whether it's in RAM, flash,
or carved into chocolate tablets by Oompa Loompas.
Revert the commit. Next commit will fix just the bug.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374849874-25531-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1a145e154b0a227a1e192009ca30b351de0a8ef
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:42:01 2013 +0200
qapi.py: Permit comments starting anywhere on the line
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-10-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28b8bd4c759389bdc8430acfa588a23e4a9a7fb8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:42:00 2013 +0200
qapi.py: Rename expr_eval to expr in parse_schema()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f3cd2b717c949f3afb502fb4c81193eb18ce6aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:59 2013 +0200
qapi.py: Fix diagnosing non-objects at a schema's top-level
Report syntax error instead of crashing.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6974ccd542d11ae5fb1e56dd3d753f2de5cc097e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:58 2013 +0200
qapi.py: Fix schema parser to check syntax systematically
Fixes at least the following parser bugs:
* accepts any token in place of a colon
* treats comma as optional
* crashes when closing braces or brackets are missing
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9213aa5391f7c8d3766420d96888f1353af4c890
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:57 2013 +0200
qapi.py: Reject invalid characters in schema file
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2caba36cc61ee3993334bc423f0852f8006fdfcf
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:56 2013 +0200
qapi.py: Decent syntax error reporting
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c7a3f25200c8692e969f21c7f2555630ec0d0d30
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:55 2013 +0200
qapi.py: Restructure lexer and parser
The parser has a rather unorthodox structure:
Until EOF:
Read a section:
Generator function get_expr() yields one section after the
other, as a string. An unindented, non-empty line that
isn't a comment starts a new section.
Lexing:
Split section into a list of tokens (strings), with help
of generator function tokenize().
Parsing:
Parse the first expression from the list of tokens, with
parse(), throw away any remaining tokens.
In parse_schema(): record value of an enum, union or
struct key (if any) in the appropriate global table,
append expression to the list of expressions.
Return list of expressions.
Known issues:
(1) Indentation is significant, unlike in real JSON.
(2) Neither lexer nor parser have any idea of source positions. Error
reporting is hard, let's go shopping.
(3) The one error we bother to detect, we "report" via raise.
(4) The lexer silently ignores invalid characters.
(5) If everything in a section gets ignored, the parser crashes.
(6) The lexer treats a string containing a structural character exactly
like the structural character.
(7) Tokens trailing the first expression in a section are silently
ignored.
(8) The parser accepts any token in place of a colon.
(9) The parser treats comma as optional.
(10) parse() crashes on unexpected EOF.
(11) parse_schema() crashes when a section's expression isn't a JSON
object.
Replace this piece of original art by a thoroughly unoriginal design.
Takes care of (1), (2), (5), (6) and (7), and lays the groundwork for
addressing the others. Generated source files remain unchanged.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f193e34c6c41abdd06c134e584312077def2bda
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:54 2013 +0200
tests: Use qapi-schema-test.json as schema parser test
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1374939721-7876-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98626572f18ddc61c08588c32a1773bc91f8624e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Jul 27 17:41:53 2013 +0200
tests: QAPI schema parser tests
The parser handles erroneous input badly. To be improved shortly.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1374939721-7876-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55d5d04884305e17b24f378a9ec616bf7354c1ca
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jul 28 14:57:22 2013 +0200
memory: add tracepoints for MMIO reads/writes
This is quite handy to debug softmmu targets.
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1375016242-32651-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8cdd2e0abbf593a38a146d8dfc998754cefbc27a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 29 12:22:11 2013 +0100
tpm.c: Don't try to put -1 in a variable of type TpmModel
The TpmModel type is an enum (valid values 0 and 1), which means
the compiler can legitimately decide that comparisons like
'tpm_models[i] == -1' are never true. (For example it could
pick 'unsigned char' as its type for representing the enum.)
Avoid this issue by using TPM_MODEL_MAX to mark entries in
the tpm_models[] array which aren't filled in, instead of -1.
This silences a clang warning:
tpm.c:43:27: error: comparison of constant -1 with expression of type
'enum TpmModel' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
if (tpm_models[i] == -1) {
~~~~~~~~~~~~~ ^ ~~
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375096931-13842-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 125ee0ed9cad04307498ac2b7b0d51ad8a807360
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:45 2013 +0300
devices: Associate devices to their logical category
The category will be used to sort the devices displayed in
the command line help.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-4-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:44 2013 +0300
qemu-help: Sort devices by logical functionality
Categorize devices that appear as output to "-device ?" command
by logical functionality. Sort the devices by logical categories
before showing them to user.
The sort is done by functionality rather than alphabetical.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-3-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 949fc82314cc84162e64a5323764527a542421ce
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Jul 29 17:17:43 2013 +0300
hw: import bitmap operations in qdev-core header
Made small tweaks in code to prevent compilation issues
when importing qemu/bitmap.h in qdev-core
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1375107465-25767-2-git-send-email-marcel.a@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbd94f8e4a0a3c4164af7be5bbf6d4e907f3cc03
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 29 14:48:39 2013 +1000
spapr-vscsi: fix SOLNT bit in SRP_RSP
The driver calculates SOLNT bit from UCSOLNT and SCSOLNT bits from
the request. The iu pointer has a type of srp_iu* which points to a union,
so cmd and rsp overlap. As the vscsi_send_rsp function calls
memset(iu, 0, sizeof(rsp)), it clears first 36 bytes of both cmd and rsp
so cmd.sol_not is always zero at the moment of calculating rsp.sol_not.
This fixes the bug.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1375073319-17488-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c04d6cfa3f17a335942f430a3d40e6041100f0c2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 14:33:04 2013 -0500
xics: rename types to be sane and follow coding style
Basically, in HW the layout of the interrupt network is:
- One ICP per processor thread (the "presenter"). This contains the
registers to fetch a pending interrupt (ack), EOI, and control the
processor priority.
- One ICS per logical source of interrupts (ie, one per PCI host
bridge, and a few others here or there). This contains the
per-interrupt
source configuration (target processor(s), priority, mask) and the
per-interrupt internal state.
Under PAPR, there is a single "virtual" ICS ... somewhat (it's a bit
oddball what pHyp does here, arguably there are two but we can ignore
that distinction). There is no register level access. A pair of
firmware
(RTAS) calls is used to configure each virtual interrupt.
So our model here is somewhat the same. We have one ICS in the
emulated
XICS which arguably *is* the emulated XICS, there's no point making
it a
separate "device", that would just be gross, and each VCPU has an
associated ICP.
Yet we call the "XICS" struct icp_state and then the ICPs
'struct icp_server_state'. It's particularly confusing when all of the
functions have xics_prefixes yet take *icp arguments.
Rename:
struct icp_state -> XICSState
struct icp_server_state -> ICPState
struct ics_state -> ICSState
struct ics_irq_state -> ICSIRQState
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-12-git-send-email-aliguori@xxxxxxxxxx
[aik: added ics_resend() on post_load]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e68cb8b4fa7e20e666a3bfc571a0e075733d22bd
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:33:03 2013 -0500
pseries: savevm support with KVM
At present, the savevm / migration support for the pseries machine will
not
work when KVM is enabled. That's because KVM manages the guest's hash
page
table in the host kernel, so qemu has no visibility of it. This patch
fixes this by using new kernel interfaces to extract and reinsert the
guest's hash table during the migration process.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Message-id: 1374175984-8930-11-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1112cf94c82dfc743b62b5bcb96dd20f47b683a8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:02 2013 -0500
pseries: savevm support for PCI host bridge
This adds the necessary support for saving the state of the PAPR virtual
PCI host bridge (or host bridges).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-10-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4be21d561d59da9d6f20f872882652bc3561f871
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:01 2013 -0500
pseries: savevm support for pseries machine
This adds the necessary pieces to implement savevm / migration for the
pseries machine. The most complex part here is migrating the hash
table - for the paravirtualized pseries machine the guest's hash page
table is not stored within guest memory, but externally and the guest
accesses it via hypercalls.
This patch uses a hypervisor reserved bit of the HPTE as a dirty bit
(tracking changes to the HPTE itself, not the page it references).
This is used to implement a live migration style incremental save and
restore of the hash table contents.
Normally a hash table is 16MB but it can get bigger depending on how
much RAM the guest has. Due to its nature, updates to it are random so
the live migration style is used for it.
In addition it adds VMStateDescription information to save and restore
the (few) remaining pieces of state information needed by the pseries
machine.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-9-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1168ec7da182d417125d9dea46908c0cfa2c40b7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:33:00 2013 -0500
pseries: savevm support for PAPR virtual SCSI
This patch adds the necessary support for saving the state of the PAPR VIO
virtual SCSI device. This also saves and restores active SCSI requests.
[aik: implemented vscsi_req save/restore]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-8-git-send-email-aliguori@xxxxxxxxxx
Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ca8a17c9a16eb3b2fedb3c74687c429e9cfc6aa
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:32:59 2013 -0500
pseries: rework PAPR virtual SCSI
The patch reimplements handling of indirect requests in order to
simplify upcoming live migration support.
- all pointers (except SCSIRequest*) were replaces with integer
indexes and offsets;
- DMA'ed srp_direct_buf kept untouched (ie. BE format);
- vscsi_fetch_desc() is added, now it is the only place where
descriptors are fetched and byteswapped;
- vscsi_req struct fields converted to migration-friendly types;
- many dprintf()'s fixed.
This also removed an unused field 'lun' from the spapr_vscsi device
which is assigned, but never used. So, remove it.
[David Gibson: removed unused 'lun']
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-7-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a83000f5e3fac30a7f213af1ba6a8f827622854d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 14:32:58 2013 -0500
spapr-tce: make sPAPRTCETable a proper device
Model TCE tables as a device that's hooked up as a child object to
the owner. Besides the code cleanup, we get a few nice benefits:
1) free actually works now (it was dead code before)
2) the TCE information is visible in the device tree
3) we can expose table information as properties such that if we
change the window_size, we can use globals to keep migration
working.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-6-git-send-email-aliguori@xxxxxxxxxx
[dwg: pseries: savevm support for PAPR TCE tables]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[alexey: ppc kvm: fix to compile]
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db1b58e937fd80513a4bb14432808495a5846ffe
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:57 2013 -0500
pseries: savevm support for PAPR VIO logical tty
This patch adds the necessary VMStateDescription information to support
savevm/loadvm for the spapr_tty (PAPR logical serial) device.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-5-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 686fefe48375c448bc2141973008818cd9b9c671
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:56 2013 -0500
pseries: savevm support for PAPR VIO logical lan
This patch adds the necessary VMStateDescription information to support
savevm/loadvm for the spapr_llan (PAPR logical lan) device.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-4-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b368a7d864d6f32caba4ac9fb3b9738d1180315d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jul 18 14:32:55 2013 -0500
pseries: savevm support for VIO devices
This patch adds helpers to allow PAPR VIO devices to save state common
to all VIO devices during savevm.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374175984-8930-3-git-send-email-aliguori@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a90db1584a00dc1d1439dc7729d99674b666b85e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jul 18 14:32:54 2013 -0500
target-ppc: Convert ppc cpu savevm to VMStateDescription
The savevm code for the powerpc cpu emulation is currently based around
the old register_savevm() rather than register_vmstate() method. It's
also
rather broken, missing some important state on some CPU models.
This patch completely rewrites the savevm for target-ppc, using the new
VMStateDescription approach. Exactly what needs to be saved in what
configurations has been more carefully examined, too. This introduces a
new version (5) of the cpu save format. The old load function is retained
to support version 4 images.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1374175984-8930-2-git-send-email-aliguori@xxxxxxxxxx
[aik: ppc cpu savevm convertion fixed to use PowerPCCPU instead of
CPUPPCState]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0f2027cde31c645524256763672e09eeb204a9a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:02:00 2013 +0200
dataplane: refuse to start if device is already in use
Dataplane must check whether a block device is in use before launching
the dataplane thread. This is necessary since the thread does not
synchronize with the main loop and I/O requests could cause corruption.
One example is when a drive is added and a block job is started before
hotplugging the virtio-blk-pci adapter. In this case we must not use
dataplane mode.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84db52d059f3296abf7783968645c4a96d21b099
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:59 2013 +0200
dataplane: enable virtio-blk x-data-plane=on live migration
Although the dataplane thread does not cooperate with dirty memory
logging yet it's fairly easy to temporarily disable dataplane during
live migration. This way virtio-blk can live migrate when
x-data-plane=on.
The dataplane thread will restart after migration is cancelled or if the
guest resuming virtio-blk operation after migration completes.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02edd2e7665bceb307bedd8afe625c0f7e8d7cfa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:58 2013 +0200
migration: fix spice migration
Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce
MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the
state transitions during migration setup.
Spice used to be notified with MIG_STATE_ACTIVE and it detected this
using migration_is_active(). Spice is now notified with
MIG_STATE_SETUP and migration_is_active() no longer works.
Replace migration_is_active() with migration_in_setup() to fix spice
migration.
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9287ac271d83166f99e050a0e0a4ebd462f7eb2b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 29 15:01:57 2013 +0200
migration: notify migration state before starting thread
The migration thread runs outside the QEMU global mutex when possible.
Therefore we must notify migration state change *before* starting the
migration thread.
This allows registered listeners to act before live migration iterations
begin. Therefore they can get into a state that allows for live
migration. When the migration thread starts everything will be ready.
Without this patch there is a race condition during migration setup,
depending on whether the migration thread has already transitioned from
SETUP to ACTIVE state.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b681a1c73e15e08c70c10cccd9c9f5b65cca12e8
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Jul 26 22:39:22 2013 +0200
block: Repair the throttling code.
The throttling code was segfaulting since commit
02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next
caller
does not run in a coroutine.
qemu_co_queue_do_restart assume that the caller is a coroutinne.
As suggested by Stefan fix this by entering the coroutine directly.
Also make sure like suggested that qemu_co_queue_next() and
qemu_co_queue_restart_all() can be called only in coroutines.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 42ec24e2851674e0899f71933e0d7d9125f31d76
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jul 19 19:51:33 2013 +0530
gluster: Add image resize support
Implement .bdrv_truncate in GlusterFS block driver so that GlusterFS
backend
can support image resizing.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Tested-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 908c67fca4b2c12a9b2336aa9c188f84468b60b7
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Jul 21 12:55:46 2013 +0400
target-xtensa: check register window inline
This lowers time spent in helper_window_check as reported by perf top
from ~8% to ~0.15% accelerating register-intensive tests by ~20%.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 0857a06ef784783887e756d4b7b5f874512c506c
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Jul 21 07:54:37 2013 +0400
target-xtensa: don't generate dead code to access invalid SRs
This fixes the following test failure caused by access to undefined SR:
qemu-system-xtensa -M sim -cpu dc232b -nographic -semihosting
-kernel ./test_sr.tst
QEMU 1.4.50 monitor - type 'help' for more information
(qemu) QEMU 1.4.50 monitor - type 'help' for more information
(qemu) qemu-system-xtensa: tcg/tcg.c:1673: temp_save: Assertion
`s->temps[temp].val_type == 2 || s->temps[temp].fixed_reg' failed.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit aaa2ebc567619474d219017785b46ddc9295fffa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 6 20:41:37 2013 +0200
tests/tcg/xtensa: Fix out-of-tree build
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit a00817cc4c18b7872e92765a4736fb2227cc237b
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Mar 4 07:02:00 2013 +0400
target-xtensa: avoid double-stopping at breakpoints
env->exception_taken is set every time an exception is taken. It is used
to allow single-stepping to stop at the first exception handler
instruction. This however must exclude debug exceptions, as otherwise
first step from the instruction where breakpoint was hit stops at that
same instruction.
Also don't check env->exception_taken directly from the
gen_intermediate_code_internal, instead allocate and use TB flag
XTENSA_TBFLAG_EXCEPTION.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 5739006b9ab1ae3680359db5a291eae97eef0f9f
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Jan 21 18:40:04 2013 +0400
target-xtensa: add fallthrough markers
Explicitly mark cases where we are deliberately falling through to the
following code.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 7be9d0e6d15c2f4b1a06912128c17b4eb1f32705
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Dec 17 00:32:27 2012 +0400
target-xtensa: add extui unit test
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 9337e3b6e1d779215423d9b419d42200506deaab
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jul 26 17:09:36 2013 -0300
target-i386: Disable PMU CPUID leaf by default
Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID
for CPUID leaf 0xA and passes them directly to the guest. This makes
the guest ABI depend on host kernel and host CPU capabilities, and
breaks live migration if we migrate between hosts with different
capabilities (e.g., different number of PMU counters).
Add a "pmu" property to X86CPU, and set it to true only on "-cpu host",
or on pc-*-1.5 and older machine-types.
For now, setting pmu=on will enable the current passthrough mode that
doesn't have any ABI stability guarantees, but in the future we may
implement a mode where the PMU CPUID bits are stable and configurable.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c139911261c5acc9dae56b1180db320ba25636bd
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jul 26 17:09:35 2013 -0300
target-i386: Pass X86CPU object to cpu_x86_find_by_name()
This will help us change the initialization code to not require carrying
some intermediate values in a x86_def_t struct (and eventually kill the
x86_def_t struct entirely).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14a10fc39923b3af07c8c46d22cb20843bee3a72
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 02:53:25 2013 +0200
cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState"
Commit c643bed99 moved qemu_init_vcpu() calls to common CPUState code.
This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed".
The reason for the failure is that CPUClass::kvm_fd is not yet
initialized in the following call graph:
->x86_cpu_realizefn
->x86_cpu_apic_realize
->qdev_init
->device_set_realized
->device_reset (hotplugged == 1)
->apic_reset_common
->vapic_base_update
->kvm_apic_vapic_base_update
This causes attempted KVM vCPU ioctls to fail.
By contrast, in the non-hotplug case the APIC is reset much later, when
the vCPU is already initialized.
As a quick and safe solution, move the qemu_init_vcpu() call back into
the targets' realize functions.
Reported-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Acked-by: Igor Mammedov <imammedo@xxxxxxxxxx> (for i386)
Tested-by: Jia Liu <proljc@xxxxxxxxx> (for openrisc)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fdc43322c978d78e79e692872dcec7b4f6a447f1
Merge: b0a71c3... 8fbab3b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:31 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-130729' into staging
# By Paul Durrant (1) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-130729:
Xen PV Device
xen_disk: support "direct-io-safe" backend option
Message-id:
1375096790-12815-1-git-send-email-stefano.stabellini@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0a71c3b397b12db727ce483f01b3336160ef6a1
Merge: f60a0d6... 867b18d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:21 2013 -0500
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Alexander Graf (1) and others
# Via Alexander Graf
* agraf/s390-for-upstream:
s390: update s390-ccw.img
s390/ipl: Fix boot order
s390/IPL: Allow boot from other ssid than 0
Message-id: 1375092324-23943-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f60a0d6ab9ea9ba900ba3936c3471851f28f7bc4
Merge: 200a063... f53ec69...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 29 07:30:06 2013 -0500
Merge remote-tracking branch 'sweil/w32' into staging
# By Stefan Weil (10) and others
# Via Aurelien Jarno (1) and Stefan Weil (1)
* sweil/w32: (27 commits)
w32, w64: Add build rule for installer
target-mips: fix mipsdsp_mul_q31_q31
mips_malta: fix copy of the 0x1fc00000 region
linux-user: correct argument number for sys_mremap and sys_splice
target-mips: Remove assignment to a variable which is never used
target-mips: fix mipsdsp_trunc16_sat16_round
hw/mips: align initrd to 64KB to avoid kernel error
pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads
mips_malta: generate SMBUS EEPROM data
mips_malta: cap BIOS endian swap length at 0x3e0000 bytes
mips_malta: generate SPD EEPROM data at runtime
mips_malta: correct reading MIPS revision at 0x1fc00010
mips_malta: fix BIOS endianness swapping
mips_malta: QOM cast cleanup
target-mips: fix branch in likely delay slot tcg assert
target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15
target-mips: Remove assignment to a variable which is never used
misc: Use g_assert_not_reached for code which is expected to be
unreachable
qemu-options: mention C-a h in the -nographic doc
misc: Fix new typos in comments and strings
...
Message-id: 1374989579-24933-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fbab3b62a271526c782110aed0ae160eb38c296
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Mon Jul 29 10:58:01 2013 +0000
Xen PV Device
Introduces a new Xen PV PCI device which will act as a binding point for
PV drivers for Xen.
The device has parameterized vendor-id, device-id and revision to allow to
be configured as a binding point for any vendor's PV drivers.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 454ae734f1d9f591345fa78376435a8e74bb4edd
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jul 29 10:56:38 2013 +0000
xen_disk: support "direct-io-safe" backend option
Support backend option "direct-io-safe". This is documented as
follows in the Xen backend specification:
* direct-io-safe
* Values: 0/1 (boolean)
* Default Value: 0
*
* The underlying storage is not affected by the direct IO memory
* lifetime bug. See:
*
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
*
* Therefore this option gives the backend permission to use
* O_DIRECT, notwithstanding that bug.
*
* That is, if this option is enabled, use of O_DIRECT is safe,
* in circumstances where we would normally have avoided it as a
* workaround for that bug. This option is not relevant for all
* backends, and even not necessarily supported for those for
* which it is relevant. A backend which knows that it is not
* affected by the bug can ignore this option.
*
* This option doesn't require a backend to use O_DIRECT, so it
* should not be used to try to control the caching behaviour.
Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the
default flags passed to the qemu block layer.
The original proposal for a "cache" backend option has been dropped
because it was believed too wide, especially considering that at the
moment the backend doesn't have a way to tell the toolstack that it is
capable of supporting it.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
commit 867b18db2155c0c99ab767c4ac563e144c85871d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jun 24 14:56:51 2013 +0200
s390: update s390-ccw.img
This enables the following patches:
s390/IPL: Allow boot from other ssid than 0
s390/ipl: Fix spurious errors in virtio
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5c8ded6ef55761e80353f42d8e59c6e233a2f51a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Jun 18 14:31:52 2013 +0200
s390/ipl: Fix boot order
The latest ipl code adaptions collided with some of the virtio
refactoring rework. This resulted in always booting the first
disk. Let's fix booting from a given ID.
The new code also checks for command lines without bootindex to
avoid random behaviour when accessing dev_st (==0).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c8cda8748eceeeb06f1952e7e765a0919103644d
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 17 14:29:42 2013 +0200
s390/IPL: Allow boot from other ssid than 0
We now take the subchannel set id also into account to find the boot
device.
If we want to use a subchannel set other than the default set 0, we first
need to enable the mss facility.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f53ec6999287bfdc4f0dfdb6427baa1853f8952a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jul 15 23:49:57 2013 +0200
w32, w64: Add build rule for installer
The new rules in Makefile allow building installers for QEMU on Windows
using NSIS, a package which is also available for Linux distributions
(so cross builds are possible).
The rules for NSIS are in qemu.nsi which also uses two new images.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 461bdb3414c40d6806194bf68c91521496b1042d
Merge: b6a9f46... 6c86f40...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Jul 29 09:03:23 2013 +0200
Merge branch 'trivial-patches' of git://git.corpit.ru/qemu
* 'trivial-patches' of git://git.corpit.ru/qemu:
target-mips: Remove assignment to a variable which is never used
misc: Use g_assert_not_reached for code which is expected to be
unreachable
qemu-options: mention C-a h in the -nographic doc
misc: Fix new typos in comments and strings
linux-user: correct argument number for sys_mremap and sys_splice
PPC: dbdma: macio: Fix format specifiers (build regression)
watchdog: Remove break after exit
exec: Remove env from list of poisoned names
hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
timer: make timers_state static
aes: Remove unused code (NDEBUG, u16)
commit b6a9f4682e62c686995cc1a1fe2ef4a57a92020b
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 29 04:06:12 2013 +0200
target-mips: fix mipsdsp_mul_q31_q31
Multiplication of two fractional word elements is not correct when sign
extension/promotion is needed. This change fixes it by adding correct
casts from unsigned to signed values.
In addition, the tests (dpaq_sa_l_w.c and dpsq_sa_l_w.c) have been
extended
to trigger the current issue.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f05d4d94d6bb0e240e6cfda65972fd86601f9f0d
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Jul 29 07:00:29 2013 +0200
mips_malta: fix copy of the 0x1fc00000 region
Copy the whole 0x1fe000000 region into 0x1fc00000, independently of the
loaded BIOS size. This fix the MIPS make check tests.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b0932e0617c65ae1cb0362416ec0ef32766abf5d
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Jul 23 19:00:10 2013 +0200
linux-user: correct argument number for sys_mremap and sys_splice
sys_mremap missed 5th argument (new_address), which caused examples that
remap to a specific address to fail.
sys_splice missed 5th and 6th argument which caused different examples to
fail.
This change has an effect on MIPS target only.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2e46d59cac7d8259bf80abcddfebde87014d610
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 22:10:31 2013 +0200
target-mips: Remove assignment to a variable which is never used
This assignment causes a compiler warning for compilations with the
compiler
option -Wunused-but-set-variable (which is included with -Wextra).
Removing it allows using -Wextra for QEMU code without suppressing too
many
extra warnings.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d36c231f4b7386bd8230aa17d362b925aa419b2f
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 1 01:54:47 2013 +0200
target-mips: fix mipsdsp_trunc16_sat16_round
This change corrects rounding and saturation of Q31 fractional value in
mipsdsp_trunc16_sat16_round(). Overflow detection was incorrect for the
corner case for PRECRQ_RS.PH, and this test case is also part of the
change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 05b3274b6bedb68ff78b76c642e17e97f3181c2f
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 27 08:35:27 2013 +0100
hw/mips: align initrd to 64KB to avoid kernel error
The Linux kernel can be configured to use 64KB pages, but it also
requires initrd to be page aligned. Therefore, to be safe, align the
initrd to 64KB using a new INITRD_PAGE_MASK rather than
TARGET_PAGE_MASK.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ea0a4f34418c9f2cad9722bb27acd6349148fac0
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:48 2013 +0100
pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads
The firmware commonly used with MIPS Malta boards (YAMON) reads the
status of the pflash with a 32bit memory access. On real hardware
this results in the status byte being mirrored in the upper 16 bits
of the read value. For example if the status byte is represented by
SS then the hardware reads 0x00SS00SS. The YAMON firmware compares the
status against 32bit values expecting the mirrored value and fails
without it.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 35c648078aa493c3b976840eb7cf2e53ab5b7a2d
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:47 2013 +0100
mips_malta: generate SMBUS EEPROM data
The malta contains 2 EEPROMs, one containing SPD data for the SDRAM and
another containing board information such as serial number and MAC
address. These are both exposed via the PIIX4 SMBUS. Generating this
data and providing it to smbus_eeprom_init will allow YAMON to read a
serial number for the board and prevent it from warning that the EEPROM
data is invalid.
We already have the contents of the SPD EEPROM which are exposed via
FPGA I2C accesses, this is provided as part of the SMBUS EEPROM data
too for consistency.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 1817f56a834f55311af20d1c004b259c16fb1515
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:46 2013 +0100
mips_malta: cap BIOS endian swap length at 0x3e0000 bytes
This preserves the final sector of the pflash which is used by YAMON to
hold environment variables. If the endianness of the environment data
is swapped then YAMON will fail to load environment variables from
pflash.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 02bccc7796fec8b39dca9affc8bff8edebe0a867
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:45 2013 +0100
mips_malta: generate SPD EEPROM data at runtime
The SPD EEPROM specifies the amount of memory present in the system and
thus its correct contents can only be known at runtime. Calculating
parts of the data on init allows the data to accurately reflect the
amount of target memory present and allow YAMON to boot with an
arbitrary amount of SDRAM.
Where possible the SPD data will favor indicating 2 banks of SDRAM
rather than 1. For example the default 128MB of target memory will be
represented as 2x64MB banks rather than 1x128MB bank. This allows
versions of MIPS BIOS code (such as YAMON 2.22 and older) to boot
despite a bug preventing them from handling a single bank of SDRAM with
the Galileo GT64120 system controller emulated by QEMU.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a427338b222b43197c2776cbc996936df0302f51
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:44 2013 +0100
mips_malta: correct reading MIPS revision at 0x1fc00010
Rather than modifying the BIOS code at its original location, copy it
for the 0x1fc00000 region & modify the copy. This means the original
ROM code is correctly readable at 0x1e000010 whilst the MIPS revision
is readable at 0x1fc00010.
Additionally the code previously operated on target memory which would
later be overwritten by the BIOS image upon CPU reset if the -bios
argument was used to specify the BIOS image. This led to the written
MIPS revision being lost. Copying using rom_copy when -bios is used
fixes this issue.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a2b8813d62fa5a35adc1a7bf58de5b2ffb754f5d
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jun 14 08:30:43 2013 +0100
mips_malta: fix BIOS endianness swapping
If the target is little endian (mipsel) then the BIOS image endianness
is swapped so that the big endian BIOS binaries commonly produced can be
loaded correctly.
When using the -bios argument the BIOS is loaded using
load_image_targphys, however this doesn't perform the load to target
memory immediately. Instead it loads the BIOS file into a struct Rom
which will later be written to target memory upon reset. However the
endianness conversion was being performed before this, on init, and
operating on the target memory which at this point is blank & will later
be overwritten by the (big endian) BIOS image. Correct this by operating
on the data referenced by struct Rom rather than the target memory when
the -bios argument is used.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit cba5cb67becd66f8eae4177c4f95756f3f9bb77a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 27 22:19:54 2013 +0200
mips_malta: QOM cast cleanup
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 240ce26a0533a6e5ee472789fbfbd9f7f939197e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Jun 24 17:45:39 2013 +0100
target-mips: fix branch in likely delay slot tcg assert
When a branch delay slot contains another branch instruction, the code
generated raises an exception, however since is_branch==1,
handle_delay_slot() doesn't get called immediately. This means
ctx->bstate isn't set to BS_BRANCH, and the decoder continues decoding
until a non-branch instruction is found.
If the first branch was a branch likely instruction then each
instruction after it generates code for the unlikely case, to go to the
next tb starting after the delay slot. This results in multiple goto_tb
tcg ops being generated with the same exit number. When debug is enabled
this hits:
tcg-op.h:2589: tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask &
(1 << idx)) == 0' failed.
This is fixed by removing is_branch entirely, and calling
handle_delay_slot() if (ctx.hflags & MIPS_HFLAG_BMASK) was set prior to
the current instruction being decoded. This still prevents
handle_delay_slot() being called immediately after a branch but allows
it to still be called after a branch within a delay slot.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 4877866ee4fbd760c943577bb6d1eba489fb6c6e
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu May 23 19:37:53 2013 +0200
target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15
Multiplication of Q15 fractional halfword vectors was incorrect in the
previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take
element signs into account. This change fixes it, and it adds a test case
for it.
The change also removes unnecessary cast in the function
mipsdsp_mul_q15_q15_overflowflag21().
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6c86f405efd6532b58ad1b607cc9f11e856ef5ca
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 22:10:31 2013 +0200
target-mips: Remove assignment to a variable which is never used
This assignment causes a compiler warning for compilations with the
compiler
option -Wunused-but-set-variable (which is included with -Wextra).
Removing it allows using -Wextra for QEMU code without suppressing too
many
extra warnings.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dfc6f86567c58bc4dd02f4db098fc4c2221e85b5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 18:21:28 2013 +0200
misc: Use g_assert_not_reached for code which is expected to be
unreachable
The macro g_assert_not_reached is a better self documenting replacement
for assert(0) or assert(false).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b031f413b9e68899032f04fc05fd0a6b62039b2b
Author: Ramkumar Ramachandra <artagnon@xxxxxxxxx>
Date: Sat Jul 20 16:53:09 2013 +0530
qemu-options: mention C-a h in the -nographic doc
Otherwise, a new user will be wondering how to switch between the
console and monitor.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 52f350227f737b649f09e56ed32eaf1265605611
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jul 24 19:48:56 2013 +0200
misc: Fix new typos in comments and strings
All these typos were found by codespell.
sould -> should
emperical -> empirical
intialization -> initialization
successfuly -> successfully
gaurantee -> guarantee
Fix also another error (before before) in the same context.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6064be7912ab262f0abd85ad042fafd435ad6651
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Jul 23 19:00:10 2013 +0200
linux-user: correct argument number for sys_mremap and sys_splice
sys_mremap missed 5th argument (new_address), which caused examples that
remap to a specific address to fail.
sys_splice missed 5th and 6th argument which caused different examples to
fail.
This change has an effect on MIPS target only.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 04dd125942b11136a8c96d36591ad043b8653a7b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 12 18:48:39 2013 +0200
PPC: dbdma: macio: Fix format specifiers (build regression)
Fix a number of warnings for 32 bit builds (tested on MingW and Linux):
CC hw/ide/macio.o
qemu/hw/ide/macio.c: In function 'pmac_ide_atapi_transfer_cb':
qemu/hw/ide/macio.c:134:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
qemu/hw/ide/macio.c: In function 'pmac_ide_transfer_cb':
qemu/hw/ide/macio.c:215:5: error: format '%ld' expects argument of type
'long int', but argument 5 has type 'int64_t' [-Werror=format]
qemu/hw/ide/macio.c:222:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
qemu/hw/ide/macio.c:264:9: error: format '%lx' expects argument of type
'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format]
cc1: all warnings being treated as errors
make: *** [hw/ide/macio.o] Error 1
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f6019e5fada012f7f396c89968f2c242f92f40df
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jul 23 06:46:49 2013 +0200
watchdog: Remove break after exit
This was dead code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0dd60ae2f4efd2966e8d6cb7db653d5d17a68c62
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jul 21 16:43:14 2013 +0200
exec: Remove env from list of poisoned names
The global variable env was removed some time ago, so this name may be
used without any restriction now.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 80cba1b71eb9a75404d1effddec8ffa9f0d6d6fb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 12:14:36 2013 +0200
hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
The leak was reported by cppcheck.
Function proxy_init also calls g_free for ctx->fs_root.
Avoid reuse of this memory by setting ctx->fs_root to NULL.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9cd4007d5c7e877a006392eeafb2291f06d6685
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Jul 21 08:43:00 2013 +0000
timer: make timers_state static
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9220eeed62e06e115c83e6ffed24907c24c99197
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jun 29 15:10:48 2013 +0000
aes: Remove unused code (NDEBUG, u16)
The current code includes assert.h very early (from qemu-common.h),
so the definition of NDEBUG was without any effect.
In the initial version from 2004, NDEBUG was used to disable the
assertions.
Those assertions are not in time critical code, so it is no longer
reasonable to disable them and the definition of NDEBUG can be removed.
Type u16 is also unused and therefore does not need a type definition.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 200a06397f5d3e982028fd78b25b420507ade021
Merge: b96919e... 5b24c64...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 17:53:19 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix cpu_memory_rw_debug() breakage in s390x KVM
* Replace final CPUArchState in sysemu/kvm.h
* Introduce model subclasses for XtensaCPU
* Introduce CPUClass::gdb_num[_core]_regs
* Introduce CPUClass::gdb_core_xml_file
* Introduce CPUClass::gdb_{read,write}_register()
* Propagate CPUState further in gdbstub
# gpg: Signature made Fri 26 Jul 2013 05:04:28 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (23) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (25 commits)
cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML
target-cris: Factor out CPUClass::gdb_read_register() hook for v10
cpu: Introduce CPUClass::gdb_{read,write}_register()
gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions
target-xtensa: Move cpu_gdb_{read,write}_register()
target-lm32: Move cpu_gdb_{read,write}_register()
target-s390x: Move cpu_gdb_{read,write}_register()
target-alpha: Move cpu_gdb_{read,write}_register()
target-cris: Move cpu_gdb_{read,write}_register()
target-microblaze: Move cpu_gdb_{read,write}_register()
target-sh4: Move cpu_gdb_{read,write}_register()
target-openrisc: Move cpu_gdb_{read,write}_register()
target-mips: Move cpu_gdb_{read,write}_register()
target-m68k: Move cpu_gdb_{read,write}_register()
target-arm: Move cpu_gdb_{read,write}_register()
target-sparc: Move cpu_gdb_{read,write}_register()
target-ppc: Move cpu_gdb_{read,write}_register()
target-i386: Move cpu_gdb_{read,write}_register()
cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs
gdbstub: Drop dead code in cpu_gdb_{read,write}_register()
...
commit 5b24c64188b8253e2f004191c7e8d4a799f90eaa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 15:08:22 2013 +0200
cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML
Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field.
Use first_cpu for qSupported and qXfer:features:read: for now.
Add a stub for xml_builtin.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90431220be42d773084d88635961a45febb01c5d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 14:39:41 2013 +0200
target-cris: Factor out CPUClass::gdb_read_register() hook for v10
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b50e790f9e9403d11b4164193b76530ee85a2a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 04:18:45 2013 +0200
cpu: Introduce CPUClass::gdb_{read,write}_register()
Completes migration of target-specific code to new target-*/gdbstub.c.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 986a2998932e978e63fc3b7ead1fef81f7aad52e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 13:05:05 2013 +0200
gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions
This avoids polluting the global namespace with a non-prefixed macro and
makes it obvious in the call sites that we return.
Semi-automatic conversion using, e.g.,
sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c
followed by manual tweaking for sparc's GET_REGA() and Coding Style.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 25d8ac0e31c3c68dfdd6da7c33b87870b4a3b623
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:57:38 2013 +0200
target-xtensa: Move cpu_gdb_{read,write}_register()
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0ff8d056d3aab93b4a7b7910f938652c2febc77
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:55:44 2013 +0200
target-lm32: Move cpu_gdb_{read,write}_register()
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cfae5c905a29128372e1f8ec4a29d70e1361d07b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:54:12 2013 +0200
target-s390x: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c3ce8eb3c50272d81bfea30ae9a9bd959fd68a54
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:52:32 2013 +0200
target-alpha: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213c19d69fb9c7537afb8539bbdf12dba90ba0ef
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:50:22 2013 +0200
target-cris: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eabfc2398f3e4e553843c15b1e3a3af2a52a7fcb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:45:47 2013 +0200
target-microblaze: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f93773241f99457a0957a43b2490be6f594cfa7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:42:52 2013 +0200
target-sh4: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30028739eb6b2e95b94b957f3b4f8f258da3aa88
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:40:38 2013 +0200
target-openrisc: Move cpu_gdb_{read,write}_register()
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b96919e068388309b655c7dc1afa41706d728efd
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Fri Jul 26 21:42:51 2013 +0100
sun4m: add display width and height to the firmware configuration
Currently the graphics resolution for TCX is fixed at 1024x768, however
other framebuffers are capable of supporting additional resolutions.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 405c97c3a5950d8a49b90cb977e33b6b3f9a8f95
Merge: 2fb861e... e340936...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 16:54:19 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (16) and Ian Main (2)
# Via Kevin Wolf
* kwolf/for-anthony:
Add tests for sync modes 'TOP' and 'NONE'
Implement sync modes for drive-backup.
Implement qdict_flatten()
blockdev: Split up 'cache' option
blockdev: Rename 'readonly' option to 'read-only'
qcow2: Use dashes instead of underscores in options
blockdev: Rename I/O throttling options for QMP
QemuOpts: Add qemu_opt_unset()
block: Allow "driver" option on the top level
qapi: Anonymous unions
qapi.py: Maintain a list of union types
qapi: Add consume argument to qmp_input_get_object()
qapi: Flat unions with arbitrary discriminator
qapi: Add visitor for implicit structs
docs: Document QAPI union types
qapi-visit.py: Implement 'base' for unions
qapi-visit.py: Split off generate_visit_struct_fields()
qapi-types.py: Implement 'base' for unions
Message-id: 1374870032-31672-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fb861eb02f0955876e15b3de1f9c2d1f469dcf2
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 22 15:33:37 2013 -0300
seccomp: removing unused syscalls gtom whitelist
v3 update:
- reincluding getrlimit(), it is used by Xen.
v2 update:
- reincluding setrlimit(), it is used by Xen.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1374518017-10424-3-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d7b2ad43603d6c130b64bdc064bb8572505bb25
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 22 15:33:36 2013 -0300
seccomp: no need to check arch in syscall whitelist
v2 update:
- set libseccomp 2.1.0 as requirement on configure script.
Since libseccomp 2.0 there's no need to check the architecture type
anymore.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1374518017-10424-2-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 814ac26c2d3820b85f05b696735d4e1e6d7d05aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:38:42 2013 +0200
target-mips: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c88de14ca45257feb82e23f3ff07e861010bd5ba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:33:56 2013 +0200
target-m68k: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58850dad68f3458cf430395db2e016f1d03ad7de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:32:15 2013 +0200
target-arm: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d19c87f44d8d7bac48d4b35863ae825f872ed54a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:29:26 2013 +0200
target-sparc: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0980bfabbc2e93d42c6b5ade578b371c36f6f23d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:26:33 2013 +0200
target-ppc: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f20f9df06e6f724d2ccdaf5f9a6dae45c061db75
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 12:07:54 2013 +0200
target-i386: Move cpu_gdb_{read,write}_register()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 23:18:47 2013 +0200
cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs
CPUState::gdb_num_regs replaces num_g_regs.
CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS.
Allows building gdb_register_coprocessor() for xtensa, too.
As a side effect this should fix coprocessor register numbering for SMP.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19a77215f1ba966c4d37dadec45f38be789b8529
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 11:52:52 2013 +0200
gdbstub: Drop dead code in cpu_gdb_{read,write}_register()
GET_REG*() macros include a return statement, thus no need for break.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 47d74ef57a0fe66fa2fdcce46b4daec4f60a1fc8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 11:17:26 2013 +0200
gdbstub: Fix cpu_gdb_{read,write}_register() Coding Style
Add braces, replace tabs, remove trailing whitespace, drop space before
parenthesis and place break etc. below case statements.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 67cce5617ee968946fc6402f02743fffaa4a1a02
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 01:47:51 2013 +0200
target-xtensa: Introduce XtensaCPU subclasses
Register a CPU type per core registered. Save the XtensaConfig in
XtensaCPUClass and copy it from there to CPUXtensaState, to avoid
touching every env->config access for now.
Prepares for storing per-class GDB register count.
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9282b73a4078f10b5d1c96707aeed213eedbc8e1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jul 26 17:48:06 2013 +0200
target-s390x: Fix CPUState rework fallout
Commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e
exec: Change cpu_memory_rw_debug() argument to CPUState
missed to update s390x KVM code, breaking the build.
Let's fix it up.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38e478eccfb1ace415914a331c8e1b16ae64b57f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 20:50:21 2013 +0200
kvm: Change prototype of kvm_update_guest_debug()
Passing a CPUState pointer instead of a CPUArchState pointer eliminates
the last target dependent data type in sysemu/kvm.h.
It also simplifies the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ac46af39ee84461782b6f096ba1a165c7b0e503
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jul 26 16:42:25 2013 +0200
linux-user: Avoid redundant ENV_GET_CPU()
This fixes a mismerge in 874ec3c5b3821bb964f9f37b2f930f2a9ce51652.
Acked-by: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e3409362bd64731e042c9d001e43cc1d13d2df5d
Author: Ian Main <imain@xxxxxxxxxx>
Date: Fri Jul 26 11:39:05 2013 -0700
Add tests for sync modes 'TOP' and 'NONE'
This patch adds tests for sync modes top and none. Test for 'TOP'
is separated out as it requires a backing file. Also added a test
for invalid format.
Signed-off-by: Ian Main <imain@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc5d3f843250c9d3bfa2bcfdb7369f4753a49f0e
Author: Ian Main <imain@xxxxxxxxxx>
Date: Fri Jul 26 11:39:04 2013 -0700
Implement sync modes for drive-backup.
This patch adds sync-modes to the drive-backup interface and
implements the FULL, NONE and TOP modes of synchronization.
FULL performs as before copying the entire contents of the drive
while preserving the point-in-time using CoW.
NONE only copies new writes to the target drive.
TOP copies changes to the topmost drive image and preserves the
point-in-time using CoW.
For sync mode TOP are creating a new target image using the same backing
file as the original disk image. Then any new data that has been laid
on top of it since creation is copied in the main backup_run() loop.
There is an extra check in the 'TOP' case so that we don't bother to copy
all the data of the backing file as it already exists in the target.
This is where the bdrv_co_is_allocated() is used to determine if the
data exists in the topmost layer or below.
Also any new data being written is intercepted via the write_notifier
hook which ends up calling backup_do_cow() to copy old data out before
it gets overwritten.
For mode 'NONE' we create the new target image and only copy in the
original data from the disk image starting from the time the call was
made. This preserves the point in time data by only copying the parts
that are *going to change* to the target image. This way we can
reconstruct the final image by checking to see if the given block exists
in the new target image first, and if it does not, you can get it from
the original image. This is basically an optimization allowing you to
do point-in-time snapshots with low overhead vs the 'FULL' version.
Since there is no old data to copy out the loop in backup_run() for the
NONE case just calls qemu_coroutine_yield() which only wakes up after
an event (usually cancel in this case). The rest is handled by the
before_write notifier which again calls backup_do_cow() to write out
the old data so it can be preserved.
Signed-off-by: Ian Main <imain@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f660dc6a2e97756596b2e79ce6127a3034f2308b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 17:11:58 2013 +0200
Implement qdict_flatten()
qdict_flatten(): For each nested QDict with key x, all fields with key y
are moved to this QDict and their key is renamed to "x.y". This operation
is applied recursively for nested QDicts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 29c4e2b50d95f4a15c3dd62b39f3402f05a34907
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 18 16:31:25 2013 +0200
blockdev: Split up 'cache' option
The old 'cache' option really encodes three different boolean flags into
a cache mode name, without providing all combinations. Make them three
separate options instead and translate the old option to the new ones
for drive_init().
The specific boolean options take precedence if the old cache option is
specified as well, so the following options are equivalent:
-drive file=x,cache=none,cache.no-flush=true
-drive file=x,cache.writeback=true,cache.direct=true,cache.no-flush=true
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0f227a947004aa9043d4386f4a47d6739499b88f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 19 20:07:29 2013 +0200
blockdev: Rename 'readonly' option to 'read-only'
Option name cleanup before it becomes a QMP API.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 64aa99d3e0333dea73d7505190659a02ca909292
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:45:34 2013 +0200
qcow2: Use dashes instead of underscores in options
This is what QMP wants to use. The options haven't been enabled in any
release yet, so we're still free to change them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 57975222b6a928dd4a4a8a7b37093cc8ecba5045
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:41:54 2013 +0200
blockdev: Rename I/O throttling options for QMP
In QMP, we want to use dashes instead of underscores in QMP argument
names, and use nested options for throttling.
The new option names affect the command line as well, but for
compatibility drive_init() will convert the old option names before
calling into the code that will be shared between -drive and
blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0dd6c5266313c861cf36476da86599d368ec41fc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 17 14:40:37 2013 +0200
QemuOpts: Add qemu_opt_unset()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 9 11:09:02 2013 +0200
block: Allow "driver" option on the top level
This is traditionally -drive format=..., which is now translated into
the new driver option. This gives us a more consistent way to select the
driver of BlockDriverStates that can be used in QMP context, too.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 69dd62dfd60631ba69201d8a197fde1ece4b4df3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 16:14:21 2013 +0200
qapi: Anonymous unions
The discriminator for anonymous unions is the data type. This allows to
have a union type that allows both of these:
{ 'file': 'my_existing_block_device_id' }
{ 'file': { 'filename': '/tmp/mydisk.qcow2', 'read-only': true } }
Unions like this are specified in the schema with an empty dict as
discriminator. For this example you could take:
{ 'union': 'BlockRef',
'discriminator': {},
'data': { 'definition': 'BlockOptions',
'reference': 'str' } }
{ 'type': 'ExampleObject',
'data: { 'file': 'BlockRef' } }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit ea66c6d8819c8fc5f73a28554992be64e5399fed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 16 10:49:41 2013 +0200
qapi.py: Maintain a list of union types
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e8316d7e8e8339a9ea593ba821a0aad26908c0d5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 8 11:33:07 2013 +0200
qapi: Add consume argument to qmp_input_get_object()
This allows to just look at the next element without actually consuming
it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 50f2bdc75c5ee00617ad874c9ceac2cea660aa1e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 3 15:58:57 2013 +0200
qapi: Flat unions with arbitrary discriminator
Instead of the rather verbose syntax that distinguishes base and
subclass fields...
{ "type": "file",
"read-only": true,
"data": {
"filename": "test"
} }
...we can now have both in the same namespace, allowing a more direct
mapping of the command line, and moving fields between the common base
and subclasses without breaking the API:
{ "driver": "file",
"read-only": true,
"filename": "test" }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 761d524dbcc5bb41213dd0f238f43c273bc2b077
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 3 15:52:42 2013 +0200
qapi: Add visitor for implicit structs
These can be used when an embedded struct is parsed and members not
belonging to the struct may be present in the input (e.g. parsing a
flat namespace QMP union, where fields from both the base and one
of the alternative types are mixed in the JSON object)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 51631493e4876081ae27078b50bd95bd4418bf37
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 16 13:17:27 2013 +0200
docs: Document QAPI union types
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0aef92b90d24858eea1ebd52a51bc31563f1fb52
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 16:20:04 2013 +0200
qapi-visit.py: Implement 'base' for unions
This implements the visitor part of base types for unions. Parsed into
QMP, this example schema definition...
{ 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } }
{ 'type': 'BlockOptionsQcow2, 'data': { 'lazy-refcounts': 'bool' } }
{ 'union': 'BlockOptions',
'base': 'BlockOptionsBase',
'data': {
'raw': 'BlockOptionsRaw'
'qcow2': 'BlockOptionsQcow2'
} }
...would describe the following JSON object:
{ "type": "qcow2",
"read-only": true,
"data": { "lazy-refcounts": false } }
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d131c897f3dea8b76d7a487af0f7f5f11d0500a3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 16:18:35 2013 +0200
qapi-visit.py: Split off generate_visit_struct_fields()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e2503f5e213e30e3e9a397d454a35c10b5bdc899
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 12:18:47 2013 +0200
qapi-types.py: Implement 'base' for unions
The new 'base' key in a union definition refers to a struct type, which
is inlined into the union definition and can represent fields common to
all kinds.
For example the following schema definition...
{ 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } }
{ 'union': 'BlockOptions',
'base': 'BlockOptionsBase',
'data': {
'raw': 'BlockOptionsRaw'
'qcow2': 'BlockOptionsQcow2'
} }
...would result in this generated C struct:
struct BlockOptions
{
BlockOptionsKind kind;
union {
void *data;
BlockOptionsRaw * raw;
BlockOptionsQcow2 * qcow2;
};
bool read_only;
};
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f0ef1cf4d6c996d90df6e4a32a82423d180f3e4d
Merge: b142d79... f290e49...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 13:04:21 2013 -0500
Merge remote-tracking branch 'rth/tcg-next' into staging
# By Claudio Fontana (1) and others
# Via Richard Henderson
* rth/tcg-next:
tcg: Remove temp_buf
tcg/aarch64: Implement tlb lookup fast path
tcg/aarch64: implement ldst 12bit scaled uimm offset
Message-id: 1373919944-8521-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b142d79328cd0a0556634b0eeb891a15bfd5a00c
Merge: 003e26b... 9b146e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 26 13:04:07 2013 -0500
Merge remote-tracking branch 'jliu/or32' into staging
# By Jia Liu
# Via Jia Liu
* jliu/or32:
target-openrisc: Free typename in openrisc_cpu_class_by_name
hw/openrisc: Use stderr output instead of qemu_log
hw/openrisc: Indent typo
Message-id: 1374576458-22808-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 003e26bc9f7c4f5cd90e046ae112c1d09363b8d1
Merge: d1ed9f4... 340d51d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:58:29 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-7-25' into staging
# By Laszlo Ersek
# Via Michael Roth
* mdroth/qga-pull-2013-7-25:
qga: escape cmdline args when registering win32 service (CVE-2013-2231)
ga_install_service(): nest error paths more idiomatically
qga/service-win32.c: diagnostic output should go to stderr
Message-id: 1374784644-29078-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
commit d1ed9f412d866106e6370e9a8b23d79baa750b61
Merge: 874ec3c... 41b8280...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:56:36 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.3:
seabios: update to 1.7.3
Message-id: 1374673573-25074-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 874ec3c5b3821bb964f9f37b2f930f2a9ce51652
Merge: d2f5ea9... a033381...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 25 15:56:06 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
* riku/linux-user-for-upstream: (21 commits)
linux-user: Handle compressed ISA encodings when processing MIPS
exceptions
linux-user: Unlock mmap_lock when resuming guest from page_unprotect
linux-user: Reset copied CPUs in cpu_copy() always
linux-user: Fix epoll on ARM hosts
linux-user: fix segmentation fault passing with h2g(x) != x
linux-user: Fix pipe syscall return for SPARC
linux-user: Fix target_stat and target_stat64 for OpenRISC
linux-user: Avoid conditional cpu_reset()
configure: Make NPTL non-optional
linux-user: Enable NPTL for x86-64
linux-user: Add i386 TLS setter
linux-user: Clean up handling of clone() argument order
linux-user: Add missing 'break' in i386 get_thread_area syscall
linux-user: Enable NPTL for m68k
linux-user: Enable NPTL for SPARC targets
linux-user: Enable NPTL for OpenRISC
linux-user: Move includes of target-specific headers to end of qemu.h
configure: Enable threading for unicore32-linux-user
configure: Enable threading on all ppc and mips linux-user targets
configure: Don't say target_nptl="no" if there is no linux-user target
...
Conflicts:
linux-user/main.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 340d51df5592c5c11fc3885f7bdedbe581b87366
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:10 2013 +0200
qga: escape cmdline args when registering win32 service (CVE-2013-2231)
Reported-by: Lev Veyde <lveyde@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 108365fdb0042454413d2610ffe7194003ba4ae9
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:09 2013 +0200
ga_install_service(): nest error paths more idiomatically
Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit febf1c49be1bd80d7c95653fc0caa87d250b2c72
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Jul 3 15:14:08 2013 +0200
qga/service-win32.c: diagnostic output should go to stderr
Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d2f5ea9704af781d4cf14e4be08bb4e37a180260
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:38 2013 +0200
pc-testdev: add I/O port to test memory.c auto split/combine
The ports at 0xe8..0xeb have impl.min/max_access_size == 1, so
that memory accesses are split and combined by the memory core.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-29-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7342aa39b3193473ded24cbf2233930665796e9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:37 2013 +0200
memory: check memory region endianness, not target's
When combining multiple accesses into a single value, we need to do so
in the device's desired endianness. The target endianness does not have
any influence.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-28-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 547e9201c52629eef71b0eb8cb48dacc50bcf759
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:36 2013 +0200
memory: pass MemoryRegion to access_with_adjusted_size
The accessors all use a MemoryRegion opaque value. Avoid going
uselessly through void*.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-27-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e11ef3d184c88a316f48ba2472dcb2937d9fa24b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:35 2013 +0200
memory: move functions around
Prepare for next patch, no semantic change.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-26-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fefa31be98ada3677add2008732d0b1a17ed28d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:34 2013 +0200
qtest: add test for ISA I/O space endianness
This writes a register and reads its 1/2/4 byte parts. Masking
is done in the device model.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-25-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9c9984242ce46ccf8636f5c19e81d794e84aa0c7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:33 2013 +0200
default-configs/ppc64: add all components of i82378 SuperIO chip used by
prep
The device provides an ISA bus so that pseries can also run the
endianness test.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-24-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85d3846a397e8fa95de0a84479007172e6d30668
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:32 2013 +0200
default-configs: add SuperIO to SH4
The device provides an ISA bus to run the endianness test on.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-23-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be6d08be25d38185ab7de02fab1b2ac74991741b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:31 2013 +0200
default-configs: add test device to all machines supporting ISA
This will let these machines run an endianness test for ISA
I/O port space.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-22-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b8fbcd87007a170a9778ec6645c06f543977067
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:30 2013 +0200
sparc64: unbreak
... by making apb a subclass of TYPE_PCI_HOST_BRIDGE.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-21-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b23ea25f5098f576d10a8833bc60b8f8394f9b0b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:29 2013 +0200
sh4: unbreak r2d
... by making sh_pci a subclass of TYPE_PCI_HOST_BRIDGE.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-20-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b332d24a8e1290954029814d09156b06ede358e2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:28 2013 +0200
mips: degrade BIOS error to warning
No free MIPS BIOS is available, so it makes little sense to quit.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-19-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 504054357b7e491e0bc354ee5c8061071e51fc61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:27 2013 +0200
pc-testdev: remove useless cpu_to_le64/le64_to_cpu
So far the device was only used on little-endian machines.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-18-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7faba71635cc4b16bb1472614aa497554797af6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:26 2013 +0200
pc-testdev: support 8 and 16-bit accesses to 0xe0
This will let us use the testdev to test endianness.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-17-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f36a6382b8fb9677fd542b9c59b1ea1ad40ee9cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:25 2013 +0200
Revert "ioport: remove LITTLE_ENDIAN mark for portio"
This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5.
The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN
endianness now works and will soon be unit tested. Since the PortioList
indirection assumes little endian, define portio_ops the same way.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-16-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61fcb628627ea464dc1954f615ae13edfefd284f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:24 2013 +0200
isa_mmio: delete
It is not used anymore.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-15-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a70e094cd05c35dddfe471fd96266d02ac0dade
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:23 2013 +0200
ebus: do not use isa_mmio
This is untested, because ebus does not have a libqos module.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-14-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5519ad0c245860526e8d269e1cd20fe239447736
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:22 2013 +0200
sparc64: remove indirection for I/O port access
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-13-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e37b80faa60c81e958d560c937e5f29b13977627
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:21 2013 +0200
mips_fulong2e: do not use isa_mmio
This board is little-endian, but still isa_mmio should die. :)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-12-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bdb75c79878c7a23a7891124d50483329dd8924d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:20 2013 +0200
mipssim: do not use isa_mmio
Untested, this board does not support PCI so it cannot run
endianness-test.
It should fix endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-11-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 685015021774e98b87ed48ac2c55dfd3917fd820
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:19 2013 +0200
ppc440_bamboo: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-10-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ee77854fa52b8cc7c9a0d318be467a5b5741bc04
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:18 2013 +0200
mips_malta: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-9-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3959496874e7d1ee84e3428ddf1a10dfef972c1d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:17 2013 +0200
mips_r4k: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-8-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f51100cc51f29b51aeafb5b56518a75e76e53024
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:16 2013 +0200
mips_jazz: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 921f8040d39a5f34d4b6bfd6e547c4cfcd3c1992
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:15 2013 +0200
prep: fix I/O port endianness
Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66aab867cedd2a2d81b4d64eff7c3e0f6f272bbf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 22 15:54:14 2013 +0200
spapr_pci: remove indirection for I/O port access
This fixes endianness bugs in I/O port access.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b1096e02d32e4c3b5a51e767836d9511132a928
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:13 2013 +0200
ppc_newworld: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d52857ea5677c1b013a289e2e44db24961a59b0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:12 2013 +0200
ppc_oldworld: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4759ab6b2d1b99714bb12409a6021e7a9d0bd473
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 22 15:54:11 2013 +0200
sh4: do not use isa_mmio
This fixes endianness bugs in I/O port access (for sh4eb).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1374501278-31549-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 41b8280a1c089f621f94db4fad7a37c6080430b3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jul 24 15:32:31 2013 +0200
seabios: update to 1.7.3
Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3):
Alex Williamson (4):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function
pciinit: Enable default VGA device
Asias He (2):
virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
Avik Sil (1):
USB-EHCI: Fix null pointer assignment
Christian Gmeiner (5):
geodevga: fix errors in geode_fp_* functions
geodevga: move framebuffer setup
geodevga: move output setup to own function
geodevga: add debug to msr functions
geodevga: fix wrong define name
David Woodhouse (26):
Add macros for pushing and popping struct bregs
Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if
CONFIG_COREBOOT is
post: Export functions which will be used individually by CSM
Export callrom() for CSM to use
Export copy_smbios() from biostables.c
Import LegacyBios.h from OVMF
Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
Add pic_save_mask() and pic_restore_mask() functions
Add CSM support
Add README.CSM
Add find_pmtimer() function
Enable PMTIMER for CSM build
Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
Don't calibrate TSC if PMTIMER is already set up
Move find_pmtimer() to ACPI table setup where it logically belongs
Use find_pmtimer() after copying Xen ACPI tables
Use find_pmtimer() after copying coreboot ACPI tables
Unify return path for CSM to go via csm_return()
Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
Implement !CONFIG_OPTIONROMS support for CSM
Implement !CONFIG_BOOT for CSM
Enable VGA output when settings bochs-specific mode
Disable CONFIG_THREAD_OPTIONROMS for CSM build
Fix return type of le64_to_cpu() and be64_to_cpu()
Rename find_pmtimer() to find_acpi_features()
Add acpi_reboot() reset method using RESET_REG
Gerd Hoffmann (3):
config: allow DEBUG_IO for !QEMU
coreboot: add qemu detection
tweak coreboot qemu detection
Hu Tao (1):
Add pvpanic device driver
Kevin O'Connor (99):
pmm: Use 'struct segoff_s' in pmm header.
Minor: Update README - variable changes are now reset on
soft-reboots.
Normalize POST initialization function name suffixes.
POST: Reorganize post init functions for better grouping and
reusability.
Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
Support calling a function other than maininit() from
reloc_preinit().
Ensure exported symbols are visible in the final link
POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
POST: Reorganize post entry and "preinit" functions.
POST: Move cpu caching and dma setup to platform_hardware_setup().
Undo incorrect assumptions about Xen in commit 6ca0460f.
Determine century during init and store in VARLOW mem during
runtime.
No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
Add runningOnQEMU() and runningOnXen() for runtime platform
detection.
Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
Convert kvm_para_available() to runningOnKVM().
Minor - move definitions to paravirt.c from paravirt.h.
Only perform SMP setup on QEMU.
Start device_hardware_setup in mainint even with
CONFIG_THREAD_OPTIONROMS.
The mathcp setup touches the PIC and thus move to the "setup" phase.
Update tools/acpi_extract.py to handle iasl 20130117 release.
Support skipping content when reading from QEMU fw_cfg romfile
entries.
Convert fw_cfg ACPI entries into romfile entries.
Convert fw_cfg SMBIOS entries into romfile entries.
Convert basic integer fw_cfg entries into romfile entries.
Convert fw_cfg NUMA entries into a romfile entry.
Process fw_cfg e820 entries during the fw_cfg setup stage.
Integrate qemu_cfg_preinit() into qemu_romfile_init().
Group QEMU platform setup together and move to paravirt.c.
vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
Warn on unaligned PCI ROM structure in option roms.
Fix Makefile - don't reference "out/" directly, instead use
"$(OUT)".
build: Don't require $(OUT) to be a sub-directory of the main
directory.
Rename rom_get_top() to rom_get_max().
Report on f-segment UMB ram also.
Clarify build generated "zone low" values.
Verify CC is valid during build tests.
Disable handle_post() on CSM builds.
Remove unnecessary "export" declarations from assembler functions.
Minor assembler enhancements to __csm_return.
Introduce VARFSEG for variables that will reside in the f-segment.
Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
Don't relocate "varlow" variable references at runtime.
Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
Calculate "RamSize" needed by 16bit interface dynamically.
Eliminate separate BiosTableSpace[] space for f-segment allocations.
Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
Try to detect an unsuccessful hard-reboot to prevent soft-reboot
loops.
Minor - fix confusing final_sec32low_start name in layoutrom.py.
Minor - introduce numeric defines for the IVT offset of hw irqs.
Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry
point.
Support using the "extra stack" for all 16bit irq entry points.
Minor - improve comments and grouping of handle_08().
floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
floppy: Cleanup floppy irq wait handling.
floppy: Clean up Check Interrupt Status code.
floppy: Move recalibration and results parsing to floppy_cmd().
floppy: Improve floppy_pio() error checking.
floppy: Implement media format sensing.
floppy: Actually do controller reset in floppy_reset().
Minor - note that passing QEMU config via cmos is deprecated.
Cache boot-fail-wait to avoid romfile access after POST.
Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
acpi: Eliminate BDAT parameter passing to DSDT code.
Add additional dependency checks to Makefile.
Don't use __FILE__ in virtio-ring.c.
shadow: Don't use PCIDevices list in make_bios_readonly().
smm: Don't use PCIDevices list in smm_setup().
Add VARVERIFY32INIT attribute for variables only available during
"init".
Use VARVERIFY32INIT on global variables that point to "tmp" memory.
vgabios: Fix stdvga_perform_gray_scale_summing().
vgabios: Fix cirrus memory clear on mode switch.
Minor - add missing newline to floppy debug statement.
Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
Update README - copy *.aml files for QEMU.
Add dependencies to vgafixup.py and buildversion.sh scripts.
Set ZF prior to keyboard read call in check_for_keystroke().
mptable: Don't describe pci-to-pci bridges.
mptable: Use same PCI irqs as ACPI code.
Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile
entries.
Use container_of on romfile entries.
acpi: Move ACPI table definitions from acpi.c to acpi.h.
acpi: Remove dead code with descriptions of bit flags.
acpi: Use cpu_to_leXX() consistently.
Minor - explicitly close files in buildrom.py.
Minor - move "tracked memory alloc" code in pmm.c.
Introduce and convert pmm code to use standard list helpers.
Minor - relocate code in stacks.c to keep low-level thread code
together.
Introduce helper function have_threads() in stacks.c.
Convert stacks.c to use standard list manipulation code.
Convert boot.c to use standard list manipulation code.
Convert pciinit.c to use standard list manipulation code.
Convert PCIDevices list to use standard list manipultion code.
Revert "Convert pciinit.c to use standard list manipulation code."
Fix error in hlist_for_each_entry_safe macro.
Convert pciinit.c to use standard list manipulation code.
make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
Another fix for hlist_for_each_entry_safe.
Minor - remove debugging dprintf added to pciinit.c.
Laszlo Ersek (1):
Enable VGA output when setting Cirrus-specific mode
Michael S. Tsirkin (1):
acpi: make default DSDT optional
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0cd8eaa011eac66e45ce51cab4a857b175152625
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:44 2013 +0200
po/Makefile: Use macro quiet-command for nice looking messages
Suppress also the "... done" message from msgmerge.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1fa449231832d0fb7f20a3d7ecd06190ce906529
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:43 2013 +0200
po/Makefile: Fix generation of messages.po
* Tell xgettext that we use UTF-8 encoding (this is currently optional).
* Set charset=UTF-8 in messages.po. This avoids warnings from msgmerge:
warning: Charset "CHARSET" is not a portable encoding name.
* Use filename relative to root directory (ui/gtk.c instead of ../ui/gtk.c
or $(SRC_PATH)/ui/gtk.c) for comments in *.po files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 00134a62039a12822cda91310131cc050f78cf9b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:42 2013 +0200
po/Makefile: Fix *.mo generation for out-of-tree builds (regression)
Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard search
for *.po files. This search found no files for out of tree builds, so
those builds no longer created and installed *.mo files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 18e12d49edd4417a93f875e122652bd22aabad79
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 22:55:41 2013 +0200
po/Makefile: Fix and improve help message
The help message contains single quotes which got lost in the output.
Fix also a typo and use two instead of three lines.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f03d07d4683b2e8325a7cb60b4e14b977b1a869c
Merge: 3988982... 9781c37...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:57:23 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Michael R. Hines (8) and others
# Via Juan Quintela
* quintela/migration.next:
migration: add autoconvergence documentation
Fix real mode guest segments dpl value in savevm
Fix real mode guest migration
rdma: account for the time spent in MIG_STATE_SETUP through QMP
rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state
transition
rdma: allow state transitions between other states besides ACTIVE
rdma: send pc.ram
rdma: core logic
rdma: introduce ram_handle_compressed()
rdma: bugfix: ram_control_save_page()
rdma: update documentation to reflect new unpin support
Message-id: 1374590725-14144-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3988982c82ad4173dea376fea30e5432d36146db
Merge: 931f0ad... 6f152e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:57:04 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix NULL pointer dereference in gdbstub
* Introduce vaddr type
* Introduce CPUClass::set_pc()
* Introduce CPUClass::synchronize_from_tb()
* Introduce CPUClass::get_phys_page_debug()
* Introduce CPUClass::memory_rw_debug()
* Move singlestep_enabled and gdb_regs fields out of CPU_COMMON
* Adopt CPUState in more APIs
* Propagate CPUState in gdbstub
# gpg: Signature made Mon 22 Jul 2013 07:50:17 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (21) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (24 commits)
linux-user: Use X86CPU property to retrieve CPUID family
gdbstub: Change gdb_register_coprocessor() argument to CPUState
cpu: Move gdb_regs field from CPU_COMMON to CPUState
gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState
cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()
exec: Change cpu_memory_rw_debug() argument to CPUState
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
gdbstub: Change gdb_{read,write}_register() argument to CPUState
gdbstub: Change gdb_handlesig() argument to CPUState
gdbstub: Change syscall callback argument to CPUState
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
cpu: Change cpu_single_step() argument to CPUState
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
target-alpha: Copy implver to DisasContext
target-alpha: Copy singlestep_enabled to DisasContext
cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb()
target-unicore32: Implement CPUClass::set_pc()
target-moxie: Implement CPUClass::set_pc()
target-m68k: Implement CPUClass::set_pc()
...
commit 931f0adf64261bf7eb3efaafb4430c04a6a3e6f6
Merge: 3464700... 52785d9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jul 23 10:56:55 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Avoid TYPE_* in VMStateDescription name
* Replace some DO_UPCAST()s and FROM_SYSBUS()s with QOM casts
* Limit legacy SCSI command line handling to non-hotplugged devices
* Replace some SysBusDeviceClass::init with DeviceClass::realize
# gpg: Signature made Mon 22 Jul 2013 06:31:42 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Hu Tao (26) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (55 commits)
isa-bus: Drop isabus_bridge_init() since it does nothing
ioapic: Use QOM realize for ioapic
kvmvapic: Use QOM realize
kvm/clock: Use QOM realize for kvmclock
hpet: Use QOM realize for hpet
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
megasas: Legacy command line handling fix
scsi/esp: Use QOM realize for scsi esp
fw_cfg: Use QOM realize for fw_cfg
ahci: Use QOM realize for ahci
pflash_cfi02: Use QOM realize for pflash_cfi02
pflash_cfi01: Use QOM realize for pflash_cfi01
fdc: Improve error propagation for QOM realize
fdc: Use QOM realize for fdc
kvm/clock: QOM'ify some more
hpet: QOM'ify some more
scsi/esp: QOM'ify some more
fwcfg: QOM'ify some more
ahci: QOM'ify some more
pflash-cfi02: QOM'ify some more
...
commit a033381758841837edaf307e20edf019c5900609
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri Jul 19 09:21:44 2013 -0700
linux-user: Handle compressed ISA encodings when processing MIPS
exceptions
Decode trap instructions during the handling of an EXCP_BREAK or EXCP_TRAP
according to the current ISA mode.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d02532f08e207419e412ea7cd4eb8b36f04f426d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:57 2013 +0200
linux-user: Unlock mmap_lock when resuming guest from page_unprotect
The page_unprotect() function is running everything locked. Before every
potential exit path of the function mmap_unlock() gets called to make sure
we don't leak the lock.
However, the function calls tb_invalidate_phys_page() which again can
exit a signal through longjmp, leaving our mmap_unlock() attempts in vain.
Add a hint to tb_invalidate_phys_page() that we need to unlock before we
can leave back into guest context, so that we don't leak the lock.
This fixes 16-bit i386 wine programs running in linux-user for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b24c882b9435d0745679a96571027a2c92065e4f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:51 2013 +0200
linux-user: Reset copied CPUs in cpu_copy() always
When a new thread gets created, we need to reset non arch specific state
to
get the new CPU into clean state.
However this reset should happen before the arch specific CPU contents get
copied over. Otherwise we end up having clean reset state in our newly
created
thread.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ddaa7e5a2ad0ef20fd3d1cc44a9ade75e5eabcfc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:53 2013 +0200
linux-user: Fix epoll on ARM hosts
The epoll emulation uses data structures without packing them, so the
compiler might choose to add padding inside.
This patch makes the most offending one (target_epoll_event) a packed
structure to make sure we don't pad it by accident. ARM would pad it,
so declare the padding mandatory for ARM targets.
This fixes i386-on-ARM epoll emulation for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 732f9e89a1c737f738c445ff24929a1bc137d1a9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jul 6 14:17:49 2013 +0200
linux-user: fix segmentation fault passing with h2g(x) != x
When forwarding a segmentation fault into the guest process, we were
passing
the host's address directly into the guest process's signal descriptor.
That obviously confused the guest process, since it didn't know what to
make
of the (usually 32-bit truncated) address. Passing in h2g(address) makes
the
guest process a lot happier.
To make the code more obvious, introduce a h2g_nocheck() macro that does
the
same as h2g(), but allows us to convert addresses that may be outside of
guest
mapped range into the guest's view of address space.
This fixes java running in arm-linux-user for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 82f05b69e6b701157b4a2e7d76ae6cf5542d66c9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jul 6 17:39:48 2013 +0100
linux-user: Fix pipe syscall return for SPARC
SPARC is one of the CPUs which has a funny syscall ABI for the
pipe syscall; add it to the set of special cases in do_pipe().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit c7819dfbd22be6a3711f11056f33300e881563d5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jul 6 21:44:53 2013 +0100
linux-user: Fix target_stat and target_stat64 for OpenRISC
OpenRISC uses the asm-generic versions of target_stat and
target_stat64, but it was incorrectly using the x86/ARM/etc version
due to a misplaced defined(TARGET_OPENRISC). The previously unused
OpenRISC section of the ifdef ladder also defined an incorrect
target_stat and omitted the target_stat64 definition. Fix
target_stat, provide target_stat64, and add a comment noting that
these are the asm-generic versions for the benefit of future ports.
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9781c3716a4b529a2af64502926a57c11e69e6ca
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 23 15:21:09 2013 +0200
migration: add autoconvergence documentation
This hunk got lost during merge. It is documentation.
Spotted-by: Peter Lieven <lieven-lists@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3e47c249b93d5cc1e0f9404dbe243682598ba8fb
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Jul 22 20:29:42 2013 +0300
Fix real mode guest segments dpl value in savevm
Older KVM version put invalid value in the segments registers dpl field
for
real mode guests (0x3).
This breaks migration from those hosts to hosts with unrestricted guest
support.
We detect it by checking CS dpl value for real mode guest and fix the dpl
values
of all the segment registers.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 444ba6797ef6ef331fe9fd34309b1ec59caaede3
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Jul 22 20:29:41 2013 +0300
Fix real mode guest migration
Older KVM versions save CS dpl value to an invalid value for real mode
guests
(0x3). This patch detect this situation when loading CPU state and set
all the
segments dpl to zero.
This will allow migration from older KVM on host without unrestricted
guest
to hosts with restricted guest support.
For example migration from a Penryn host (with kernel 2.6.32) to
a Westmere host (for real mode guest) will fail with "kvm: unhandled exit
80000021".
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ed4fbd10823a7b0dbded6b481a68973e47f7e14d
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:58 2013 -0400
rdma: account for the time spent in MIG_STATE_SETUP through QMP
Using the previous patches, we're now able to timestamp the SETUP
state. Once we have this time, let the user know about it in the
schema.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 29ae8a4133082e16970c9d4be09f4b6a15034617
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:57 2013 -0400
rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition
As described in the previous patch, until now, the MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
(what we're calling 'NONE' here) and QEMU has been unconditionally
transitioning
into this state when the QMP migration command was called. Instead we
want to
introduce MIG_STATE_NONE, which is our starting state in the state
machine, and
then immediately transition into the MIG_STATE_SETUP state when the QMP
migrate
command is issued.
In order to do this, we must delay the transition into MIG_STATE_ACTIVE
until
later in the migration_thread(). This is done to be able to timestamp the
amount of
time spent in the SETUP state for proper accounting to the user during
an RDMA migration.
Furthermore, the management software, until now, has never been aware of
the
existence of the SETUP state whatsoever. This must change, because,
timing of this
state implies that the state actually exists.
These two patches cannot be separated because the 'query_migrate' QMP
switch statement needs to know how to handle this new state transition.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d58f574bf39796ed2396dfd1e308352fbb03f944
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:56 2013 -0400
rdma: allow state transitions between other states besides ACTIVE
This patch is in preparation for the next ones: Until now the
MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
and QEMU has been unconditionally transitioning into this state when
the QMP migrate command was called. In preparation for timing this state,
we have to make this state a a 'real' state which actually gets
transitioned
from later in the migration_thread() from SETUP => ACTIVE, rather than
just
automatically dropping into this state at the beginninig of the migration.
This means that the state transition function
(migration_finish_set_state())
needs to be capable of transitioning from valid states _other_ than just
MIG_STATE_ACTIVE.
The function is in fact already capable of doing that, but was not
allowing the
old state to be a parameter specified as an input.
This patch fixes that and only makes the transition if the current state
matches the old state that the caller intended to transition from.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9b146e9a28bbd9567f5ac6a8e2bcb543aa3b9392
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:32:30 2013 +0800
target-openrisc: Free typename in openrisc_cpu_class_by_name
We should free typename here.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 4284c0517b12f03da59250a23ee7e9c3581e89c4
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:31:24 2013 +0800
hw/openrisc: Use stderr output instead of qemu_log
We should use stderr output instead of qemu_log in order to output ErrMsg
onto the screen.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 68f1282882fe3b43b4bc323e03545dc019e2d19a
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 23 18:30:09 2013 +0800
hw/openrisc: Indent typo
Indent typo.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 0033b8b42a1cc2a9350619ea19e11954b12fb819
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:55 2013 -0400
rdma: send pc.ram
This takes advantages of the previous patches:
1. use the new QEMUFileOps hook 'save_page'
2. call out to the right accessor methods to invoke
the iteration hooks defined in QEMUFileOps
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2da776db4846eadcb808598a5d3484d149773c05
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:54 2013 -0400
rdma: core logic
Code that does need to be visible is kept
well contained inside this file and this is the only
new additional file to the entire patch.
This file includes the entire protocol and interfaces
required to perform RDMA migration.
Also, the configure and Makefile modifications to link
this file are included.
Full documentation is in docs/rdma.txt
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 44c3b58cf9b2c91a38363f0b45d20f3f40b8f2b3
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:53 2013 -0400
rdma: introduce ram_handle_compressed()
This gives RDMA shared access to madvise() on the destination side
when an entire chunk is found to be zero.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit de7b685c9e1cf606e37e7116e4c4f03a6ae2d14f
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:52 2013 -0400
rdma: bugfix: ram_control_save_page()
We were not checking for a valid 'bytes_sent' pointer before accessing it.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a5f56b906e0d7975b87dc3d3c5bfe5a75a4028d2
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Mon Jul 22 10:01:51 2013 -0400
rdma: update documentation to reflect new unpin support
As requested, the protocol now includes memory unpinning support.
This has been implemented in a non-optimized manner, in such a way
that one could devise an LRU or other workload-specific information
on top of the basic mechanism to influence the way unpinning happens
during runtime.
The feature is not yet user-facing, and is thus can only be enabled
at compile-time.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f152e9bc80aed81ea89aa8ad345cd71326b71fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 18 00:01:58 2012 +0200
linux-user: Use X86CPU property to retrieve CPUID family
Avoids duplicating the calculation.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22169d415a1d1706f66a4fd50a3573d3f296b24f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 21:27:39 2013 +0200
gdbstub: Change gdb_register_coprocessor() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eac8b355f0015e44addce3e92030365b16d9da61
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 21:11:37 2013 +0200
cpu: Move gdb_regs field from CPU_COMMON to CPUState
Prepares for changing gdb_register_coprocessor() argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2e0f2cfba6c2169c07358e473841ec211009dd3c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:19:39 2013 +0200
gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState
Use CPUState::env_ptr where still needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3659eee05793aede68b1791465fb2b0767bc1f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:09:09 2013 +0200
cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()
Make inline target_memory_rw_debug() always available and change its
argument to CPUState. Let it check if CPUClass::memory_rw_debug provides
a specialized callback and fall back to cpu_memory_rw_debug() otherwise.
The only overriding implementation is for 32-bit sparc.
This prepares for changing GDBState::g_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 19:40:58 2013 +0200
exec: Change cpu_memory_rw_debug() argument to CPUState
Propagate X86CPU in kvmvapic for simplicity.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 00b941e581b5c42645f836ef530705bb76a3e6bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jun 29 18:55:54 2013 +0200
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
Change breakpoint_invalidate() argument to CPUState alongside.
Since all targets now assign a softmmu-only field, we can drop helpers
cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd().
Prepares for changing cpu_memory_rw_debug() argument to CPUState.
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 385b9f0e4d8c60037c937edd7a3735fff7570429
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 18:25:36 2013 +0200
gdbstub: Change gdb_{read,write}_register() argument to CPUState
Use CPUState::env_ptr for now.
Prepares for changing GDBState::g_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db6b81d43693cec86d62df79dd7402fc045427ed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 19:49:31 2013 +0200
gdbstub: Change gdb_handlesig() argument to CPUState
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e0c5422cfbed78990e2edc9d68928647829f5ac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 17:45:01 2013 +0200
gdbstub: Change syscall callback argument to CPUState
Callback implementations were specific to arm and m68k, so can easily
cast to ARMCPU and M68kCPU respectively.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6227881415e0e0117d56aef90cf6e72f24187ec1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 17:12:06 2013 +0200
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
CPUArchState is no longer directly used since converting CPU loops to
CPUState.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3825b28ff128e2bd3cb0a338c21923c926b1f38b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 18:41:06 2013 +0200
cpu: Change cpu_single_step() argument to CPUState
Use CPUState::env_ptr for now.
Needed for GdbState::c_cpu.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ca666c765e9e92217a87669365b212abae6f9ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 19:20:57 2013 +0200
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
In particular reindent to 4 instead of 2 spaces.
Prepares for changing cpu_single_step() argument in gdb_handlesig().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ed2803da58355413447f8c7c681a76873168114f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 20:20:45 2013 +0200
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
Prepares for changing cpu_single_step() argument to CPUState.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 801c4c287b7d85fe8447900f78a9a6ab89d00271
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 1 13:19:30 2013 -0700
target-alpha: Copy implver to DisasContext
Which allows removing env from DisasContext.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca6862a67f3c03e5efe26cf45b54c6176e4db5c3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 1 13:19:29 2013 -0700
target-alpha: Copy singlestep_enabled to DisasContext
Prepare for removing env from DisasContext.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdf7ae5bbdb3f050d97862b2ba0261fa902ebc53
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 19:31:32 2013 +0200
cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb()
Where no extra implementation is needed, fall back to CPUClass::set_pc().
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b42eab27beaefd5c9bf9353383d6403e0628c014
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 19:41:07 2013 +0200
target-unicore32: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a10b978c4246bf9af0e34505aba500d3e7f6c6c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 20:43:26 2013 +0200
target-moxie: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e700604df024ec5028f476b133ca337c4d7ee518
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 28 20:35:01 2013 +0200
target-m68k: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f45748f10eda61d6262153fadf3910cb63e17ecd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 19:09:18 2013 +0200
cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc()
This moves setting the Program Counter from gdbstub into target code.
Use vaddr type as upper-bound replacement for target_ulong.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2be8d4509896116dae7b3b9dffc0fccef480126d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 22 18:34:35 2013 +0200
HACKING: Document vaddr type usage
Also extend documentation of target_ulong and abi_ulong.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 577f42c0e11a5bfb462ff3a217701cd5c4356fb4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jul 6 03:14:52 2013 +0200
cpu: Introduce vaddr type
vaddr is to target_ulong what uintmax_t is to unsigned int.
Its purpose is to allow turning per-target functions with target_ulong
arguments into CPUClass hooks.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52f34623b499cb0273118b1f637c2c6ebaf5d5a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 27 13:44:40 2013 +0200
gdbstub: Change GDBState::query_cpu to CPUState
Since first_cpu/next_cpu are CPUState, CPUArchState is no longer needed.
This resolves a NULL pointer dereference of query_cpu, introduced
with commit 182735efaf956ccab50b6d74a4fed163e0f35660 and reported by
TeLeMan and Max Filippov.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52785d99513e4f5d8c3d94f4362ff54aba88f33c
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:42 2013 +0800
isa-bus: Drop isabus_bridge_init() since it does nothing
This works since commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Edited]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5ba752371b2fc493fdef05cb7e3141161fd1fab
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:41 2013 +0800
ioapic: Use QOM realize for ioapic
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Tweaked error message]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c118d44b6a6977e4019fe1da82f5c333dbbedcfa
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:40 2013 +0800
kvmvapic: Use QOM realize
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 913bc63844395f07e317dbc1a5b38612cc75ebec
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:39 2013 +0800
kvm/clock: Use QOM realize for kvmclock
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 726887ef44d5a822cd76e4fedd269b038869b698
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:37 2013 +0800
hpet: Use QOM realize for hpet
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoided SYS_BUS_DEVICE() in loop]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit caad4eb345dc5119d326b8af08452cc0f90f8548
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 21 12:16:34 2013 +0200
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline()
return an Error**. Prepare qdev initfns for QOM realize error model.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 21 12:20:15 2013 +0200
megasas: Legacy command line handling fix
Only apply legacy command line handling when the device has not been
hot-plugged. Propagate failure of legacy command line handling.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b09318cac65df015b9b0990791f02b894cc57d33
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:35 2013 +0800
scsi/esp: Use QOM realize for scsi esp
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Drop sysbus_esp_init()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 563839557c05f6f946bedebc381406b146af61f6
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:33 2013 +0800
fw_cfg: Use QOM realize for fw_cfg
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Moved sysbus_init_mmio() to instance_init, renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7acb423fcfd8fbf75f672de70ab945a24cc31ef5
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:31 2013 +0800
ahci: Use QOM realize for ahci
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoided repeated SYS_BUS_DEVICE() casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit da3bd64234dc6c77091a0fb8a2612668dbaffd37
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:29 2013 +0800
pflash_cfi02: Use QOM realize for pflash_cfi02
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e40b5f3e0efe49ec138ea5e3710f6dd6527e5f49
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:27 2013 +0800
pflash_cfi01: Use QOM realize for pflash_cfi01
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed argument]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3ef7a61e3706ba81e31a8092b966d6aeae5333e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 14:14:41 2013 +0200
fdc: Improve error propagation for QOM realize
Rename fdctrl_init_common() to fdctrl_realize_common() and let
fdctrl_connect_drives() propagate an Error through it.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 940194c2369e50d91d1abf6f36d43853eea5e539
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:25 2013 +0800
fdc: Use QOM realize for fdc
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed SysBusDevice variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 98bdc0d7ff93f2ab39c0634c744cc7f4a8ac7399
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:38 2013 +0800
kvm/clock: QOM'ify some more
Introduce type constant and avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02f9a6f5da74251e1e5685ae57643d45c3fb6c30
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:36 2013 +0800
hpet: QOM'ify some more
Introduce type constant, avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field and renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a71c7ec529adcd36fed5bb570a167ae2f9771750
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:34 2013 +0800
scsi/esp: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ce92a1102be22e2bb82267351834713b8c31542
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:32 2013 +0800
fwcfg: QOM'ify some more
Use type constant if possible and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3b162c3cfb88a57390fef581c1be99648d6d8ab
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:30 2013 +0800
ahci: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3509c396d2894b4dc40a2e33d7c2f795508d7328
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:28 2013 +0800
pflash-cfi02: QOM'ify some more
Introduce type constant and replace FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1b44f0e4191547888ff9750988a4f3e7ca9c60e
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:26 2013 +0800
pflash-cfi01: QOM'ify some more
Introduce type constant and replace FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:24 2013 +0800
fdc: QOM'ify some more
Introduce type constant and avoid DO_UPCAST(), container_of(),
and use DEVICE() to avoid accessing parent qdev directly.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Renamed parent field and avoided repeated SYS_BUS_DEVICE() casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62d92e432f586b2bb99d7824f684df4ebd412ea1
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:23 2013 +0800
q35: Use QOM realize for q35 host bridge
And split off MemoryRegion initialization into instance_init.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce88812f576a0d5b172f99b253bcdc1dc37f86f2
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:22 2013 +0800
q35: Use type-safe cast instead of direct access of parent dev
And remove variables if possible.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Converted remaining access and renamed to parent_obj]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3560fbf012e19c5c9b495cc0d90f2dd4491e09f
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:20 2013 +0800
i440fx-pcihost: Use QOM realize for i440fx-pcihost
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2aedfa464909c887564c65fb3a51c020d71e0b78
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:21 2013 +0800
i440fx: Use type-safe cast instead of direct access of parent dev
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Converted remaining accesses and renamed to parent_obj]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 457215ec6a3acc020d357b958eb513ef944abc93
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:19 2013 +0800
ohci: Use QOM realize for OHCI
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1aa0c0c748ad05cde80b4d6f2907a70bc4089883
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:18 2013 +0800
ohci: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Avoid remaining OHCIPCIState::pci_dev uses, rename parent fields]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce7243986fe69be831ec893127282fa5a045c985
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Jul 1 18:18:17 2013 +0800
sysbus: Document SysBusDeviceClass::init and realize semantics
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
[AF: Syntax and wording changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dc4aa51ba8bbef7edf4a104a5a6029a76a68600e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:20:05 2013 +0200
xen/xen_platform: QOM parent field cleanup
Replace direct uses of PCIXenPlatformState::pci_dev field with QOM casts
and rename it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 51a3fe996ba20eca0abfad2b783f27967d759d28
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 17:00:14 2013 +1000
xen/xen_platform: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Dropped opaque casts]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b7578eaadd71fd7a9101875a32d64a52149d78e5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:15:15 2013 +0200
misc/ivshmem: QOM parent field cleanup
Replace direct uses of IVShmemState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eb3fedf3d4b1a3ed2a31def23e972aa0c3669fff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:59:29 2013 +1000
misc/ivshmem: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Simplified casts and converted two more DO_UPCAST()s]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit af21c7403902d5073851ea10371d0761f48e39d1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 15:01:36 2013 +0200
display/vmware_vga: QOM parent field cleanup
Replace direct uses of pci_vmsvga_state_s::card with QOM casts and
rename it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39d4598763a01816feb828be4633ada780a63886
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:58:45 2013 +1000
display/vmware_vga: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and
direct -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d27a4099e46132768256b686ebf522844a180b6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:48:56 2013 +0200
misc/pci-testdev: QOM parent field cleanup
Replace direct uses of PCITestDevState::dev with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 40108d0a6d1e59aa5904298874753fe0cb420a64
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:58:00 2013 +1000
misc/pci-testdev: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Replaced another DO_UPCAST()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6a6b5580bd03fc7326716ebb36b1f42ebfc0a967
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:40:37 2013 +0200
acpi/piix4: QOM parent field cleanup
Replace direct uses of PIIX4PMState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74e445f6492b315c18e96daa6acb4d50405a0ad9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:57:14 2013 +1000
acpi/piix4: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d3aea5603215b872b6580662d27860eecd6ca24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:19:24 2013 +0200
ide/ich: QOM parent field cleanup
Replace direct uses of AHCIPCIState::card with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd58922cf4ea09c8dbd2d46dd61e50e6559bf447
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:55:45 2013 +1000
ide/ich: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed to TYPE_ICH9_AHCI and used typedef in pci_ich9_reset()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4e5dcc774a4003e313b6eec823067b3980b0bc91
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:07:49 2013 +0200
scsi/esp-pci: QOM parent field cleanup
Replace direct uses of PCIESPState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3a15effe00b5bd223d5932c8d67c9525914a1526
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:55:00 2013 +1000
scsi/esp-pci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 52190c1e0a95440e906f3bb7e7c17823f3eac8c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 14:02:53 2013 +0200
scsi/megasas: QOM parent field cleanup
Replace direct uses of MegasasState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c79e16ae044d265674ef43dfdd694c8fd0f49e19
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:54:15 2013 +1000
scsi/megasas: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 725eec7043bd010856899461817ccd2599a09362
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:52:22 2013 +0200
scsi/lsi53c895a: QOM parent field cleanup
Replace direct uses of LSIState::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 71186c867caab48d093fe2c8ae7d8f23d59b0aed
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:53:30 2013 +1000
scsi/lsi53c895a: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b7d3334d062e8c9e4f1b0ad3df35abb08cd8bf0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:38:41 2013 +0200
usb/hcd-xhci: QOM parent field cleanup
Replace direct uses of XHCIState::pci_dev with QOM casts and rename it
to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 37034575d23a06447e4f44ab365afec6b198c53f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:52:45 2013 +1000
usb/hcd-xhci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Dropped usb_xhci_init() DeviceState argument and renamed variable]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f8c79468594cc059eac7a26d37fba48107cb2e4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:52:00 2013 +1000
net/pcnet-pci: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Renamed parent field, renamed from PC_NET to PCNET]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88a411a8a09102b89ea52fe2511265edd3393cf2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 13:09:00 2013 +0200
net/rtl8139: QOM parent field cleanup
Replace direct uses of RTL8139State::dev with QOM casts and rename it to
parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39257515888a3fbaa7061c4c2aeeadfe1b9c3c15
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:51:15 2013 +1000
net/rtl8139: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b08340d52b51ab57ba525043dbc83e67ecfcaa23
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 30 12:55:52 2013 +0200
net/e1000: QOM parent field cleanup
Replace direct uses of E1000State::dev field with QOM casts and rename
it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 567a3c9e7f98f698d1aeb73e32ca614086b63837
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 24 16:50:30 2013 +1000
net/e1000: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()
and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6783ecf144c80f526c844cade3bf5593fba9e446
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 12:03:44 2013 +0100
hw: Avoid use of QOM type name macros in VMStateDescriptions
The name field in a VMStateDescription is part of the migration state
versioning, so changing it will break migration. It's therefore a
bad idea to use a QOM typename macro to initialize it, because in
general we're free to rename QOM types as part of code refactoring
and cleanup. For the handful of devices that were doing this by
mistake, replace the QOM typenames with the corresponding literal
strings.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[AF: Use TYPE_PVSCSI for TypeInfo instead]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3464700f6aecb3e2aa9098839d90672d6b3fa974
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 12:40:32 2013 +0100
tests: Add test-bitops.c with some sextract tests
Add some simple test cases for the new sextract32
and sextract64 functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1372419632-5521-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2dc6bebde93677b262caff114849d0f5ebdaa82d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 12:40:31 2013 +0100
bitops: Provide sextract32() and sextract64()
A common operation in instruction decoding is to take a field
from an instruction that represents a signed integer in some
arbitrary number of bits, and sign extend it into a C signed
integer type for manipulation. Provide new functions sextract32()
and sextract64() which perform this operation; they are like
the existing extract32() and extract64() except that the field
is sign-extended into the returned result.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1372419632-5521-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd1d9926e91f421bc851f9dd19875f14799c6e4b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Jul 19 12:42:12 2013 -0600
memory: Fix zero-sized memory region print
if mr->size == 0, then
int128_get64(int128_sub(mr->size, int128_make64(1))) => assert(!a.hi)
Also, use int128_one().
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 20130719184124.15864.20803.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 53db78543e473bdf7650a406767d0901c6e26480
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Jul 21 15:39:26 2013 -0800
configure: Remove ldscripts
Since 964c6fa16f50a607f9da5068d6bf15ccc93872c0, these files are unused.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1374449966-12926-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 885a73f72b967900296d71c97cc7c560585a9086
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 10 18:30:38 2013 +0200
linux-user: Avoid conditional cpu_reset()
Some CPUs reset as part of cpu_init(), some others were reset
afterwards, some not at all. While some targets didn't implement a
cpu_[state_]reset() function, QOM cpu_reset() is always available.
There's nothing wrong with resetting twice on startup, so drop
the #ifdef.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 24cb36a61c663d98a53338620e88e4cd3403459a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:45:00 2013 +0100
configure: Make NPTL non-optional
Now all linux-user targets support building with NPTL, we can make it
mandatory. This is a good idea because:
* NPTL is no longer new and experimental; it is completely standard
* in practice, linux-user without NPTL is nearly useless for
binaries built against non-ancient glibc
* it allows us to delete the rather untested code for handling
the non-NPTL configuration
Note that this patch leaves the CONFIG_USE_NPTL ifdefs in the
bsd-user codebase alone. This makes no change for bsd-user, since
our configure test for NPTL had a "#include <linux/futex.h>"
which means bsd-user would never have been compiled with
CONFIG_USE_NPTL defined, and it still is not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 2667e71c3d9262d756bea1473e2ea28eb2c9c070
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:59 2013 +0100
linux-user: Enable NPTL for x86-64
Add x86-64 implementation of cpu_set_tls() (like the kernel, we
just have to call do_arch_prctl() to set FS); this allows us to
enable NPTL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bc22eb447c0552e2327f278fdc6bedccb14fc7a3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jul 16 18:44:58 2013 +0100
linux-user: Add i386 TLS setter
We can easily set the TLS on i386. Add code to do so.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[PMM: also remove "target_nptl=no" line from configure, for
consistency with other patches in this series]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 4ce6243dc6216e35b5b691078ffa856463bfa8db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:57 2013 +0100
linux-user: Clean up handling of clone() argument order
Linux manages to have three separate orderings of the arguments to
the clone() syscall on different architectures. In the kernel these
are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2.
Clean up our implementation of this to use similar #define names
rather than a TARGET_* ifdef ladder.
This includes behaviour changes fixing bugs on cris, x86-64, m68k,
openrisc and unicore32. cris had explicit but wrong handling; the
others were just incorrectly using QEMU's default, which happened
to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears
to be broken in the mainline kernel in that it tries to use arg3 for
both parent_tidptr and newtls simultaneously -- we don't attempt
to emulate this bug...)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d312bbe1051fa563b557de625ca57a466772abe5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:56 2013 +0100
linux-user: Add missing 'break' in i386 get_thread_area syscall
The i386 code for the get_thread_area syscall was missing a
'break' which meant it would have fallen through into the
implementation of the following syscall; add it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1ccd9374af22ec4ed5f864d4935a9cfad01f1204
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:55 2013 +0100
linux-user: Enable NPTL for m68k
For m68k, per-thread data is a purely kernel construct with no
CPU level support. Implement it via a field in the TaskState structure,
used by cpu_set_tls() and the set_thread_area/get_thread_area
syscalls. This allows us to enable compilation with NPTL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f5147c93d0e7f91df0215598017a4d9d6a48f0ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:54 2013 +0100
linux-user: Enable NPTL for SPARC targets
Provide the missing cpu_set_tls(), and resolve the FIXME in
cpu_clone_regs() by clearing the carry flag for the child.
This allows us to turn on building with NPTL for SPARC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 442a59c8ddc55f327ec0219d810fe4580177716a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:53 2013 +0100
linux-user: Enable NPTL for OpenRISC
The OpenRISC kernel ignores CLONE_SETTLS in its copy_thread()
implementation, so a cpu_set_tls() implementation is a no-op.
cpu_clone_regs() was setting the syscall return value in the
wrong register -- it is gpr[11], not gpr[2]. With these two
things fixed, we can compile with NPTL enabled.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dfeab06c98f7bc37f8ad8a6a2f8f677e5a57a55d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:52 2013 +0100
linux-user: Move includes of target-specific headers to end of qemu.h
The target-specific headers (target_cpu.h and target_signal.h)
might need to use the target-independent structure and function
definitions of qemu.h; so include them only at the bottom of
qemu.h, not the top.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 790d440605a997a5e146809e824e95ca22a14652
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:51 2013 +0100
configure: Enable threading for unicore32-linux-user
unicore32-linux-user provides cpu_set_tls(), so the failure
to enable target_nptl was presumably an oversight. Enable it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d769c64147d32a80e5e37d41b397f45943d45e0d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:50 2013 +0100
configure: Enable threading on all ppc and mips linux-user targets
Though threading (target_nptl) was enabled on the base PPC and MIPS
targets, it wasn't enabled for the variants mipsn32, mipsn32el,
mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight).
Enable threading consistently on all these targets.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fa78f3dbe4e0e1d9a34556b73e5118cb40153875
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:49 2013 +0100
configure: Don't say target_nptl="no" if there is no linux-user target
For architectures with no linux-user target, don't claim no NPTL
support. This has no behavioural change, but it means that we
won't accidentally add a new linux-user target without threading
support in future (because attempting to do so would be a compile
failure rather than a silent lack of support).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit aa004f5f9c5785273ef56b8c0b775f57ccb19168
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 18:44:48 2013 +0100
configure: Flip default of target_nptl
Most targets either (a) support threading or (b) don't have a
linux-user/bsd-user target, so make it default to 'yes', with those
targets that don't support threading having to specifically say so.
This is a mechanical no-behaviour-change commit; some of the
"no" entries it adds will be taken out in later patches.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b1e749c02172583ca85bb3a964a9b39221f9ac39
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Jul 22 09:04:32 2013 +0200
gtk: Fix accelerator filtering
This is in fact very simply: When the input in grabbed, everything
should be exclusively passed to the guest - except it has our magic
CTRL-ALT modifier set. Then let GTK filter out those accels that are in
use. When checking the modifier state, we just need to filter out NUM
and CAPS lock.
Note: Filtering based on hard-coded modifiers breaks overriding
accelerators. Needs to be fixed at a later point.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 549c272b3c7c2aac69155be2e158c970828b2844
Merge: c9fea5d... fd76663...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:14:24 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130722' into
staging
arm-devs queue
# gpg: Signature made Mon 22 Jul 2013 06:38:52 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (8) and Soren Brinkmann (2)
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130722:
hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header
hw/loader: Support ramdisk with u-boot header
vexpress: Add virtio-mmio transports
vexpress: Make VEDBoardInfo extend arm_boot_info
arm/boot: Allow boards to modify the FDT blob
virtio: Implement MMIO based virtio transport
virtio: Support transports which can specify the vring alignment
virtio: Add support for guest setting of queue size
arm/boot: Use qemu_devtree_setprop_sized_cells()
device_tree: Add qemu_devtree_setprop_sized_cells() utility functions
Message-id: 1374493427-3254-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c9fea5d701f8fd33f0843728ec264d95cee3ed37
Merge: a20bd9e... e1622f4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:14:18 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (2) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: fix incorrect assumptions in memory_access_size
memory: Return -1 again on reads from unsigned regions
memory: actually set the owner
exec.c: Pass correct pointer type to qemu_ram_ptr_length
Message-id: 1374264478-23913-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a20bd9eec3cf3f9dd7e27d45a96d7b1b9ab09ebd
Merge: 5447a9a... be022d6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:49 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Michael Tokarev (2) and others
# Via Michael Tokarev
* mjt/trivial-patches:
doc: monitor multiplexing rewording
block/m25p80: Update Micron entries
Fix command example in qemu.sasl
slirp: remove mbuf(m_hdr,m_dat) indirection
linux-user: declare sys_futex to have 6 arguments
Message-id: 1374225073-12959-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5447a9afc4150693d3909a8632891061147e170d
Merge: 293706d... a23fdf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:34 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Peter Lieven (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block/raw: add .bdrv_get_info
block: fix bdrv_read_unthrottled()
cpus: Let vm_stop[_force_state]() always flush block devices
block-migration: efficiently encode zero blocks
block/raw: add bdrv_co_write_zeroes
block: add bdrv_write_zeroes()
block: fix vvfat error path for enable_write_target
QEMUBH: make AioContext's bh re-entrant
dataplane: sync virtio.c and vring.c virtqueue state
gluster: Add discard support for GlusterFS block driver.
gluster: Use pkg-config to configure GlusterFS block driver
Message-id: 1374223132-29107-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 293706dd682f578b457d052988cf3c20b4eab82d
Merge: 90c66f5... b957a1b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:27 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
pc-bios: Update palcode-clipper
target-alpha: Move alarm to vm_clock
Message-id: 1374161033-11449-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90c66f587c8d020a642d3c9376f9102c16f2234e
Merge: 2494397... 3ba0063...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 22 10:13:15 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Markus Armbruster
# Via Stefan Hajnoczi
* stefanha/tracing:
trace-events: Fix up source file comments
trace-events: Drop unused events
milkymist-minimac2: Fix minimac2_read/_write tracepoints
slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints
cleanup-trace-events.pl: New
Message-id: 1374119369-26496-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd76663e3fe59dc7f7d5c439561b74f472727137
Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Date: Mon Jul 8 15:40:02 2013 -0700
hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header
The load_ramdisk function is used to load ramdisk featuring a U-Boot
header.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373323202-17083-3-git-send-email-soren.brinkmann@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 84aee0deae0de620277759e2c3cd3a9cf45390b0
Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Date: Mon Jul 8 15:40:01 2013 -0700
hw/loader: Support ramdisk with u-boot header
Introduce 'load_ramdisk()' which can load "normal" ramdisks and ramdisks
with a u-boot header.
To enable this and leverage synergies 'load_uimage()' is refactored to
accomodate this additional use case.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373323202-17083-2-git-send-email-soren.brinkmann@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c8a07b355d7de568b93a61eb09cfe953ef0db409
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:12 2013 +0100
vexpress: Add virtio-mmio transports
Add some virtio-mmio transports to the vexpress board model,
together with a modify_dtb hook which adds them to the device
tree so that the kernel will probe for them. We put them
in a reserved area of the address map.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-9-git-send-email-peter.maydell@xxxxxxxxxx
commit cef04a26e76c9beb6f51f1703ccf17440619e226
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:11 2013 +0100
vexpress: Make VEDBoardInfo extend arm_boot_info
Make the VEDBoardInfo struct extend arm_boot_info; this will
allow us to get at the VEDBoardInfo information inside callbacks
from arm/boot code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-8-git-send-email-peter.maydell@xxxxxxxxxx
commit 3b1cceb8b52320150fd93dc094ba11fd01c6adfa
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:10 2013 +0100
arm/boot: Allow boards to modify the FDT blob
Add a callback hook in arm_boot_info to allow board models to
modify the device tree blob if they need to. (The major expected
use case is to add virtio-mmio nodes for virtio-mmio transports
that exist in QEMU but not in the hardware.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 4b52530be987f33f8bffbdec9826298ad53ec180
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:09 2013 +0100
virtio: Implement MMIO based virtio transport
Add support for the generic MMIO based virtio transport.
This patch includes some fixes for bugs spotted by
Ying-Shiuan Pan <yspan@xxxxxxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1373977512-28932-6-git-send-email-peter.maydell@xxxxxxxxxx
[Fred changes: updated to new virtio-bus mechanisms]
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
[PMM changes:
* fixed trivial makefile conflict
* removed unused int_enable
* host_features doesn't need migrating
* reset guest accessible state in the reset function
* minor style fixes like extra blank lines
* RAZ/WI if there's no backend
* made transport size 0x200, in line with kvmtool
* set has_variable_vring_alignment
]
commit 6ce69d1c7741c0ad524e4cad6dca31e782108a65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:08 2013 +0100
virtio: Support transports which can specify the vring alignment
Support virtio transports which can specify the vring alignment
(ie where the guest communicates this to the host) by providing
a new virtio_queue_set_align() function. (The default alignment
remains as before.)
Transports which wish to make use of this must set the
has_variable_vring_alignment field in their VirtioBusClass
struct to true; they can then change the alignment via
virtio_queue_set_align().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-5-git-send-email-peter.maydell@xxxxxxxxxx
commit e63c0ba1bce0b3cc7037c6c2d327267a585534ec
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:07 2013 +0100
virtio: Add support for guest setting of queue size
The MMIO virtio transport spec allows the guest to tell the host how
large the queue size is. Add virtio_queue_set_num() function which
implements this in the QEMU common virtio support code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373977512-28932-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 70976c41c1def9d6e8b664c64cdf83b1ea0daa03
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:06 2013 +0100
arm/boot: Use qemu_devtree_setprop_sized_cells()
Replace the opencoded assembly of the reg property array for the
/memory node with a call to qemu_devtree_setprop_sized_cells().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1373977512-28932-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 97c38f8c279ae2f71cb0f6aed11aa94ef59b2955
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 16 13:25:05 2013 +0100
device_tree: Add qemu_devtree_setprop_sized_cells() utility functions
We already have a qemu_devtree_setprop_cells() which sets a dtb
property to an array of cells whose values are specified by varargs.
However for the fairly common case of setting a property to a list
of addresses or of address,size pairs the number of cells used by
each element in the list depends on the parent's #address-cells
and #size-cells properties. To make this easier we provide an analogous
qemu_devtree_setprop_sized_cells() macro which allows the number
of cells used by each element to be specified. This is implemented
using an underlying qemu_devtree_setprop_sized_cells_from_array()
function which takes the values and sizes as an array; this may
also be directly useful for cases where the cell contents are
constructed programmatically.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1373977512-28932-2-git-send-email-peter.maydell@xxxxxxxxxx
commit be022d61f4938bb051e8af8e6cb470ec1602c488
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jul 11 12:55:50 2013 +0400
doc: monitor multiplexing rewording
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f5aac8e07ff25846c7a5c1a5153c49c18715d9f0
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue Jun 4 11:59:14 2013 -0400
block/m25p80: Update Micron entries
- Split 32Mb and 256Mb parts into a11 and a13 variants.
- Add the 4K sector flag to the 128Mb parts. (These entries were taken
from
the Linux kernel list, which is missing the flag.)
- Fill out the table of sizes with entries for 64Mb parts.
Prodded by Peter Crosthwaite.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 805695daf64879959e3ea357fe9c391ddacea9c6
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Jul 9 10:07:53 2013 -0400
Fix command example in qemu.sasl
sasldblistusers2 doesn't have a '-a' option
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0e44486cdccb4c1f9e5fad390cfd7186850c7204
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jul 13 13:10:05 2013 +0400
slirp: remove mbuf(m_hdr,m_dat) indirection
commit 43be1343667ae03cfb0c9ea4d56575c61b5c8d92
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 15 15:17:40 2013 +0200
linux-user: declare sys_futex to have 6 arguments
sys_futex has 6 arguments, and all of these need to be copied. Fix
incorrect
declaration in the mips_syscall_args array.
This change fixes the cases where the 5th and 6th arguments have non-zero
value and have importance. An example is a Linux implementation of
pthread_cond_wait() function.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a23fdf355969d331f60593fa5b857d43aec25aac
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jul 15 12:49:34 2013 +0200
block/raw: add .bdrv_get_info
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e7395e84fc7534f6a6c6f3d5563e770501dbe2e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 18 10:37:32 2013 +0200
block: fix bdrv_read_unthrottled()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 594a45ce64dbef1829996403506a1154eb2fd1cc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 18 14:52:19 2013 +0200
cpus: Let vm_stop[_force_state]() always flush block devices
Even if the VM is already stopped, we cannot assume that all data has
already been successfully flushed to disk. The flush during the previous
vm_stop() could have failed.
Run bdrv_flush_all() unconditionally so that we get an error each time
if the block device isn't really flushed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 323004a39d4d8d33c744a5b108f80bfe6402fca3
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 18 09:48:50 2013 +0200
block-migration: efficiently encode zero blocks
this patch adds a efficient encoding for zero blocks by
adding a new flag indicating a block is completely zero.
additionally bdrv_write_zeros() is used at the destination
to efficiently write these zeroes. depending on the implementation
this avoids that the destination target gets fully provisioned.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8bf9344ad6883e6d85b69bab36d9d76e4257e9ed
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:23 2013 +0200
block/raw: add bdrv_co_write_zeroes
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4105eaaab9376ea959de711b81bba9e1494c971d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:22 2013 +0200
block: add bdrv_write_zeroes()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 78f27bd02ceba4a2f6ac5c725f4d4410eec205ef
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jul 17 17:57:37 2013 +0800
block: fix vvfat error path for enable_write_target
s->qcow and s->qcow_filename are allocated but not freed on error. Fix the
possible leaks, remove unnecessary check for bdrv_new(), propagate ret
code of
bdrv_create() and also the one of enable_write_target().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dcc772e2f2b7c2a68644133fea2b874f6751a57b
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Tue Jul 16 12:28:58 2013 +0800
QEMUBH: make AioContext's bh re-entrant
BH will be used outside big lock, so introduce lock to protect
between the writers, ie, bh's adders and deleter. The lock only
affects the writers and bh's callback does not take this extra lock.
Note that for the same AioContext, aio_bh_poll() can not run in
parallel yet.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9154b02c53bb6685797c973fcdbec51c4714777d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jul 1 13:29:17 2013 +0200
dataplane: sync virtio.c and vring.c virtqueue state
Load the virtio.c state into vring.c when we start dataplane mode and
vice versa when stopping dataplane mode. This patch makes it possible
to start and stop dataplane any time while the guest is running.
This will eventually allow us to go back to QEMU main loop for
bdrv_drain_all() and live migration. In the meantime, this patch makes
the dataplane lifecycle more robust but should make no visible
difference. It may be useful in the virtio-net dataplane effort.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0c14fb47ece5ef42d7a0a4b3e8e43e022b375720
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 21:47:42 2013 +0530
gluster: Add discard support for GlusterFS block driver.
Implement bdrv_aio_discard for gluster.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e01bee0881e0f0c8a79555f6729d7238841a5b04
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 21:47:41 2013 +0530
gluster: Use pkg-config to configure GlusterFS block driver
Use pkg-config to determine the version and library dependency
for GlusterFS block driver.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24943978cbe79634a9a8b02a20efb25b29b3ab49
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:23 2013 +0200
boot-order-test: Add tests for Sun4u
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-13-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26491a388ce69d80c6d7d2b15ddf93d4399f04bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:22 2013 +0200
libqos: Generalize I/O-mapped fw_cfg
Provide a constructor that takes the base address in addition to the
PC-specific one.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-12-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f88dc7dd4d5942714672aa293a3357f5c6469568
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:21 2013 +0200
boot-order-test: Add tests for Sun4m
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-11-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e99f87cc86ba57a57d2472342a51d21f1e8b4966
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:20 2013 +0200
boot-order-test: Add tests for PowerPC PREP
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-10-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 484986e24282e922e5acb1db2c2b324e55c39ea4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:19 2013 +0200
boot-order-test: Code motion for better readability
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aea6a16907ca377d450d344dddda8456f87d5c0b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:18 2013 +0200
boot-order-test: Better separate target-specific and generic parts
The initial version did just PC. I didn't bother to separate out
generic parts, because I don't like to abstract from a single case.
Now we have two cases, PC and PowerMac, and I'm about to add more.
Time to do it right.
To ease review, this commit changes the code in-place, and the next
commit reorders it for better readability.
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 995b0e136fca7786657c5b63fa094032114615e3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:17 2013 +0200
boot-order-test: Cover -boot once in ppc tests
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 530a7e48bccddd8f1558f48cd4e3f6d46c272c83
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 26 15:52:16 2013 +0200
boot-order-test: Add tests for PowerMacs
They set the boot device via fw_cfg, which is then translated to a boot
path of "hd" or "cd" in OpenBIOS.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-6-git-send-email-armbru@xxxxxxxxxx
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Converted to libqos/fw_cfg on Anthony's request.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7a10016509f740ef33b7875630d6c3549d57c6e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:15 2013 +0200
libqos: Add support for memory-mapped fw_cfg
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db2b5500c9780730b8ad09fca4a1d2de365dcbf0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jun 26 15:52:14 2013 +0200
libqos: include dependencies
Otherwise rebuilds can fail when libqos is modified.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edbd790d20cf19d039dfe431aaf0973a9e0afa8f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:13 2013 +0200
boot-order-test: New; covering just PC for now
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba646ff6a3149f416424122c628e798be4957997
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jun 26 15:52:12 2013 +0200
qtest: Don't reset on qtest chardev connect
libqtest's qtest_init() connecting to the qtest socket triggers reset.
This was coded in the hope we could use the same QEMU process for
multiple tests that way. Never used. Injects an extra reset even
when it's not used, and that can mess up tests such as the one of
-boot once I'm about to add. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372254743-15808-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1d9358e686125c125b52529fa68baf36aa2d0d09
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 20 08:55:29 2013 +0200
libqtest: New qtest_end() to go with qtest_start()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371711329-9144-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fdd26fca3ce66863e547560fbde1a444fc5d71b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 20 08:55:28 2013 +0200
libqtest: Plug fd and memory leaks in qtest_quit()
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371711329-9144-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 293d2a0014a0e849477413f55aaa05f2743b2e04
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jul 16 20:19:41 2013 +0200
monitor: maintain at most one G_IO_OUT watch
When monitor_flush() is invoked repeatedly outside the monitor_unblocked()
callback, for example from tlb_info() -> ... -> print_pte(), several
watches may be added for the same event.
This is no problem per se because the extra monitor_unblocked() callbacks
are harmless if mon->outbuf is empty, the watches will be removed
gradually. However a big number of watches can grow "gpollfds" without
limit in glib_pollfds_fill(), triggering a -1/EINVAL condition in
g_poll().
Keep at most one such watch, by following the pattern observable in eg.
commits c874ea97 and c3d6b96e. The change has no effect when
monitor_unblocked() calls monitor_flush() (when the watch can either be
removed or renewed 1-for-1), but non-callback contexts won't create an
additional watch when the monitor already has one.
Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=970047
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1373998781-29561-3-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ac8c26f633b01bb32cdf347f9dbd5a80c6712925
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jul 16 20:19:40 2013 +0200
char: io_channel_send: don't lose written bytes
The g_io_channel_write_chars() documentation states,
bytes_written: The number of bytes written. This can be nonzero even if
the return value is not G_IO_STATUS_NORMAL. [...]
io_channel_send() could lose such bytes before.
Furthermore, the (status == G_IO_STATUS_EOF) condition used to evaluate to
constant false whenever it was reached. When that condition actually held,
it always led to -1 / EINVAL. This patch (almost) distinguishes
G_IO_STATUS_EOF only when no bytes have been written, and then treats it
as an error.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1373998781-29561-2-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d185e638861bd9b05b2abb43774a368cadabd38
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jul 18 16:42:01 2013 +0100
configure: Provide more helpful message if libvte not present
If the system has GTK but not libvte, it's more helpful to
tell the user that libvte is missing than to simply say that
GTK is not present.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1374162121-31582-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b957a1b03cfd56134519ebc01ba8fe1b166c0c84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 16 06:48:28 2013 -0700
pc-bios: Update palcode-clipper
Update image to c87a92639b28ac42bc8f6c67443543b405dc479b,
incorporating changes for vm_time.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19e0cbb82ffab7220cdbcc78ab2c1dac823ce4e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 16 06:45:57 2013 -0700
target-alpha: Move alarm to vm_clock
Basing the alarm off the rtc_clock was silly. It leads to horrible
spinning in the guest after being suspended and resumed, as it tries
to catch up with lost ticks.
This requires adding an accessor for reading the vm_clock too.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28199c48ed44895012ae0be3b6e8f080404a4d34
Merge: bbcf59b... 7b4b0e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:14:22 2013 -0500
Merge remote-tracking branch 'awilliam/tags/vfio-for-qemu-1.6' into
staging
vfio: enhanced VGA quirks + AER error containment
# gpg: Signature made Wed 17 Jul 2013 05:39:38 PM CDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson (1) and Vijay Mohan Pandarathil (1)
# Via Alex Williamson
* awilliam/tags/vfio-for-qemu-1.6:
vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices
vfio-pci: VGA quirk update
Message-id: 20130717224939.4763.87264.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bbcf59bc4ba813b1ff8f1312585f773a675b2e3e
Merge: 5ab4dba... f9b1d9b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:14:10 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qmp: update send-key document
qapi: qapi-commands: fix possible leaks on visitor dealloc
Message-id: 1374093679-29213-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5ab4dba4dac1932f8b14561772d3473d02ccd259
Merge: e9acb8c... 0777b5d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:13:50 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (4) and Ronnie Sahlberg (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: factor out sector conversions
iscsi: assert that sectors are aligned to LUN blocksize
iscsi: remove support for misaligned nb_sectors in aio_readv
iscsi: fix -ENOSPC in iscsi_create()
Fix iSCSI crash on SG_IO with an iovector
Message-id: 1374073524-8469-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9acb8cea9b11679cab8cb3c20c4348803bbb58a
Merge: 6453a3a... d26d9e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jul 18 08:12:47 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,net,pc enhancements
This includes some fixes and enhancements that accumulated in my tree:
pci fixes by dkoch, virtio-net enhancements by akong and mst,
and a fix for xen pc by mst.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 17 Jul 2013 04:44:45 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Don Koch (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pc: don't access fw cfg if NULL
virtio-net: add feature bit for any header s/g
net: add support of mac-programming over macvtap in QEMU side
pci: fix BRDIGE typo
pci-bridge: update mappings for migration/restore
Message-id: 1374054430-21966-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1622f4b15391bd44eb0f99a244fdf19a20fd981
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 17 13:17:41 2013 +0200
exec: fix incorrect assumptions in memory_access_size
access_size_min can be 1 because erroneous accesses must not crash
QEMU, they should trigger exceptions in the guest or just return
garbage (depending on the CPU). I am not sure I understand the
comment: placing a 4-byte field at the last byte of a region
makes no sense (unless impl.unaligned is true), and that is
why memory.c:access_with_adjusted_size does not bother with
minimums larger than the remaining length.
access_size_max can be mr->ops->valid.max_access_size because memory.c
can and will still break accesses bigger than
mr->ops->impl.max_access_size.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 16 14:45:16 2013 +0200
memory: Return -1 again on reads from unsigned regions
This restore the behavior prior to b018ddf633 which accidentally changed
the return code to 0. Specifically guests probing for register existence
were affected by this.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b4afea11aafe85975e74dd562bb94f7ce3de1ef1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jul 15 15:48:50 2013 +0200
memory: actually set the owner
Brown paper bag for me. Originally commit 803c0816 came before commit
2c9b15c. When the order was inverted, I left in the NULL initialization
of mr->owner.
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb85f7ab045e8c05ee182b3573c9aba8e287e36b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 8 09:44:04 2013 +0100
exec.c: Pass correct pointer type to qemu_ram_ptr_length
Commit e3127ae0 introduced a problem where we're passing a
hwaddr* to qemu_ram_ptr_length() but it wants a ram_addr_t*;
this will cause problems on 32 bit hosts and in any case
provokes a clang warning on MacOSX:
CC arm-softmmu/exec.o
exec.c:2164:46: warning: incompatible pointer types passing 'hwaddr *'
(aka 'unsigned long long *') to parameter of type 'ram_addr_t *'
(aka 'unsigned long *')
[-Wincompatible-pointer-types]
return qemu_ram_ptr_length(raddr + base, plen);
^~~~
exec.c:1392:63: note: passing argument to parameter 'size' here
static void *qemu_ram_ptr_length(ram_addr_t addr, ram_addr_t *size)
^
Since this function is only used in one place, change its
prototype to pass a hwaddr* rather than a ram_addr_t*,
rather than contorting the calling code to get the type right.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ba00637d024b9d43b26106060a23a85411d0757
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:21 2013 +0200
trace-events: Fix up source file comments
They're all wrong since (at least) Paolo's big source tree
reorganization. Need to shuffle some event declarations around to
keep them under the correct source file comment.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3ae76d23d21a1f47390c6abe3497c33b708aec1f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:20 2013 +0200
trace-events: Drop unused events
Dropped event Unused since
mirror_cow 884fea4
paio_complete 47e6b25
paio_cancel 47e6b25
usb_ehci_data 0ce668b
megasas_qf_dequeue never used
megasas_handle_frame never used
megasas_io_continue never used
megasas_iovec_map_failed never used
megasas_dcmd_map_failed never used
milkymist_softusb_mouse_event 4c15ba9
xen_map_block 6506e4f
xen_unmap_block 6506e4f
qemu_spice_start 67be672
qemu_spice_stop 67be672
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ece9671fd22e3ea518aa30f941e8794116985e7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:19 2013 +0200
milkymist-minimac2: Fix minimac2_read/_write tracepoints
Broken in milkymist-minimac.c from the start (commit 0742454),
faithfully moved to milkymist-minimac2.c (commit 57aa265).
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f3a64b8c89ac9b5111f97e2653d249e4668764b3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:18 2013 +0200
slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints
Broken since they got added in commit 97bf485.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0c03c8cf6184f25ba91449c1ff77e5e006ce514
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 12:59:17 2013 +0200
cleanup-trace-events.pl: New
Simple script to drop unused events and fix up source file comments.
The next few commits put it to use.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f9b1d9b20f5d25b95f67a498e312f625d168fc51
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jul 16 19:52:14 2013 +0800
qmp: update send-key document
commit 9f328977 changes qmp_send_key() to accept key codes in hex,
but the document wasn't updated. The items of keys list is union
now, not enum.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0777b5dde42f4f453abc8bb2c4e145fb8749415d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:25 2013 +0200
iscsi: factor out sector conversions
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:27 2013 +0200
iscsi: assert that sectors are aligned to LUN blocksize
if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE
it is possible that sector_num or nb_sectors are not correctly
aligned.
to avoid corruption we fail requests which are misaligned.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:26 2013 +0200
iscsi: remove support for misaligned nb_sectors in aio_readv
this hask is not working (anymore). support for misaligned offsets should
be handled at the block layer.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3bda7bc166f40326ba646ee145630bb1b59da96
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Jul 11 14:16:24 2013 +0200
iscsi: fix -ENOSPC in iscsi_create()
the -ENOPSC case did not work due to the missing goto.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0a53f010745635c39a83756a948df60a84e88fe5
Author: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Sun Jun 23 08:07:08 2013 -0700
Fix iSCSI crash on SG_IO with an iovector
Don't assume that SG_IO is always invoked with a simple buffer,
check the iovec_count and if it is >= 1 then we need to pass an array
of iovectors to libiscsi instead of just a plain buffer.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Jul 11 14:26:56 2013 -0400
qapi: qapi-commands: fix possible leaks on visitor dealloc
In qmp-marshal.c the dealloc visitor calls use the same errp
pointer of the input visitor calls. This means that if any of
the input visitor calls fails, then the dealloc visitor will
return early, before freeing the object's memory.
Here's an example, consider this code:
int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict,
QObject **ret)
{
[...]
char * device = NULL;
char * password = NULL;
mi = qmp_input_visitor_new_strict(QOBJECT(args));
v = qmp_input_get_visitor(mi);
visit_type_str(v, &device, "device", errp);
visit_type_str(v, &password, "password", errp);
qmp_input_visitor_cleanup(mi);
if (error_is_set(errp)) {
goto out;
}
qmp_block_passwd(device, password, errp);
out:
md = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md);
visit_type_str(v, &device, "device", errp);
visit_type_str(v, &password, "password", errp);
qapi_dealloc_visitor_cleanup(md);
[...]
return 0;
}
Consider errp != NULL when the out label is reached, we're going
to leak device and password.
This patch fixes this by always passing errp=NULL for dealloc
visitors, meaning that we always try to free them regardless of
any previous failure. The above example would then be:
out:
md = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md);
visit_type_str(v, &device, "device", NULL);
visit_type_str(v, &password, "password", NULL);
qapi_dealloc_visitor_cleanup(md);
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7b4b0e9eda51902b53bc1a2318df53cdb8b72eed
Author: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx>
Date: Mon Jul 15 15:49:49 2013 -0600
vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices
Add support for error containment when a VFIO device assigned to a KVM
guest encounters an error. This is for PCIe devices/drivers that support
AER
functionality. When the host OS is notified of an error in a device either
through the firmware first approach or through an interrupt handled by
the AER
root port driver, the error handler registered by the vfio-pci driver gets
invoked. The qemu process is signaled through an eventfd registered per
VFIO device by the qemu process. In the eventfd handler, qemu decides on
what action to take. In this implementation, guest is brought down to
contain the error.
The kernel patches for the above functionality has been already accepted.
This is a refresh of the QEMU patch which was reviewed earlier.
http://marc.info/?l=linux-kernel&m=136281557608087&w=2
This patch has the same contents and has been built after refreshing
to latest upstream and after the linux headers have been updated in qemu.
- Create eventfd per vfio device assigned to a guest and register an
event handler
- This fd is passed to the vfio_pci driver through the SET_IRQ ioctl
- When the device encounters an error, the eventfd is signalled
and the qemu eventfd handler gets invoked.
- In the handler decide what action to take. Current action taken
is to stop the guest.
Signed-off-by: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 39360f0b91d38790b5756d621ca9a7dd93ca8816
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Jul 15 15:48:11 2013 -0600
vfio-pci: VGA quirk update
Turns out all the suspicions for AMD devices were correct, everywhere
we read a BAR address that the address matches the config space offset,
there's full access to PCI config space. Attempt to generalize some
helpers to allow quirks to easily be added for mirrors and windows.
Also fill in complete config space for AMD.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit f290e4988dd8eb012de0517a1ff93df130e87da1
Merge: a281778... c6d8ed2...
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 15 13:21:10 2013 -0700
Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next
commit a28177820a868eafda8fab007561cc19f41941f4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 18 19:20:47 2013 +0200
tcg: Remove temp_buf
All targets have been converted to allocating space for temporaries
on the stack. No need to allocate space within the CPU_COMMON block.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6453a3a69488196f26d12654c6b148446abdf3d6
Merge: 2562bec... 7ca1dfa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:49:15 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Chegu Vinod
# Via Juan Quintela
* quintela/migration.next:
Force auto-convegence of live migration
Add 'auto-converge' migration capability
Introduce async_run_on_cpu()
Message-id: 1373664508-5404-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2562becfc126ed7678c662ee23b7c1fe135d8966
Merge: ab4e158... bf72d89...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:41 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Dominik Dingel
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Enable x-data-plane for virtio-ccw-blk
Message-id: 1373903207-27085-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab4e1589f072c7a5d1238c7f0d289c163c7736b2
Merge: 1750d01... 82a3a11...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:32 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130715-1'
into staging
target-arm queue
# gpg: Signature made Mon 15 Jul 2013 11:15:13 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Mans Rullgard (3) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130715-1:
target-arm: Avoid g_hash_table_get_keys()
target-arm: avoid undefined behaviour when writing TTBCR
target-arm/helper.c: Allow const opaques in arm CP
target-arm/helper.c: Implement MIDR aliases
target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup
target-arm: explicitly decode SEVL instruction
target-arm: implement LDA/STL instructions
target-arm: add feature flag for ARMv8
Message-id: 1373905022-27735-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1750d019cea1e2383d3283eaad38cd0f93d07b11
Merge: a34001f... b25a83f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:02:12 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130715' into
staging
arm-devs queue
# gpg: Signature made Mon 15 Jul 2013 10:53:44 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (4) and others
# Via Peter Maydell
* pmaydell/tags/pull-arm-devs-20130715:
ARM/highbank: add support for Calxeda ECX-2000 / Midway
ARM/highbank: prepare for adding similar machines
hw/arm/vexpress: Add alias for flash at address 0 on A15 board
hw/dma/omap_dma: Fix bugs with DMA requests above 32
sd/pl181.c: Avoid undefined shift behaviour in RWORD macro
hw/cpu/a15mpcore: Correct default value for num-irq
char/cadence_uart: Fix reset for unattached instances
Message-id: 1373904095-27592-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a34001fab5da2d0df605a8b83880c917c8aa0606
Merge: 5699a02... e605e96...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:00:57 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
hw/alpha: Use SRM epoch
hw/alpha: Drop latch_tmp hack
exec: Support 64-bit operations in address_space_rw
hw/alpha: Don't machine check on missing pci i/o
hw/alpha: Don't use get_system_io
Message-id: 1373840171-25556-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5699a02e01a4d046652bc6e77abd67e887ae209c
Merge: c3cb8e7... a62eaa2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 15 14:00:32 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (6) and Stefan Hajnoczi (2)
# Via Kevin Wolf
* kwolf/for-anthony:
ahci: Fix FLUSH command
migration: Fail migration on bdrv_flush_all() error
cpus: Add return value for vm_stop()
block: Add return value for bdrv_flush_all()
qemu-iotests: Update 051 reference output
block: Don't parse protocol from file.filename
block: add drive_backup HMP command
blockdev: add sync mode to drive-backup QMP command
Message-id: 1373887000-4488-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d26d9e14c15837eba2b7447e8d15230bab8e0940
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 10 18:28:04 2013 +0300
pc: don't access fw cfg if NULL
commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
"pc: pass PCI hole ranges to Guests"
broke Xen as it has no fw_cfg.
Check for this configuration and boil out.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 488f069bd1f3aeb6ee748acb02b7581831bcb3f8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Jul 11 16:06:46 2013 +0300
virtio-net: add feature bit for any header s/g
Old qemu versions required that 1st s/g entry is the header.
Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup"
removed this limitation but a feature bit is needed so guests know it's
safe to lay out header differently.
This patch applies on top and adds such a feature bit to QEMU.
It is set by default for virtio-net.
virtio net header inline with the data is beneficial
for latency and small packet bandwidth - guest driver
code utilizing this feature has been acked but missed 3.11
by a narrow margin, it's pending for 3.12.
This feature bit is cleared by default when compatibility with old
machine types is requested.
Other performance-sensitive devices (blk and scsi)
don't yet support arbitrary s/g layouts, so
we only set this bit for virtio-net for now.
There are plans to allow arbitrary layouts there, but
no code has been posted yet.
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b1be42803b31a913bab65bab563a8760ad2e7f7f
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Jun 14 15:45:52 2013 +0800
net: add support of mac-programming over macvtap in QEMU side
Currently macvtap based macvlan device is working in promiscuous
mode, we want to implement mac-programming over macvtap through
Libvirt for better performance.
Design:
QEMU notifies Libvirt when rx-filter config is changed in guest,
then Libvirt query the rx-filter information by a monitor command,
and sync the change to macvtap device. Related rx-filter config
of the nic contains main mac, rx-mode items and vlan table.
This patch adds a QMP event to notify management of rx-filter change,
and adds a monitor command for management to query rx-filter
information.
Test:
If we repeatedly add/remove vlan, and change macaddr of vlan
interfaces in guest by a loop script.
Result:
The events will flood the QMP client(management), management takes
too much resource to process the events.
Event_throttle API (set rate to 1 ms) can avoid the events to flood
QMP client, but it could cause an unexpected delay (~1ms), guests
guests normally expect rx-filter updates immediately.
So we use a flag for each nic to avoid events flooding, the event
is emitted once until the query command is executed. The flag
implementation could not introduce unexpected delay.
There maybe exist an uncontrollable delay if we let Libvirt do the
real change, guests normally expect rx-filter updates immediately.
But it's another separate issue, we can investigate it when the
work in Libvirt side is done.
Michael S. Tsirkin: tweaked to enable events on start
Michael S. Tsirkin: fixed not to crash when no id
Michael S. Tsirkin: fold in patch:
"additional fixes for mac-programming feature"
Amos Kong: always notify QMP client if mactable is changed
Amos Kong: return NULL list if no net client supports rx-filter query
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 82a3a11897308b606120f7235001e87809708f85
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 1 12:40:19 2013 +0100
target-arm: Avoid g_hash_table_get_keys()
g_hash_table_get_keys() was only introduced in glib 2.14, and we're
still targeting a minimum version of 2.12. Rewrite the offending
code (introduced in commit 721fae1) to use g_hash_table_foreach()
to build the list of keys.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1372678819-8633-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 2ebcebe262e88111ff583f97bc5fe0aae64b8940
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 16:38:47 2013 +0100
target-arm: avoid undefined behaviour when writing TTBCR
LPAE CPUs have more potentially valid bits in the TTBCR, and so the
simple masking out of invalid bits is no longer sufficient to obtain
the base address width field of the register, which is what we use to
precalculate c2_mask and c2_base_mask. Explicitly extract the
relevant register field rather than simply shifting by the register
value.
This bug would have had no ill effects in practice, since if the
EAE bit (TTBCR bit 31) is set then we don't use the precalculated
masks, and if EAE is zero then bits 30..3 are all UNK/SBZP, so
well-behaved guests won't set them. However the shift is undefined
behaviour, so we should avoid it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372347527-4428-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 204a9c43afb92e2ff44fc9d1d377bc98ee97e3d7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:22:59 2013 +1000
target-arm/helper.c: Allow const opaques in arm CP
Allow for defining const opaque data in ARM CP register definitions by
setting .opaque = foo. If non null opaque is passed into
define_one_arm_cp_reg_with_opaque then that opaque will take
precedence, otherwise if null opaque is passed, the original opaque
data will be used.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cf0a3ac3438d97464240db9f5f4ef1585cbc1d77.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97ce8d61559b99492b4d389eba51a198e55b8455
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:22:21 2013 +1000
target-arm/helper.c: Implement MIDR aliases
Unimplemented registers in the cp15, CRn=0, opc1=0, CRm=0 space default
to aliasing the MIDR register. Set all registers in the space to access
MIDR by default.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
6127846712b7ad2727354a4f5e1d809451f1e859.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a703eda18a5c3e9b45f2b9a337a3e1e16c836cf9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jul 10 14:21:42 2013 +1000
target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup
The if block detecting OMAP/StrongARM modifies the id_cp_reginfo
.access fields in place. So there is no need to replicate the call
to define_arm_cp_reg(). Dropped, and let the OMAP case fall through
to the normal behaviour after the in-place modification.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
72aae9b8ebbc9a76d2b06faf8666ef8a4b34b92a.1373429432.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 12b10571141a20e1c23d3b597e55d5d1a3113265
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: explicitly decode SEVL instruction
The ARMv8 SEVL instruction is in the architectural hint space already
emulated as nop. This makes the decoding of SEVL explicit for clarity.
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Message-id: 1370606786-5650-3-git-send-email-mans@xxxxxxxxx
[PMM: added 'SEVL' to the TODO comment]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2359bf80c1c4e8ed1e7ddb03661fec6bace82a87
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: implement LDA/STL instructions
This adds support for the ARMv8 load acquire/store release instructions.
Since qemu does nothing special for memory barriers, these can be
emulated like their non-acquire/release counterparts.
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bf72d89f0a8fb27a6bfde1a689690fd577227762
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Thu Jul 11 13:22:19 2013 +0200
virtio-ccw: Enable x-data-plane for virtio-ccw-blk
Add property x-data-plane to virtio-ccw-blk devices.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b25a83f0538fceede15cba6cfd6ea0f1ffc9d777
Author: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Date: Fri Jul 5 14:21:37 2013 +0200
ARM/highbank: add support for Calxeda ECX-2000 / Midway
The Calxeda ECX-2000 chip (aka. Midway) is model-wise quite similar
to the Highbank. The most prominent difference is the Cortex-A15 CPU
core in it, together with the associated core peripherals.
Add a new ARM machine type called "midway".
Move the L2 cache controller device into the Highbank specific part,
since Midway does not have (and need) it.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Message-id: 1373026897-12085-3-git-send-email-andre.przywara@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 574f66bcbe10cd8fbf8bbf6d87451a944ae421bd
Author: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Date: Fri Jul 5 14:21:36 2013 +0200
ARM/highbank: prepare for adding similar machines
To allow the modelling of machines similar to Calxeda Highbank,
introduce a parameter to the init function and call it from a
wrapper. This allows to tweak the definition for individual machines
later on.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx>
Message-id: 1373026897-12085-2-git-send-email-andre.przywara@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8941d6ce25b43824cf96d30cb94742e02e80b2f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 9 13:49:40 2013 +0100
hw/arm/vexpress: Add alias for flash at address 0 on A15 board
The A15 Versatile Express board can remap a variety of things at address
0. We don't currently emulate the Serial Configuration Controller which
is how the guest can control this remapping, but we can provide the
initial default mapping of the first flash device into this space.
In particular this allows QEMU to boot flash images such as UEFI which
expect to include an exception vector table.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Grant Likely <grant.likely@xxxxxxxxxx>
Message-id: 1373374180-19884-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 7648673636bbd7dcb9abf3cc87a8ba7a65b85436
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 13:51:59 2013 +0100
hw/dma/omap_dma: Fix bugs with DMA requests above 32
The drqbmp field of struct soc_dma_s is a uint64_t; however several
places in the code attempt to set bits in it using "(1 << drq)",
which will fail if drq is large enough that the 1 bit gets shifted
off the top of a 32 bit integer. Change these to "(1ULL << drq)" so
that the promotion to 64 bit happens before the shift rather than
afterwards.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372423919-5669-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 8827b0fb66cab9f7978c4e66dad4cf3c0989a72e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 15:03:51 2013 +0100
sd/pl181.c: Avoid undefined shift behaviour in RWORD macro
Add a cast to avoid potentially shifting into the sign bit of
a signed value, which is undefined behaviour in C.
(Detected with clang's -fsanitize=undefined.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372341831-4264-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 528622421eb1be95eaadfe91e8e11729d1e46431
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jul 5 14:54:41 2013 +0100
hw/cpu/a15mpcore: Correct default value for num-irq
The a15mpcore device claims that its default value for num-irq
is the number of interrupts used by the A15MP in the vexpress-a15
board. However that chip has 128 external interrupts, not 64.
Since there is only one A15 based model in QEMU currently, we
can fix this by simply changing the default value.
This error was causing recent (3.10) Linux kernels to print
warnings/backtraces when the number of interrupts reported
by the GIC was smaller than an interrupt number they wanted
to use.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1373032481-15280-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 81e69fb093099ec5dccd61c92cec308f83091511
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Mon Jul 15 14:35:25 2013 +0100
target-arm: add feature flag for ARMv8
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9121d02cb33c96b444a3973579f5edc119597e81
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jul 15 12:28:07 2013 +0100
char/cadence_uart: Fix reset for unattached instances
commit 1db8b5efe0c2b5000e50691eea61264a615f43de introduced an issue
where QEMU would segfault if you have an unattached Cadence UART.
Fix by guarding the flush-on-reset logic on there being a qemu_chr
attachment.
Reported-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
Message-id:
9009578ee10a50d994b2e10aa2840d73765f5968.1370577272.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6d8ed24b446b1f1e07af87cde54317f54a1d42e
Author: Jani Kokkonen <Jani.Kokkonen@xxxxxxxxxx>
Date: Wed Jul 10 17:02:00 2013 +0200
tcg/aarch64: Implement tlb lookup fast path
Supports CONFIG_QEMU_LDST_OPTIMIZATION
Signed-off-by: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 15 11:25:55 2013 +0200
ahci: Fix FLUSH command
AHCI couldn't cope with asynchronous commands that aren't doing DMA, it
simply wouldn't complete them. Due to the bug fixed in commit f68ec837,
FLUSH commands would seem to have completed immediately even if they
were still running on the host. After the commit, they would simply hang
and never unset the BSY bit, rendering AHCI unusable on any OS sending
flushes.
This patch adds another callback for the completion of asynchronous
commands. This is what AHCI really wants to use for its command
completion logic rather than an DMA completion callback.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0e1146a7a011a69d8cbc958b4f7ebad186730fc3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:54:55 2013 +0200
migration: Fail migration on bdrv_flush_all() error
If bdrv_flush_all() returns an error, there is an inconsistency in the
view of an image file between the source and the destination host.
Completing the migration would lead to corruption. Better abort
migration in this case.
To reproduce this case, try the following (ensures that there is
something to flush, and then fails that flush):
$ qemu-img create -f qcow2 test.qcow2 1G
$ cat blkdebug.cfg
[inject-error]
event = "flush_to_os"
errno = "5"
$ qemu-system-x86_64 -hda blkdebug:blkdebug.cfg:test.qcow2 -monitor stdio
(qemu) qemu-io ide0-hd0 "write 0 4k"
(qemu) migrate ...
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5698346391b306c2c84358c68ee897c095d714cc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:49:54 2013 +0200
cpus: Add return value for vm_stop()
If flushing the block devices fails, return an error. The VM is stopped
anyway.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0f0fdfeec6c67ad374114ecc4b3e3ccde5e94d2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jul 5 13:48:01 2013 +0200
block: Add return value for bdrv_flush_all()
bdrv_flush() can fail, and bdrv_flush_all() should return an error as
well if this happens for a block device. It returns the first error
return now, but still at least tries to flush the remaining devices even
in error cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7a370406bdd13b1d46230d1cbca308d984d0dcae
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 10 17:30:26 2013 +0200
qemu-iotests: Update 051 reference output
This has been broken by commit bd5c51ee.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98289620e0460fa595581020ab20127da4a2fc44
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jul 10 15:47:39 2013 +0200
block: Don't parse protocol from file.filename
One of the major reasons for doing something new for -blockdev and
blockdev-add was that the old block layer code parses filenames instead
of just taking them literally. So we should really leave it untouched
when it's passing using the new interfaces (like -drive
file.filename=...).
This allows opening relative file names that contain a colon.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit de90930a0c45760e7523138fac57ff07312bf51d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 26 14:11:58 2013 +0200
block: add drive_backup HMP command
Make "drive_backup" available on the HMP monitor:
drive_backup [-n] [-f] device target [format]
The -n flag requests QEMU to reuse the image found in new-image-file,
instead of recreating it from scratch.
The -f flag requests QEMU to copy the whole disk, so that the result
does not need a backing file. Note that this flag *must* currently be
passed since the other sync modes ('none' and 'top') have not been
implemented yet. Requiring it ensures that "drive_backup" behaves like
"drive_mirror".
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b53169eae06d6cf6f512a8b1fdd5424a0a6aab85
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 26 14:11:57 2013 +0200
blockdev: add sync mode to drive-backup QMP command
The drive-backup command is similar to the drive-mirror command, except
no guest data written after the command executes gets copied. Add a
sync mode argument which determines whether the entire disk is copied,
just allocated clusters, or only clusters being written to by the guest.
Currently only sync mode 'full' is supported - it copies the entire disk.
For read-only point-in-time snapshots we may only need sync mode 'none'
since the target can be a qcow2 file using the guest's disk as its
backing file (no need to copy the entire disk). Finally, sync mode
'top' is useful if we wish to preserve the backing chain.
Note that this patch just adds the sync mode argument to drive-backup.
It does not implement sync modes 'top' or 'none'. This patch is
necessary so we can add a drive-backup HMP command that behaves like the
existing drive-mirror HMP command and takes a sync mode.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e605e969953d793036dbd450da6b59bb434fb3d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 13 17:23:37 2013 -0700
hw/alpha: Use SRM epoch
The 1980 epoch is used by the ARC PALcode for NT. But we're emulating
a system using the SRM PALcode. Using the proper epoch results in less
confusion in the guest userland.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 678421650dc166cd6cb35bb2bc0baf1b481b40ca
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 14:57:39 2013 -0700
hw/alpha: Drop latch_tmp hack
The memory and i/o core now support passing 64-bit accesses along
from the guest, so we no longer need to emulate them.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23326164ae6fe8d94b7eff123e03f97ca6978d33
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 14:55:59 2013 -0700
exec: Support 64-bit operations in address_space_rw
Honor the implementation maximum access size, and at least check
the minimum access size.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3661049fec64ffd7ab008e57e396881c6a4b53a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 15:46:37 2013 -0700
hw/alpha: Don't machine check on missing pci i/o
Not really correct, but we don't implement all of the random devices
that the kernel looks for. This is good enough to keep us booting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 056e6bae1c91f47165d962564f82f5176bae47f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jul 8 13:55:30 2013 -0700
hw/alpha: Don't use get_system_io
Advancements in the ioport subsystem mean that we need no longer
thunk memory-mapped i/o through the system-io address space.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c3cb8e77804313e1be99b5f28a34a346736707a5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 12 14:37:47 2013 -0500
ioport: remove LITTLE_ENDIAN mark for portio
Setting it to LE forces a byte swap when host != guest endian but
this makes no sense at all.
Herve made the suggestion upon observing that word writes/reads
were broken into byte writes/reads in such a way as to assume
devices are interpret registers as LE.
However, even if this were a problem, marking the region as LE is
not useful because what's essentially happening here is that LE is
open coded. So by marking it LE in MemoryRegionOps, we're doing a
superflous swap.
Now, the portio code is suspicious to begin with. The dispatch
layer really has no purpose in splitting I/O requests in the first
place...
Cc: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Cc: Alex Graf <agraf@xxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7ca1dfad952d8a8655b32e78623edcc38a51b14a
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:47:39 2013 -0600
Force auto-convegence of live migration
If a user chooses to turn on the auto-converge migration capability
these changes detect the lack of convergence and throttle down the
guest. i.e. force the VCPUs out of the guest for some duration
and let the migration thread catchup and help converge.
Verified the convergence using the following :
- Java Warehouse workload running on a 20VCPU/256G guest(~80% busy)
- OLTP like workload running on a 80VCPU/512G guest (~80% busy)
Sample results with Java warehouse workload : (migrate speed set to 20Gb
and
migrate downtime set to 4seconds).
(qemu) info migrate
capabilities: xbzrle: off auto-converge: off <----
Migration status: active
total time: 1487503 milliseconds
expected downtime: 519 milliseconds
transferred ram: 383749347 kbytes
remaining ram: 2753372 kbytes
total ram: 268444224 kbytes
duplicate: 65461532 pages
skipped: 64901568 pages
normal: 95750218 pages
normal bytes: 383000872 kbytes
dirty pages rate: 67551 pages
---
(qemu) info migrate
capabilities: xbzrle: off auto-converge: on <----
Migration status: completed
total time: 241161 milliseconds
downtime: 6373 milliseconds
transferred ram: 28235307 kbytes
remaining ram: 0 kbytes
total ram: 268444224 kbytes
duplicate: 64946416 pages
skipped: 64903523 pages
normal: 7044971 pages
normal bytes: 28179884 kbytes
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bde1e2ec2176c363c1783bf8887b6b1beb08dfee
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:49:42 2013 -0600
Add 'auto-converge' migration capability
The auto-converge migration capability allows the user to specify if they
choose live migration seqeunce to automatically detect and force
convergence.
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3c02270db980007424d797506301826310ce2db4
Author: Chegu Vinod <chegu_vinod@xxxxxx>
Date: Mon Jun 24 03:49:41 2013 -0600
Introduce async_run_on_cpu()
Introduce an asynchronous version of run_on_cpu() i.e. the caller
doesn't have to block till the call back routine finishes execution
on the target vcpu.
Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 25ca6a1f5a3ee0a1ae670590877ed14f05e28fba
Merge: c170a23... f35ea98...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jul 12 07:58:31 2013 -0500
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Alexander Graf (16) and others
# Via Alexander Graf
* agraf/ppc-for-upstream: (22 commits)
PPC: dbdma: Support more multi-issue DMA requests
PPC: Add timer handler for newworld mac-io
PPC: dbdma: Support unaligned DMA access
PPC: dbdma: Wait for DMA until we have data
PPC: dbdma: Move processing to io
PPC: dbdma: macio: Add DMA callback
PPC: dbdma: Move static bh variable to device struct
PPC: dbdma: Introduce kick function
PPC: dbdma: Move defines into header file
PPC: dbdma: Allow new commands in RUN state
PPC: dbdma: Fix debug print
PPC: Mac: Add debug prints in macio and dbdma code
PPC: dbdma: Replace tabs with spaces
PPC: Macio: Replace tabs with spaces
PPC: g3beige: Move secondary IDE bus to mac-io
PPC: Mac: Fix guest exported tbfreq values
target-ppc: Add POWER8 v1.0 CPU model
pseries: move interrupt controllers to hw/intc/
spapr: Respect -bios command line option for SLOF
spapr: Use named enum for function remove_hpte
...
Message-id: 1373562085-29728-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 15:29:13 2013 +0200
PPC: dbdma: Support more multi-issue DMA requests
A DMA request can happen for data that hasn't been completely been
provided by the IDE core yet. For example
- DBDMA request for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv
- breakage
Instead, we should truncate our bdrv request to the maximum number
of sectors we're allowed to read at that given time. Once that transfer
is through, we will fall into our recently introduced waiting logic.
- DBDMA requests for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read MIN(0x1000, 1 * 512) bytes
- DBDMA finishes reading, indicates to IDE core that transfer is
complete
- IDE request for 7 sectors
- DBDMA finishes the DMA
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a0f9fdfd98cc0571f9921a7eadd7316532e3e289
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 05:15:14 2013 +0200
PPC: Add timer handler for newworld mac-io
Mac OS X accesses fancy timer registers inside of the mac-io on bootup.
These really should be ticking at the mac-io bus frequency, but I don't
see anyone upset when we just make them as fast as we want to.
With this patch on top of my previous patch queue and latest OpenBIOS
I am able to boot Mac OS X 10.4 with -M mac99.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80fc95d8bdaf3392106b131a97ca701fd374489a
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jun 28 13:30:01 2013 +0200
PPC: dbdma: Support unaligned DMA access
The DBDMA engine really just reads bytes from a producing device (IDE
in our case) and shoves these bytes into memory. It doesn't care whether
any alignment takes place or not.
Our code today however assumes that block accesses always happen on
sector (512 byte) boundaries. This is a fair assumption for most cases.
However, Mac OS X really likes to do unaligned, incomplete accesses
that it finishes with the next DMA request.
So we need to read / write the unaligned bits independent of the actual
asynchronous request, because that one can only handle 512-byte-aligned
data. We also need to cache these unaligned sectors until the next DMA
request, at which point the data might be successfully flushed from the
pipe.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cae323572eddc1a45e2f6ef98c006d98fed23b1e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:54:35 2013 +0200
PPC: dbdma: Wait for DMA until we have data
We should only start processing DMA requests when we have data to process.
Hold off working through the DMA shuffling until the IDE core told us that
it's ready.
This is required because the guest can program the DMA engine or the IDE
transfer first. Both are legal.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 03ee3b1e58266c7e5b155d58f443d94b23d2bd05
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:47:20 2013 +0200
PPC: dbdma: Move processing to io
Soon we will introduce intermediate processing pauses which will
allow the bottom half to restart a DMA request that couldn't be
fulfilled yet.
For that to work, move the processing variable into the io struct
which is what DMA providers work with.
While touching it, also change it into a bool
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4aa3510f6f36c5ea35219acf641788222d977437
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:36:14 2013 +0200
PPC: dbdma: macio: Add DMA callback
We need to know when the IDE core starts a DMA transfer. Add a notifier
function so we have the chance to start transmitting data.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d2f0ce2189feef94516d81fa5834fa4d65435053
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:22:41 2013 +0200
PPC: dbdma: Move static bh variable to device struct
The DBDMA controller has a bottom half to asynchronously process DMA
request queues.
This bh was stored as a gross static variable. Move it into the device
struct instead.
While at it, move all users of it to the new generic kick function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1e562deb2de5c2ced639b18dee59a9ab08236b6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:18:54 2013 +0200
PPC: dbdma: Introduce kick function
The DBDMA engine really is running all the time, waiting for input.
However
we don't want to waste cycles constantly polling.
So introduce a kick function that data providers can call to notify the
DBDMA controller of new input.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f2f963fd0775263f9c1cdd3cd92b171c8dae6c77
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 02:06:35 2013 +0200
PPC: dbdma: Move defines into header file
We usually keep struct and constant definitions in header files. Move
them there to stay consistent and to make access to fields easier.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7eaba824b6bc14ee724f8593891f2165d2faa4ab
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:53:51 2013 +0200
PPC: dbdma: Allow new commands in RUN state
The DBDMA controller can not change its command stream while it's
actively streaming data, true. But the fact that it's in RUN state
doesn't actually indicate anything. It could just as well be in
WAIT while in RUN. And then it's legal to change commands.
This fixes a real world issue I've encountered with Mac OS X.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 58c0c311838dd2c6622a156b4d261aa127c510dd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:53:05 2013 +0200
PPC: dbdma: Fix debug print
There was a debug print that didn't compile for me because the format
and the arguments weren't in sync. Fix it up.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 33ce36bb33cc00ac3070d49e17b4afed62b412a8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:23:45 2013 +0200
PPC: Mac: Add debug prints in macio and dbdma code
The macio code is basically undebuggable as it stands today, with no
debug prints anywhere whatsoever. DBDMA was better, but I needed a
few more to create reasonable logs that tell me where breakage is.
Add a DPRINTF macro in the macio source file and add a bunch of debug
prints that are all disabled by default of course.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9e232428784641b8e48a237a4cb2ffe84450d15c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:45:22 2013 +0200
PPC: dbdma: Replace tabs with spaces
s/^I/ /g on the file with a few manual tweaks to align things.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8aef291fb876670b264297ab333f5072cddbf625
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 30 01:43:17 2013 +0200
PPC: Macio: Replace tabs with spaces
s/^I/ /g on the file.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jun 24 21:40:50 2013 +0200
PPC: g3beige: Move secondary IDE bus to mac-io
On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not
on some random PCI device. Move it there to become more compatible.
While at it, also clean up the IDE channel connection logic.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 536d8cda4adef3d202a800688ed5f63dae1f0f88
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jun 29 17:34:58 2013 +0200
PPC: Mac: Fix guest exported tbfreq values
We can tell the guest the frequency of its time base through fwcfg.
However, we tell it a different value from the speed tb actually runs
at. Let's fix it and make the tbfreq initialization and the fwcfg exposure
use the same values.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8d43ea1c97d0d611f9cf868fe78b17f2a1031298
Author: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Date: Thu Jul 4 12:12:32 2013 +0530
target-ppc: Add POWER8 v1.0 CPU model
This patch adds CPU PVR definition for POWER8,
and enables QEMU to launch guests on POWER8 hardware.
Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Paul Mackerras <paulus@xxxxxxxxx>
Reviewed-by: Andreas Farber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 42e5b4c9884c2c69825d6b6c6ddfbf25290856db
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Jul 6 23:53:58 2013 +1000
pseries: move interrupt controllers to hw/intc/
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e7ea787a20e30d44232cafb5a6e9a9fea364c66
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 21:26:50 2013 +0200
spapr: Respect -bios command line option for SLOF
Allow the user to override the firmware file name rather than always
using "slof.bin".
Reported-by: Dinar Valeev <k0da@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a3801402aa01e2ecb617f89b2e11f212d948b5af
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 24 19:48:47 2013 +0200
spapr: Use named enum for function remove_hpte
The function returned a target_ulong which was made from unnamed enum
values. The target_ulong was then assigned to an int variable which
was used in a switch statement.
Using a named enum in both cases makes reviews easier.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9a39970df783cf8317e7dbf00a8af184ce868b1b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jun 29 15:47:26 2013 +0200
spapr: Fix compiler warnings for some versions of gcc
i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports these
warnings:
hw/ppc/spapr_hcall.c:188:1: warning:
control reaches end of non-void function [-Wreturn-type]
hw/ppc/spapr_pci.c:454:1: warning:
control reaches end of non-void function [-Wreturn-type]
Both warnings are fixed by using g_assert_not_reached instead of assert.
A second line with assert(0) in spapr_pci.c which did not raise a compiler
warning was modified, too, because g_assert_not_reached documents the
purpose of that statement and is not removed in release builds.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7162bdea75e9f63afdd2cacfe26ee4b472a59362
Author: Julio Guerra <guerr@xxxxxxxx>
Date: Mon Jun 24 23:15:54 2013 +0200
e600 core for MPC86xx processors
MPC86xx processors are based on the e600 core, which is not the case
in qemu where it is based on the 7400 processor.
This patch creates the e600 core and instantiates the MPC86xx
processors based on it. Therefore, adding the high BATs, the SPRG
4..7 registers, which are e600-specific [1], and a HW MMU model (as 7400).
This allows to define the MPC8610 processor too.
Tested with a kernel using the HW TLB misses.
[1] http://cache.freescale.com/files/32bit/doc/ref_manual/E600CORERM.pdf
Signed-off-by: Julio Guerra <guerr@xxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c170a23ca0097a95b44fc7cc604018cd3c3b7d44
Merge: 51455c5... 5e2ac51...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 14:34:32 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Kevin Wolf (4) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
add timestamp to error_report()
qapi-schema: Use existing type for drive-backup arguments
qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
qapi.py: Allow top-level type reference for command definitions
qapi.py: Avoid code duplication
qemu-char: Fix ringbuf option size
Message-id: 1373478767-20965-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e2ac5191772dea782ff78e95edd395985273019
Author: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Date: Wed Jul 3 23:02:46 2013 -0400
add timestamp to error_report()
[Issue]
When we offer a customer support service and a problem happens
in a customer's system, we try to understand the problem by
comparing what the customer reports with message logs of the
customer's system.
In this case, we often need to know when the problem happens.
But, currently, there is no timestamp in qemu's error messages.
Therefore, we may not be able to understand the problem based on
error messages.
[Solution]
Add a timestamp to qemu's error message logged by
error_report() with g_time_val_to_iso8601().
Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f53cae50f81449596e55159cfe61efbef9246b2e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 9 10:05:35 2013 +0200
qapi-schema: Use existing type for drive-backup arguments
This removes duplicated definitions and documentation by reusing the
existing data type.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 852ad1a900a4ae23514e1a53c86632543592c31b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:52 2013 +0200
qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
We don't have to duplicate the definition any more now that we may refer
to a type instead.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b35284ea207a0ae1c0b162344cdef2a83304befc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:51 2013 +0200
qapi.py: Allow top-level type reference for command definitions
If 'data' for a command definition isn't a dict, but a string, it is
taken as a (struct) type name and the fields of this struct are directly
used as parameters.
This is useful for transactionable commands that can use the same type
definition for both the transaction action and the arguments of the
standalone command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit bd9927fee4e63b451b4ef67a4c49729070d8b05d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 1 16:31:50 2013 +0200
qapi.py: Avoid code duplication
The code that interprets the read JSON expression and appends types to
the respective global variables was duplicated. We can avoid that by
splitting off the part that reads from the file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0f953051178f2e3df36efa5158a71f33d35fa812
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 27 16:22:07 2013 +0200
qemu-char: Fix ringbuf option size
Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER"
assertion. Broken in commit 1da48c65.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 51455c59ddc370612f6e070d8eb0e594aaa7ef24
Merge: 9f9a03b... 91b1df8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:54:16 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings
* Fix for OpenRISCCPU subclasses
* Fix for gdbstub CPU selection
* Move linux-user CPU functions into new header
* CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al.
* Fix some targets to consistently inline TCG code generation
* Centrally log CPU reset
# gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (41) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony: (43 commits)
cpu: Move reset logging to CPUState
target-ppc: Change LOG_MMU_STATE() argument to CPUState
target-i386: Change LOG_PCALL_STATE() argument to CPUState
log: Change log_cpu_state[_mask]() argument to CPUState
target-i386: Change do_smm_enter() argument to X86CPU
target-i386: Change do_interrupt_all() argument to X86CPU
target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
target-unicore32: Change gen_intermediate_code_internal() signature
target-sparc: Change gen_intermediate_code_internal() argument to
SPARCCPU
target-sh4: Change gen_intermediate_code_internal() argument to
SuperHCPU
target-s390x: Change gen_intermediate_code_internal() argument to
S390CPU
target-ppc: Change gen_intermediate_code_internal() argument to
PowerPCCPU
target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
target-microblaze: Change gen_intermediate_code_internal() argument
types
target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
target-i386: Change gen_intermediate_code_internal() argument to X86CPU
target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
target-alpha: Change gen_intermediate_code_internal() argument to
AlphaCPU
...
commit 9f9a03b9818194da39c6759d9b0cbee5d7ace4e1
Merge: 6272d17... 8384274...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:54:09 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Andreas Schwab (2) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user: Do not ignore mmap failure from host
linux-user: improve target_to_host_sock_type conversion
user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
linux-user: Fix sys_utimensat (would not compile on old glibc)
linux-user: fix signal number range check
linux-user: add SIOCADDRT/SIOCDELRT support
linux-user: handle /proc/$$ like /proc/self
Message-id: cover.1373051589.git.riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6272d17c420b8cdd6af1784edd34f0b3e9f26b76
Merge: 9d6a3d5... 0caa91f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 10 10:53:55 2013 -0500
Merge remote-tracking branch 'rth/tcg-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-next:
tcg-arm: Implement tcg_register_jit
tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
tcg: Move the CIE and FDE header definitions to common code
tcg: Fix high_pc fields in .debug_info
tcg-arm: Use AT_PLATFORM to detect the host ISA
tcg-arm: Simplify logic in detecting the ARM ISA in use
tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
tcg-arm: Make use of conditional availability of opcodes for divide
tcg: Simplify logic using TCG_OPF_NOT_PRESENT
tcg: Allow non-constant control macros
tcg-ppc64: Don't implement rem
tcg-ppc: Don't implement rem
tcg-arm: Don't implement rem
tcg: Split rem requirement from div requirement
tcg: Add myself to general TCG maintainership
Message-id: 1373379515-28596-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d6a3d58e4d1431ab3809ff621cfd1f9ec75eef5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 19:18:59 2013 +1000
qom: Fix class cast of NULL classes
Its clear from the implementation that class casting is supposed to work
with a NULL class argument. Guard all dereferences of the class argument
against NULL accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4268b096272657b129a014f6f019625c4c8df2c1
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Jul 9 13:36:05 2013 -0400
pci: fix BRDIGE typo
Fix typo in macro name: PCI_CLASS_BRDIGE_PCI_INF_SUB.
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e78e9ae4a933504d383703870d491615b0261801
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Jul 9 11:40:02 2013 -0400
pci-bridge: update mappings for migration/restore
Fix for LP#1187529: Devices on PCI bridge stop working when
live-migrated. Update bridge mappings for all PCI bridge
devices in get_pci_config_device().
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 91b1df8cf9e1ecaa8679c9ea8713d1e25c28e6c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 07:49:48 2013 +0200
cpu: Move reset logging to CPUState
x86 was using additional CPU_DUMP_* flags, so make that configurable in
CPUClass::reset_dump_flags.
This adds reset logging for alpha, unicore32 and xtensa.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 77710e7aec1e5ae0195cf6ebae6864e3ccb5693a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 00:52:23 2013 +0200
target-ppc: Change LOG_MMU_STATE() argument to CPUState
Choose CPUState rather than PowerPCCPU since doing a CPU() cast on the
macro argument would hide type mismatches.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8995b7a083e0fda9fac1db3888b3dafe14bd033c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 01:07:10 2013 +0200
target-i386: Change LOG_PCALL_STATE() argument to CPUState
Since log_cpu_state_mask() argument was changed to CPUState,
CPUArchState is no longer needed.
Choose CPUState rather than X86CPU to not hide type mismatches with CPU().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a0762859ae2aae2e221c59e2541f964f1350d68b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 07:28:50 2013 +0200
log: Change log_cpu_state[_mask]() argument to CPUState
Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn
cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no
longer needed.
Add documentation and make the functions available through qemu/log.h
outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h
was not yet possible due to convoluted include paths, so that some
devices grow an implicit and unneeded dependency on qom/cpu.h for now.
Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32)
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 518e9d7d486273f4ee8d38946e73a7483aca4a92
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 02:45:17 2013 +0200
target-i386: Change do_smm_enter() argument to X86CPU
Prepares for log_cpu_state_mask() changing argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca4c810aab853788e907a791f8edea68ac30b0e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 3 02:00:09 2013 +0200
target-i386: Change do_interrupt_all() argument to X86CPU
Prepares for log_cpu_state() changing argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90b85b7706e2f80a1f0aa148e180ed70e4093846
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:33:01 2013 +0200
target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62a80559368de7b2dedc91039d8d11650e31ba4c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:29:57 2013 +0200
target-unicore32: Change gen_intermediate_code_internal() signature
Use UniCore32CPU and bool.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 68a471556d911a0adcf639e5fd5af2a2be4c4cb1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:27:28 2013 +0200
target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38e308103d40d859e2da74166fd4a1a80d78106d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:24:41 2013 +0200
target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d9916c23d3024ce2ae7f6300a7b4e62780e4632b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:22:09 2013 +0200
target-s390x: Change gen_intermediate_code_internal() argument to S390CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213fe1f5135abe052b634e08fddf6e9945f0eeed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:19:32 2013 +0200
target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6429db34c11f8cbb2af446a9c1c80395794e6113
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:17:17 2013 +0200
target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a274212f03adaf8b5971cc39d460335392a97f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:14:44 2013 +0200
target-microblaze: Change gen_intermediate_code_internal() argument types
Use MicroBlazeCPU and bool.
Prepares for changing log_cpu_state() argument to CPUState and for
moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c296b15b7c2425a2973ad0e63810029913511b51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:11:36 2013 +0200
target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cd0db97ee050ccea7082361a1193a3bef5648454
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:09:30 2013 +0200
target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 467215c20f4befed253696dd6910839bacf75837
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:09:01 2013 +0200
target-i386: Change gen_intermediate_code_internal() argument to X86CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fd2592dbcc0130e9999a739867a1b539c5ee853
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:04:49 2013 +0200
target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5639c3f224bbe3095ce6584bc8a5ace68b6d8197
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 21:57:04 2013 +0200
target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 86a35f7c4608b1961a1a459659a97033cc14d274
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 22:01:20 2013 +0200
target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU
Also use bool argument while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ae06d4988d6799f0bd16f27c2bcf80fa1cd2cfd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:05:21 2013 +0200
target-xtensa: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13cccc692818a570d1fb1326c84d3edae68987aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:04:28 2013 +0200
target-moxie: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd327f48f7e5892318b6dca2c9c6030618f65728
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 20:03:00 2013 +0200
target-microblaze: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28014bcab244e968cb03f20384943494bd069ee0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 19:35:02 2013 +0200
target-lm32: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f47ec50db92b4bc77de06661a9e7a3eb538b660
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 19:30:14 2013 +0200
target-cris: gen_intermediate_code_internal() should be inlined
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 369ff018fee40ffb8f6721e5d7f6b56bea74176c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 26 17:51:27 2013 +0200
target-i386: Don't overuse CPUArchState
Use CPUX86State instead in dump support code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4fd6dd06e66a93fce31b05909ad8d9f0f9dba06e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:17:00 2013 +0200
target-s390x: Change handle_{hypercall,diag}() argument to S390CPU
This allows to get rid of the last remaining ENV_GET_CPU() in
target-s390x/ by using CPU() cast directly on the argument.
Cc: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19079e460520053114127f812ddc488b974c2117
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:04:45 2013 +0200
target-s390x: Don't overuse ENV_GET_CPU()
Commit 3474b679486caa8f6448bae974e131370f360c13 (Utilize selective
runtime reg sync for hot code paths) introduced two uses of
ENV_GET_CPU() inside target-s390x/ KVM code. In one case we can use a
direct CPU() cast instead.
Cc: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 09c6a63a6144bbfe2fe434e84d16dd4db6028b6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 21 17:00:04 2013 +0200
target-ppc: Don't overuse ENV_GET_CPU()
Commit b632a148b677b773ff155f9de840b37a653567b9 (target-ppc: QOM method
dispatch for MMU fault handling) introduced a use of ENV_GET_CPU()
inside target-ppc/ code. Use ppc_env_get_cpu() instead.
Purely cosmetic, non-functional change to aid in locating and removing
ENV_GET_CPU() usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit de6db419e5cfe604464a7612b5a5f9214d0af837
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 17:10:28 2013 +0200
timer/arm_mptimer: Build arm_mptimer only once
Since current_cpu is CPUState it no longer depends on CPUARMState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b927571ccdb79deda74ba84ef493e6cb37eacbe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 17:04:21 2013 +0200
intc/openpic: Build openpic only once
Since current_cpu is CPUState it no longer depends on CPUPPCState.
Move ppce500_set_mpic_proxy() to a new hw/ppc/ppc_e500.h because
hw/ppc/ppc.h is too heavily using CPUPPCState and PowerPCCPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dfc080791dfb9dd8907a15e6d45b6cc4969b986f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 16:42:03 2013 +0200
intc/arm_gic: Build arm_gic only once
Since current_cpu is CPUState it no longer needs CPUArchState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dca1173c20e7e7366a9c36f88ae4234e5387ed28
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 19:51:23 2013 +0200
bsd-user: Change thread_env to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a2247f8ec919c51c5749c2e3659841f1a733cce3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 19:47:04 2013 +0200
linux-user: Change thread_env to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 182735efaf956ccab50b6d74a4fed163e0f35660
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 22:29:20 2013 +0200
cpu: Make first_cpu and next_cpu CPUState
Move next_cpu from CPU_COMMON to CPUState.
Move first_cpu variable to qom/cpu.h.
gdbstub needs to use CPUState::env_ptr for now.
cpu_copy() no longer needs to save and restore cpu_next.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[AF: Rebased, simplified cpu_copy()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b056fcc5becd183fa2bdec9d259bf26b5f71207
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 23:53:10 2013 +0200
linux-user: Clean up do_syscall() Coding Style for TARGET_NR_exit
In particular fix 6-/10-char indentation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d5791f4a67048591c1b038e47c85ccb2c023214
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 14:40:48 2013 +0200
kvm: Change kvm_remove_all_breakpoints() argument to CPUState
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4917cf44326a1bda2fd7f27303aff7a25ad86518
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 05:17:50 2013 +0200
cpu: Replace cpu_single_env with CPUState current_cpu
Move it to qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 80b7cd735417b0883a026d79a513629a2817cdb4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 19 17:37:31 2013 +0200
kvm: Free current_cpu identifier
Since CPU loops are done as last step in kvm_{insert,remove}_breakpoint()
and kvm_remove_all_breakpoints(), we do not need to distinguish between
invoking CPU and iterated CPUs and can thereby free the identifier for
use as a global variable.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 10 16:34:06 2013 +0200
cpu: Drop unnecessary dynamic casts in *_env_get_cpu()
A transition from CPUFooState to FooCPU can be considered safe,
just like FooCPU::env access in the opposite direction.
The only benefit of the FOO_CPU() casts would be protection against
bogus CPUFooState pointers, but then surrounding code would likely
break, too.
This should slightly improve interrupt etc. performance when going from
CPUFooState to FooCPU.
For any additional CPU() casts see
3556c233d931ad5ffa46a35cb25cfc057732ebb8
(qom: allow turning cast debugging off).
Reported-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6291ad77d7c57dfc52a6a938d1a77ec3ec3ad16c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 28 14:22:32 2013 +0100
linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user
The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU
related -- they are specific to the TLS ABI for a a particular OS.
Move them into the linux-user/ tree where they belong.
target-lm32 had entirely unused implementations, since it has no
linux-user target; just drop them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa48dd9319dcee78ec17f4d516fb7bfc62b1a4d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 9 20:50:52 2013 +0200
Revert "gdbstub: Simplify find_cpu()"
This reverts commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3, which
replaced cpu_index() with cpu_index field, leading to deviation from
thread ID for NTPL and off-by-one otherwise.
Reported-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1b71b0c03df575c72ea413b2f2c27a7a477c05a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:23 2013 +0200
vl: Tighten parsing of -machine option phandle_start
Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, which
actually bothers to check for errors, rather than its user, which
doesn't.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1372943363-24081-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ff3de685a875ece3ee21256736c0a9dbf39dc4c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:22 2013 +0200
Simplify -machine option queries with qemu_get_machine_opts()
The previous two commits fixed bugs in -machine option queries. I
can't find fault with the remaining queries, but let's use
qemu_get_machine_opts() everywhere, for consistency, simplicity and
robustness.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7bccd9402691e712305bc3b5cc6cf2fa1cc27631
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:21 2013 +0200
microblaze: Fix latent bug with default DTB lookup
microblaze_load_kernel() fails to call
qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename) when no -machine
options are given. This can't normally happen, because -machine
option kernel is mandatory for this target. Fix it anyway, by using
qemu_get_machine_opts().
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36ad0e948e15d8d86c8dec1c17a8588d87b0107d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:20 2013 +0200
Fix -machine options accel, kernel_irqchip, kvm_shadow_mem
Multiple -machine options with the same ID are merged. All but the
one without an ID are to be silently ignored.
In most places, we query these options with a null ID. This is
correct.
In some places, we instead query whatever options come first in the
list. This is wrong. When the -machine processed first happens to
have an ID, options are taken from that ID, and the ones specified
without ID are silently ignored.
Example:
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
id=foo -machine accel=kvm,usb=on
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
id=foo,accel=kvm,usb=on -machine accel=xen
$ upstream-qemu -nodefaults -S -display none -monitor stdio -machine
accel=xen -machine id=foo,accel=kvm,usb=on
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine accel=kvm,usb=on
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: enabled
(qemu) info usb
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine id=foo -machine accel=kvm,usb=on
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: disabled
(qemu) info usb
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine id=foo,accel=kvm,usb=on -machine accel=xen
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) info kvm
kvm support: enabled
(qemu) info usb
USB support not enabled
(qemu) q
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio
-machine accel=xen -machine id=foo,accel=kvm,usb=on
xc: error: Could not obtain handle on privileged command interface (2
= No such file or directory): Internal error
xen be core: can't open xen interface
failed to initialize Xen: Operation not permitted
Option usb is queried correctly, and the one without an ID wins,
regardless of option order.
Option accel is queried incorrectly, and which one wins depends on
option order and ID.
Affected options are accel (and its sugared forms -enable-kvm and
-no-kvm), kernel_irqchip, kvm_shadow_mem.
Additionally, option kernel_irqchip is normally on by default, except
it's off when no -machine options are given. Bug can't bite, because
kernel_irqchip is used only when KVM is enabled, KVM is off by
default, and enabling always creates -machine options. Downstreams
that enable KVM by default do get bitten, though.
Use qemu_get_machine_opts() to fix these bugs.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7f9d6e540ec4f3bf4dc3501c4a1405998c2be4e7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:19 2013 +0200
vl: New qemu_get_machine_opts()
To be used in the next few commits to fix or clean up queries of
"machine" options (-machine and its sugared forms).
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d4cd408686f5ae60b2b3b94b79f48ddedc2f39d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:18 2013 +0200
qemu-option: Fix qemu_opts_set_defaults() for corner cases
Commit 4f6dd9a changed the initialization of opts in opts_parse() to
this:
if (defaults) {
if (!id && !QTAILQ_EMPTY(&list->head)) {
opts = qemu_opts_find(list, NULL);
} else {
opts = qemu_opts_create(list, id, 0);
}
} else {
opts = qemu_opts_create(list, id, 1);
}
Same as before for !defaults.
If defaults is true, and params has no ID, and options exist, we use
the first assignment. It sets opts to null if all options have an ID.
opts_parse() then returns null. qemu_opts_set_defaults() asserts the
value is non-null. It's the only caller that passes true for
defaults.
To reproduce, try "-M xenpv -machine id=foo" (yes, "id=foo" is silly,
but it shouldn't crash).
I believe the function attempts to do the following:
If options don't yet exist, create new options
Else, if defaults, modify the existing options
Else, if list->merge_lists, modify the existing options
Else, fail
A straightforward call of qemu_opts_create() does exactly that.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1372943363-24081-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96bc97ebf350ec480b69082819cedb8850f46a0f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jul 4 15:09:17 2013 +0200
qemu-option: Fix qemu_opts_find() for null id arguments
Crashes when the first list member has an ID. Admittedly nonsensical
reproducer:
$ qemu-system-x86_64 -nodefaults -machine id=foo -machine ""
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372943363-24081-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 154bb106dc195b4fbb76df0452ab6e3e24e80d72
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jul 5 19:07:16 2013 +0200
exec: Remove unused global variable phys_ram_fd
It seems to be unused since several years (commit
be995c27640a82c7056b6f53d02ec823570114e5 in 2006).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1373044036-14443-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 92304bf3998cedcf3b1026a795edba7e1fd17c74
Author: M. Mohan Kumar <mohan@xxxxxxxxxx>
Date: Thu Jul 4 14:51:18 2013 +0530
hw/9pfs: Fix memory leak in error path
Fix few more memory leaks in virtio-9p-device.c detected using valgrind.
Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1372929678-14341-1-git-send-email-mohan@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b58c86e1e4cdf59373aad2ec25f99f772766374c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 12:02:40 2013 +0200
fsdev: Fix potential memory leak
This leak was reported by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx>
Message-id: 1371376960-18192-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edb5092c245d34e05ca410d4bf32cf0c2786c8e8
Author: MRatnikov <m.o.ratnikov@xxxxxxxxx>
Date: Mon Jul 8 01:03:02 2013 +0400
Extend support of SMBUS(module pm_smbus.c) HST_STS register.
Previous realization doesn't consider flags in the status register.
Add DS and INTR bits of HST_STS register set after transaction execution.
Update bits resetting in HST_STS register. Update error processing:
if DEV_ERR bit set transaction isn't execution.
Signed-off-by: MRatnikov <m.o.ratnikov@xxxxxxxxx>
Message-id: 1373230982-9190-1-git-send-email-m.o.ratnikov@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02c4bdf1d2ca8c02a9bae16398f260b5c08d08bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jul 3 20:29:45 2013 +0400
trap signals for "-serial mon:stdio"
With mon:stdio you can exit the VM by switching to the monitor and
sending the "quit" command. It is then useful to pass Ctrl-C to the
VM instead of exiting.
This in turn lets us stop tying the default signal handling behavior
to -nographic, removing gratuitous differences between "-display none"
and "-nographic".
This patch changes behavior for "-display none -serial mon:stdio", as
expected, but not for "-display none -serial stdio".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372868986-25988-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 964c6fa16f50a607f9da5068d6bf15ccc93872c0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 21 19:10:16 2013 -0700
configure: Simplify alternate .text segment
For bsd-user and linux-user emulation modes QEMU needs to be linked at an
alternate .text segment address, so that it's out of the way of the guest
executable. Instead of including modified linker scripts for each arch,
just set the address with -Ttext-segment if supported, or by using sed to
edit the default linker script.
Cc: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Message-id: 1371867016-7660-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 071b3364e7995036816aa4ebf80ecfa04b1a31de
Author: Dongxue Zhang <elta.era@xxxxxxxxx>
Date: Tue Jul 2 17:11:55 2013 +0800
target-openrisc: Fix typename in openrisc_cpu_class_by_name()
Commit 478032a93d908e59085c1ac56f10979942e7dc4f (target-openrisc:
Rename CPU subtypes) suffixed CPU sub-types with "-or32-cpu" but forgot
to update openrisc_cpu_class_by_name(), so that it was still looking for
the types without suffix.
Make target-openrisc running OK by adding the suffix to the model name.
This means it is no longer possible to use -cpu or1200-or32-cpu or
-cpu any-or32-cpu though.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Tested-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0caa91fe1f0a60269d7af032118639303e6eddd6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:55:33 2013 -0700
tcg-arm: Implement tcg_register_jit
Allows unwinding past the code_gen_buffer.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b5cc476da7e71629d8d4ab77f691c70346368788
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:56:29 2013 -0700
tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
We can check the condition at compile time, rather than run time.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 497a22eb87da704c0a59ebebfde441849cd5189b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jun 5 07:39:57 2013 -0700
tcg: Move the CIE and FDE header definitions to common code
These will necessarily be the same layout for all hosts. This limits
the amount of boilerplate required to implement jit debug for a host.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 45aba097d24544ed2d3244b3268a071750e4499b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri May 24 14:16:14 2013 -0700
tcg: Fix high_pc fields in .debug_info
I don't think the debugger actually looks at this for anything,
using the correct .debug_frame contents, but might as well get
it all correct.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1e709f38331ef5bab76cd454c61d4af982cadf0b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jun 6 10:46:35 2013 -0700
tcg-arm: Use AT_PLATFORM to detect the host ISA
With this we can generate armv7 insns even when the OS compiles for a
lower common denominator. The macros are arranged so that when we do
compile for a given ISA, all of the runtime checks for that ISA are
optimized away.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cb91021a4786efdd6e4ca1ebfd8729481466bbb8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jun 6 10:21:37 2013 -0700
tcg-arm: Simplify logic in detecting the ARM ISA in use
GCC 4.8 defines a handy __ARM_ARCH symbol that we can use, which
will make us nicely forward compatible with ARMv8 AArch32.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fb82273851a855e72248fcabe93bc43ab3a8efe4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 4 11:20:26 2013 -0700
tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
As it really controls the availability of a thumb interworking
instruction on armv5t.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 72e1ccfc0cf32005e23d308edfe2d06c7472154e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 12:18:38 2013 +0100
tcg-arm: Make use of conditional availability of opcodes for divide
We can now detect and use divide instructions at runtime, rather than
having to restrict their availability to compile-time.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c1a61f6c85f63d379b4a03d399986174371f5c2e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 11:57:40 2013 +0100
tcg: Simplify logic using TCG_OPF_NOT_PRESENT
Expand the definition of "not present" to include "should not be present".
This means we can simplify the logic surrounding the generic tcg opcodes
for which the host backend ought not be providing definitions.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4ef76952bd702d29ee4c021f068d85b063fdb928
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu May 2 11:35:08 2013 +0100
tcg: Allow non-constant control macros
This allows TCG_TARGET_HAS_* to be a variable rather than a constant,
which allows easier support for differing ISA levels for the host.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5b9f72ab59ec9d57546cfc499ccc863327cb8a46
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:24:55 2013 -0700
tcg-ppc64: Don't implement rem
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 865a4671f97e3b52c3ba4167d4f2630e79927712
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:24:15 2013 -0700
tcg-ppc: Don't implement rem
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e1108b3709d7bc04cae141f36d35cc11430a79b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 23:13:30 2013 -0700
tcg-arm: Don't implement rem
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ca675f46e695bd49a1c21a5e82c6b8c77ee12edf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 22:41:47 2013 -0700
tcg: Split rem requirement from div requirement
There are several hosts with only a "div" insn. Remainder is computed
manually from the quotient and inputs. We can do this generically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc7772bdbe4cb0ff1bac538bda86260b871d8b1a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 3 11:09:03 2013 -0700
tcg: Add myself to general TCG maintainership
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc11549ec213f85f6a024c7df68d349464cd1688
Merge: 945dad6... 7588e2b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 8 08:00:23 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,misc enhancements
This includes some pci enhancements:
Better support for systems with multiple PCI root buses
FW cfg interface for more robust pci programming in BIOS
Minor fixes/cleanups for fw cfg and cross-version migration -
because of dependencies with other patches
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 07 Jul 2013 03:11:18 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By David Gibson (10) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pci: Fold host_buses list into PCIHostState functionality
pci: Remove domain from PCIHostBus
pci: Simpler implementation of primary PCI bus
pci: Add root bus parameter to pci_nic_init()
pci: Add root bus argument to pci_get_bus_devfn()
pci: Replace pci_find_domain() with more general pci_root_bus_path()
pci: Use helper to find device's root bus in pci_find_domain()
pci: Abolish pci_find_root_bus()
pci: Move pci_read_devaddr to pci-hotplug-old.c
pci: Cleanup configuration for pci-hotplug.c
pvpanic: fix fwcfg for big endian hosts
pvpanic: initialization cleanup
MAINTAINERS: s/Marcelo/Paolo/
e1000: cleanup process_tx_desc
pc_piix: cleanup init compat handling
pc: pass PCI hole ranges to Guests
pci: store PCI hole ranges in guestinfo structure
range: add Range structure
Message-id: 1373228271-31223-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7588e2b0559ae72d3c2952c7807fc05c03099970
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:54 2013 +1000
pci: Fold host_buses list into PCIHostState functionality
The host_buses list is an odd structure - a list of pointers to PCI root
buses existing in parallel to the normal qdev tree structure. This patch
removes it, instead putting the link pointers into the PCIHostState
structure, which have a 1:1 relationship to PCIHostBus structures anyway.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:53 2013 +1000
pci: Remove domain from PCIHostBus
There are now no users of the domain field of PCIHostBus, so remove it
from the structure, and as a parameter from the pci_host_bus_register()
function which sets it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bc473057db773dd24be381ccbde4c686595d2e7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:52 2013 +1000
pci: Simpler implementation of primary PCI bus
Currently pci_find_primary_bus() searches the list of root buses for one
with domain 0. But since host buses are always registered with domain 0,
this just amounts to finding the only PCI host bus. The only remaining
users of pci_find_primary_bus() are in pci-hotplug-old.c, which implements
the old style pci_add/pci_del commands.
Therefore, this patch redefines pci_find_primary_bus() to find the only
PCI root bus, returning an error if there are multiple roots. The callers
in pci-hotplug-old.c are updated correspondingly, to produce sensible
error messages.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 29b358f93a48a415853d11fc9b02f711b5ec8f76
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:51 2013 +1000
pci: Add root bus parameter to pci_nic_init()
At present, pci_nic_init() and pci_nic_init_nofail() assume that they will
only create a NIC under the primary PCI root. As we add support for
multiple PCI roots, that may no longer be the case. This patch adds a
root
bus parameter to pci_nic_init() (and updates callers accordingly) to allow
the machine init code using it to specify the right PCI root for NICs
created by old-style -net nic parameters. NICs created new-style, with
-device can of course be put anywhere.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:50 2013 +1000
pci: Add root bus argument to pci_get_bus_devfn()
pci_get_bus_devfn() interprets a full PCI address string to give a PCIBus
*
and device/function number within that bus. Currently it assumes it is
working on an address under the primary PCI root bus. This patch extends
it to allow the caller to specify a root bus. This might seem a little
odd
since the supplied address can (theoretically) include a PCI domain
number.
However, attempting to use a non-zero domain number there is currently an
error, so that shouldn't really cause problems.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:49 2013 +1000
pci: Replace pci_find_domain() with more general pci_root_bus_path()
pci_find_domain() is used in a number of places where we want an id for a
whole PCI domain (i.e. the subtree under a PCI root bus). The trouble is
that many platforms may support multiple independent host bridges with no
hardware supplied notion of domain number.
This patch, therefore, replaces calls to pci_find_domain() with calls to
a new pci_root_bus_path() returning a string. The new call is implemented
in terms of a new callback in the host bridge class, so it can be defined
in some way that's well defined for the platform. When no callback is
available we fall back on the qbus name.
Most current uses of pci_find_domain() are for error or informational
messages, so the change in identifiers should be harmless. The exception
is pci_get_dev_path(), whose results form part of migration streams. To
maintain compatibility with old migration streams, the PIIX PCI host is
altered to always supply "0000" for this path, which matches the old
domain
number (since the code didn't actually support domains other than 0).
For the pseries (spapr) PCI bridge we use a different platform-unique
identifier (pseries machines can routinely have dozens of PCI host
bridges). Theoretically that breaks migration streams, but given that we
don't yet have migration support for pseries, it doesn't matter.
Any other machines that have working migration support including PCI
devices will need to be updated to maintain migration stream
compatibility.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c473d18da1b73301c580115e527207b73dcd597f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:48 2013 +1000
pci: Use helper to find device's root bus in pci_find_domain()
Currently pci_find_domain() performs two functions - it locates the PCI
root bus above the given bus, then looks up that root bus's domain number.
This patch adds a helper function to perform the first task, finding the
root bus for a given PCI device. This is then used in pci_find_domain().
This changes pci_find_domain()'s signature slightly, taking a PCIDevice
instead of a PCIBus - since all callers passed something of the form
dev->bus, this simplifies things slightly.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:47 2013 +1000
pci: Abolish pci_find_root_bus()
pci_find_root_bus() takes a domain parameter. Currently PCI root buses
with domain other than 0 can't be created, so this is more or less a long
winded way of retrieving the main PCI root bus. Numbered domains don't
actually properly cover the (non x86) possibilities for multiple PCI root
buses, so this patch for now enforces the domain == 0 restriction in other
places to replace pci_find_root_bus() with an explicit
pci_find_primary_bus().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 945dad6d9d795f03fd839c6e36cc883b3839f5e5
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Tue Jul 2 20:55:17 2013 +0800
MAINTAINERS: Add myself into MAINTAINERS file
Add myself into MAINTAINERS file, I'll looking at target-openrisc
and hw/openrisc.
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
Message-id: 1372769717-852-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e481d5754a3ff4170e995f6ea0d2f73c55ab072
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jun 24 11:49:32 2013 +0100
MAINTAINERS: fix bad F: patterns
This patch fixes a number of incorrect F: patterns which didn't
match any files in the source tree. This was caused by a mix
of minor typos (- for _ and the like) and a few entries which
hadn't been correctly updated following the rearrangement of hw/.
Offending entries were located with the following shell rune:
for pattern in $(sed -ne 's/^F: //p' MAINTAINERS); do
if ! stat --printf='' $pattern 2>/dev/null; then
echo bad pattern: $pattern
fi
done
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1372070972-30776-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b4abb4677dd59a3bd83e65d2ca84414e7639a1a
Merge: c3ab4c9... 58fda17...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jul 7 11:28:01 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (2) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/block:
block: fix bdrv_flush() ordering in bdrv_close()
curl: refuse to open URL from HTTP server without range support
vmdk: Implement .bdrv_has_zero_init
Message-id: 1373023972-3587-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3ab4c9cf24ec9efb9c6d82b6027c0587d3081fa
Merge: ab8bf29... c7086b4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jul 7 11:19:27 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (50) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (66 commits)
exec: change some APIs to take AddressSpaceDispatch
exec: remove cur_map
exec: put memory map in AddressSpaceDispatch
exec: separate current radix tree from the one being built
exec: move listener from AddressSpaceDispatch to AddressSpace
memory: move MemoryListener declaration earlier
exec: separate current memory map from the one being built
exec: change well-known physical sections to macros
qom: Use atomics for object refcounting
memory: add reference counting to FlatView
memory: use a new FlatView pointer on every topology update
memory: access FlatView from a local variable
add a header file for atomic operations
hw/[u-x]*: pass owner to memory_region_init* functions
hw/t*: pass owner to memory_region_init* functions
hw/s*: pass owner to memory_region_init* functions
hw/p*: pass owner to memory_region_init* functions
hw/n*: pass owner to memory_region_init* functions
hw/m*: pass owner to memory_region_init* functions
hw/i*: pass owner to memory_region_init* functions
...
Message-id: 1372950842-32422-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8384274eda1d7cb01f326143fa6118562c1eb5be
Author: Jürg Billeter <j@xxxxxxxxx>
Date: Sat Jun 29 11:41:32 2013 +0200
linux-user: Do not ignore mmap failure from host
File mapping may fail with EACCES.
Signed-off-by: Jürg Billeter <j@xxxxxxxxx>
Message-id: 1372498892-23676-1-git-send-email-j@xxxxxxxxx
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f651e6ae55b047a8ac4b6b5891fe69ba4c66c57c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Jul 1 02:44:14 2013 +0200
linux-user: improve target_to_host_sock_type conversion
Previous implementation has failed to take into account different value of
SOCK_NONBLOCK on target and host, and existence of SOCK_CLOEXEC.
The same conversion has to be applied both for do_socket and
do_socketpair,
so the code has been isolated in a static inline function.
enum sock_type in linux-user/socket.h has been extended to include
TARGET_SOCK_CLOEXEC and TARGET_SOCK_NONBLOCK, similar to definition in
libc.
The patch also includes necessary code style changes (tab to spaces) in
the
header file since most of the file has been touched by this change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Message-id: 1372639454-7560-1-git-send-email-petar.jovanovic@xxxxxxxxx
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 023b0ae33be6ce2e60d75d2b54a3d2cea6b6020e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 4 14:31:45 2013 +0100
user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
In the ARM implementation of cpu_signal_handler(), set is_write
correctly using the FSR value which the kernel passes us in the
error_code field of uc_mcontext. Since the WnR bit of the FSR was
only introduced in ARMv6, this means that v5 cores will continue
to behave as before this patch, but they are not really supported
as hosts for linux-user mode anyway since they do not have the
modern behaviour for unaligned accesses.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1370352705-27590-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 1acae9f22380a03b468a29a3cc035b280610b5e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: Fix sys_utimensat (would not compile on old glibc)
Commit c0d472b12e accidentally dropped the definition of
__NR_SYS_utimensat even though its use is guarded by
CONFIG_UTIMENSAT, not CONFIG_ATFILE. Some older glibc don't
have utimensat() (even if they have the other *at() functions).
Fix this by correctly cleaning up the sys_utimensat()
implementation and #defines, so that we always provide the
syscall if needed whether we're doing it via glibc or not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1371743841-26110-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d
Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: fix signal number range check
When translating between host and target signal numbers keep negative
numbers unchanged, avoiding access beyond array bounds.
Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 878v2b8sek.fsf@xxxxxxxxx
commit 7ff7b666186a86f0121e6e7db6784222cefe22a2
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: add SIOCADDRT/SIOCDELRT support
This allows to pass the device name.
You can test this with the "route" command.
WITHOUT this patch:
$ sudo route add -net default gw 10.0.3.1 eth0
SIOCADDRT: Bad address
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Ifa
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth
WITH this patch:
$ sudo route add -net default gw 10.0.3.1 eth0
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Ifa
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0
eth
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 463d8e7393681b300946d6bf9f9d5b7035d718c6
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Jul 2 14:04:12 2013 +0100
linux-user: handle /proc/$$ like /proc/self
Some applications use /proc/$$/... (where $$ is the own pid) instead of
/proc/self/... to refer to their own proc files. Extend the interception
for open and readlink to handle this case. Also, do the same interception
in readlinkat.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58fda173e1156d24e5ff62361774715152188a07
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jul 2 15:36:25 2013 +0200
block: fix bdrv_flush() ordering in bdrv_close()
Since 80ccf93b we flush the block device during close. The
bdrv_drain_all() call should come before bdrv_flush() to ensure guest
write requests have completed. Otherwise we may miss pending writes
when flushing.
Call bdrv_drain_all() again for safety as the final step after
bdrv_flush(). This should not be necessary but we can be paranoid here
in case bdrv_flush() left I/O pending.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3494d650273e619606c6cb2c38aa9b8b7bed98e2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Jul 2 15:19:21 2013 +0800
curl: refuse to open URL from HTTP server without range support
CURL driver requests partial data from server on guest IO req. For HTTP
and HTTPS, it uses "Range: ***" in requests, and this will not work if
server not accepting range. This patch does this check when open.
* Removed curl_size_cb, which is not used: On one hand it's registered to
libcurl as CURLOPT_WRITEFUNCTION, instead of CURLOPT_HEADERFUNCTION,
which will get called with *data*, not *header*. On the other hand the
s->len is assigned unconditionally later.
In this gone function, the sscanf for "Content-Length: %zd", on
(void *)ptr, which is not guaranteed to be zero-terminated, is
potentially a security bug. So this patch fixes it as a side-effect.
The
bug is reported as: https://bugs.launchpad.net/qemu/+bug/1188943
(Note the bug is marked "private" so you might not be able to see it)
* Introduced curl_header_cb, which is used to parse header and mark the
server as accepting range if "Accept-Ranges: bytes" line is seen from
response header. If protocol is HTTP or HTTPS, but server response has
no not this support, refuse to open this URL.
Note that python builtin module SimpleHTTPServer is an example of not
supporting range, if you need to test this driver, get a better server
or use internet URLs.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da7a50f938516d0f2302965eeb82940c32028ed8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Jul 1 11:33:17 2013 +0800
vmdk: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init queries underlying storage for
flat extent. If it has a flat extent and its underlying storage doesn't
have zero init, return 0. Otherwise return 1.
Aligns the operator assignments.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c7086b4a237520d2bbe5146d8b1ace1894c2b2bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 15:27:39 2013 +0200
exec: change some APIs to take AddressSpaceDispatch
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6092666ebdc68b2634db050689292c71a5c368c0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:30:26 2013 +0200
exec: remove cur_map
cur_map is not used anymore; instead, each AddressSpaceDispatch
has its own nodes/sections pair. The priorities of the
MemoryListeners, and in the future RCU, guarantee that the
nodes/sections are not freed while they are still in use.
(In fact, next_map itself is not needed except to free the data on the
next update).
To avoid incorrect use, replace cur_map with a temporary copy that
is only valid while the topology is being updated. If you use it,
the name prev_map makes it clear that you're doing something weird.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0475d94fffe4e5fda59e0334b6dd53df00c5deb6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:28:21 2013 +0200
exec: put memory map in AddressSpaceDispatch
After this patch, AddressSpaceDispatch holds a constistent tuple of
(phys_map, nodes, sections). This will be important when updates
of the topology will run concurrently with reads.
cur_map is not used anymore except for freeing it at the end of the
topology update.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0075270317fbd37160bc40e481a1e9cb5cbdc2f6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:13:54 2013 +0200
exec: separate current radix tree from the one being built
This same treatment previously done to phys_node_map and phys_sections
is now applied to the dispatch field of AddressSpace. Topology updates
use as->next_dispatch while accesses use as->dispatch.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 89ae337acbe4dba5b2481007aec1277252d2b86c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 10:39:07 2013 +0200
exec: move listener from AddressSpaceDispatch to AddressSpace
This will help having two copies of AddressSpaceDispatch during the
recreation of the radix tree (one being built, and one that is complete
and will be protected by RCU). We do not want to have to unregister and
re-register the listener.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c2fc83e83d4fbc6f63b2b0f0be898374e6ddc78f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Jun 2 15:20:47 2013 +0200
memory: move MemoryListener declaration earlier
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9affd6fc0e7904fb36d58d1992bbd7cae3649197
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:09:47 2013 +0200
exec: separate current memory map from the one being built
Currently, phys_node_map and phys_sections are shared by all
of the AddressSpaceDispatch. When updating mem topology, all
AddressSpaceDispatch will rebuild dispatch tables sequentially
on them. In order to prepare for RCU access, leave the old
memory map alive while the next one is being accessed.
When rebuilding, the new dispatch tables will build and lookup
next_map; after all dispatch tables are rebuilt, we can switch
to next_* and free the previous table.
Based on a patch from Liu Ping Fan.
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b41aac4f0d17000babd815e088699d58e59917b8
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed May 29 11:09:17 2013 +0200
exec: change well-known physical sections to macros
Sections like phys_section_unassigned always have fixed address
in phys_sections. Declared as macro, so we can use them
when having more than one phys_sections array.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f08c03f3c404e85a2b81890191ccb48dc1ecc157
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 11:36:39 2013 +0200
qom: Use atomics for object refcounting
Object reference counts will soon be changed outside the BQL. So we need
to use atomics in object_ref/unref.
Based on a patch by Liu Ping Fan.
Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 856d72454f03aea26fd61c728762ef9cd1d71512
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 11:57:21 2013 +0200
memory: add reference counting to FlatView
With this change, a FlatView can be used even after a concurrent
update has replaced it. Because we do not yet have RCU, we use a
mutex to protect the small critical sections that read/write the
as->current_map pointer. Accesses to the FlatView can be done
outside the mutex.
If a MemoryRegion will be used after the FlatView is unref-ed (or after
a MemoryListener callback is returned), a reference has to be added to
that MemoryRegion. memory_region_find already does it for the region
that it returns. The same will be done for address_space_translate
as soon as the dispatch tree is also converted to RCU-style.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a9a0c06dd750cca982f21089099207874b960656
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:29:07 2013 +0200
memory: use a new FlatView pointer on every topology update
This is the first step towards converting as->current_map to
RCU-style updates, where the FlatView updates run concurrently
with uses of an old FlatView.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 99e86347fe960b95514531f84282438ae4e6ca64
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:26:13 2013 +0200
memory: access FlatView from a local variable
We will soon require accesses to as->current_map to be placed under
a lock (with reference counting so as to keep the critical section
small). To simplify this change, always fetch as->current_map into
a local variable and access it through that variable.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5444e768ee1abe6e021bece19a9a932351f88c88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 13:29:47 2013 +0200
add a header file for atomic operations
We're already using them in several places, but __sync builtins are just
too ugly to type, and do not provide seqcst load/store operations.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 22fc860b0a0b689eacf4a01f5aa2ccbf36043a12
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/[u-x]*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 853dca12055ea74994629d06798165d811c5e1e2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/t*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2977673992b7d363d0f402ee7c4217795fe13809
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/s*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40c5dce99bac2d1d5f240c8c8ec53dc23ea46a89
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/p*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eedfac6f38b2ba8be827088cd3facd19d21af1e1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/n*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c16154210ce6277bee553e72f7c7b2b2fecefbf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/m*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1437c94b2689c2010362f84d14f14feaa1d8dba3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/i*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b716368778aebdb523546d72a28706420a8c32ae
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/gpio: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3eadad551d3d5901b75f8c53dbd57b9bec2f2b01
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/d*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 300b1fc68c47478f36705f23a93dce77ac3e429a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/c*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2d256e6f652b519c59d0bea926ebb1cb866d4241
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/block: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 64bde0f3e7170cc8a9b60da835b9b3cefd03a7a5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:25:08 2013 -0400
hw/a*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit db10ca9057b11222408f708d5d99a3888eca4feb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:19:53 2013 -0400
piolist: add owner argument to initialization functions and pass devices
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3cd2cf4375993494bcf6195c1637a3d009aa6fae
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:33:01 2013 +0200
pam: pass device to init_pam and use it to set owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84af6d9f97bb144bbebe688364431804a190074a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:32:25 2013 +0200
spapr_iommu: pass device to spapr_tce_new_table and use it to set owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5cb022a1bfaa0c15a13d3266bc6d683cc1f44d7f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 12:31:46 2013 +0200
vfio: pass device to vfio_mmap_bar and use it to set owner
Cc: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dcb117bfda5af6f6ceb7231778d36d8bce4aee93
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 15:04:35 2013 +0200
ne2000: pass device to ne2000_setup_io, use it as owner
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 42e038fe918f4eecdd84ef9ee406bba1deb15cec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: set owner in vga_update_memory_access
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c84b28eeea1ab3f90e619b6af63e7db770c579ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init_io
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 831183277318395ecd02f2fe2423f5fe983ed96a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init_vbe
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9eb58a473b615d9d6d26ee8e568eeb2e67d8e274
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to cirrus_init_common
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 270327feb2535f74379030e028b96b57fd60ca39
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_common_init
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 712f0cc777dc8abc1f43b8e2a5e65ab3ae563cbd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 21:21:13 2013 -0400
vga: pass owner to vga_init
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3cf63ff25c6f1bdac7cb153f87ff830e932ac2f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 15:02:38 2013 +0200
escc: rename struct to ESCCState
We are using the same struct name for two devices. 8250 is widespread
enough that this causes some confusion, rename the other instance.
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3e71559a81ca7b6221465dd19282429101f983d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 28 17:33:29 2013 +0200
memory: ref/unref memory across address_space_map/unmap
The iothread mutex might be released between map and unmap, so the
mapped region might disappear.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3127ae0cdcde6b10a8643836f5bec197f2eff1a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 28 17:29:27 2013 +0200
exec: reorganize address_space_map
First of all, rename "todo" to "done".
Second, clearly separate the case of done == 0 with the case of done != 0.
This will help handling reference counting in the next patch.
Third, this test:
if (memory_region_get_ram_addr(mr) + xlat != raddr + todo) {
does not guarantee that the memory region is the same across two
iterations
of the while loop. For example, you could have two blocks:
A) size 640 K, mapped at physical address 0, ram_addr_t 0
B) size 64 K, mapped at physical address 0xa0000, ram_addr_t 0xa0000
then mapping 1 M starting at physical address zero will erroneously treat
B as the continuation of block A. qemu_ram_ptr_length ensures that no
invalid memory is accessed, but it is still a pointless complication of
the algorithm. The patch makes the logic clearer with an explicit test
that the memory region is the same.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1b5ec2346703c060d26ada7d95fe9aaf476b1947
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 14:36:15 2013 +0200
memory: return MemoryRegion from qemu_ram_addr_from_host
It will be needed in the next patch.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7443b43758ba5eeca8f81ca15fe9fced8983be26
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 12:44:02 2013 +0200
exec: move qemu_ram_addr_from_host_nofail to cputlb.c
After the next patch it would not be used elsewhere anyway. Also,
the _nofail and the standard versions of this function return different
things, which is confusing. Removing the function from the public headers
limits the confusion.
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 23887b79df2be53dc49166e1b677469abfb92147
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 14:28:39 2013 +0200
exec: check MRU in qemu_ram_addr_from_host
This function is not used outside the iothread mutex, so it
can use ram_list.mru_block.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dfde4e6e1a868f60033ece0590b1f75e6c57fa16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 10:46:11 2013 +0200
memory: add ref/unref calls
Add ref/unref calls at the following places:
- places where memory regions are stashed by a listener and
used outside the BQL (including in Xen or KVM).
- memory_region_find callsites
- creation of aliases and containers (only the aliased/contained
region gets a reference to avoid loops)
- around calls to del_subregion/add_subregion, where the region
could disappear after the first call
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ce10901ca8da9142dcdcde198fda1a4c290934c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jul 2 13:40:48 2013 +0200
memory: introduce memory_region_present
This new API will avoid having too many memory_region_ref/unref
in paths that currently use memory_region_find.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 46637be269aaaceb9867ffdf176e906401138fff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 09:06:00 2013 +0200
memory: add ref/unref
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 803c0816a7d3ab35460991ba5b7d1fccc070332b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 06:59:09 2013 +0200
memory: add getter for owner
Whenever memory regions are accessed outside the BQL, they need to be
preserved against hot-unplug. MemoryRegions actually do not have their
own reference count; they piggyback on a QOM object, their "owner".
The owner is set at creation time, and there is a function to retrieve
the owner.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b7e95164d1a9969aa591b8a72e05b94d08c49738
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:07:03 2013 +0200
exec: simplify destruction of the phys map
Do not bother visiting the radix tree when an address space is destroyed.
After the previous patch, this has become a pointless exercise. When
called from address_space_destroy_dispatch, all you're doing is zeroing
out a structure that will be freed as soon as you come back. When called
from mem_begin, when phys_page_set_level will call phys_map_node_alloc the
radix tree's array will be zeroed too.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 058bc4b57f9d6b39d9a6748b4049e1be3fde3dac
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 25 09:30:48 2013 +0200
memory: destroy phys_sections one by one
phys_sections_clear is invoked after the dispatch tree has been
destroyed. This leaves a window where phys_sections_nb > 0 but the
subpages are not valid anymore, which is a recipe for use-after-free
bugs.
Move the destruction of subpages in phys_sections_clear. We will
still destroy the subpages when an address space is cleaned up,
because address_space_destroy will clear as->root and commit the
change before it calls address_space_destroy_dispatch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2c9b15cab12c21e32dffb67c5e18f3dc407ca224
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 6 05:41:28 2013 -0400
memory: add owner argument to initialization functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5767e4e19835cd39de9945bba17438e368e253bb
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:07 2013 +0200
ioport: Move portio types to ioport.h
This decouples memory.h from ioport.h, concentrating all portio related
types in a single header.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d67f679d99778d9e07ec470ebf803249c2bea625
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:06 2013 +0200
vmport: Disentangle read handler type from portio
In case the latter may vanish one day, make sure the vmport read handler
type will remain unaffected. This is also conceptually cleaner.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0659097de2b47470b4d706c2634240f54700c807
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:05 2013 +0200
ioport: Remove unused old dispatching services
Remove unused ioport_register and isa_unassign_ioport along with
everything that only those services used.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b40acf99bef69fa8ab0f9092ff162fde945eec12
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Jun 24 10:45:09 2013 +0200
ioport: Switch dispatching to memory core layer
The current ioport dispatcher is a complex beast, mostly due to the
need to deal with old portio interface users. But we can overcome it
without converting all portio users by embedding the required base
address of a MemoryRegionPortio access into that data structure. That
removes the need to have the additional MemoryRegionIORange structure
in the loop on every access.
To handle old portio memory ops, we simply install dispatching handlers
for portio memory regions when registering them with the memory core.
This removes the need for the old_portio field.
We can drop the additional aliasing of ioport regions and also the
special address space listener. cpu_in and cpu_out now simply call
address_space_read/write. And we can concentrate portio handling in a
single source file.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 962b03fcf509db25c847aa67c4eff574c240dcfe
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:03 2013 +0200
xen: Mark fixed platform I/O as unaligned
Before switching to the memory core dispatcher, we need to make sure
that this pv-device will continue to receive unaligned portio accesses.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 04e8cd506a2a7b57084d7d7b823540c2baf9a1da
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:02 2013 +0200
vmware-vga: Accept unaligned I/O accesses
Before switching to the memory core dispatcher, we need to make sure
that this pv-device will continue to receive unaligned portio accesses.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6f3296292f027c9a87a12dddd736a7c344d0206
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:01 2013 +0200
isa: implement isa_is_ioport_assigned via memory_region_find
Open-code isa_is_ioport_assigned via a memory region lookup. As all IO
ports are now directly or indirectly registered via the memory API, this
becomes possible and will finally allow us to drop the ioport tables.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ab9b41876c0ead43648b55576a8f17aa2c8b027
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:07:00 2013 +0200
Privatize register_ioport_read/write
No more users outside of ioport.c.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bcc37e24bda4666e1ddd75e9c523641f8b8a1b7e
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:59 2013 +0200
vt82c686: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd533eb510bace3efabe3378caae4002eb941508
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:58 2013 +0200
prep: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f94b64acb6ec2871676990ea5ba956a91b20cc75
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:57 2013 +0200
i82374: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0c6c4e28b3e6a2d0d87b7ca87ffb19e03d44267b
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:56 2013 +0200
wdt_ib700: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3914e3ad883cff0247da8471e9cb3051e88ab38
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:55 2013 +0200
applesmc: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a8aec29569e8baa4d86ea2aac16f8c4d78ab2a2a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sat Jun 22 08:06:54 2013 +0200
adlib: replace register_ioport*
Convert over to memory regions to obsolete register_ioport*.
CC: malc <av1474@xxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f487b677c2dc15786dbe7c61326cc49e7c64daea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 14:17:19 2013 +0200
dma: keep a device alive while it has SGLists
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cac3c384bb986f06a308e551641284586924813c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 14:09:39 2013 +0200
scsi: keep device alive while it has requests
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6ac363b50c569815786a795d806e068b3f6a07eb
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:46 2013 +1000
pci: Move pci_read_devaddr to pci-hotplug-old.c
pci_read_devaddr() is only used by the legacy functions for the old PCI
hotplug interface in pci-hotplug-old.c. So we move the function there,
and make it static.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 79ca616f291124d166ca173e512c4ace1c2fe8b2
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 18:48:45 2013 +1000
pci: Cleanup configuration for pci-hotplug.c
pci-hotplug.c and the CONFIG_PCI_HOTPLUG variable which controls its
compilation are misnamed. They're not about PCI hotplug in general, but
rather about the pci_add/pci_del interface which are now deprecated in
favour of the more general device_add/device_del interface. This patch
therefore renames them to pci-hotplug-old.c and CONFIG_PCI_HOTPLUG_OLD.
CONFIG_PCI_HOTPLUG=y was listed twice in {i386,x86_64}-softmmu.make for no
particular reason, so we clean that up too. In addition it was included
in
ppc64-softmmu.mak for which the old hotplug interface was never used and
is
unsuitable, so we remove that too.
Most of pci-hotplug.c was additionaly protected by #ifdef TARGET_I386.
The
small piece which wasn't is only called from the pci_add and pci_del hooks
in hmp-commands.hx, which themselves were protected by #ifdef TARGET_I386.
This patch therefore also removes the #ifdef from pci-hotplug-old.c,
and changes the ifdefs in hmp-commands.hx to use CONFIG_PCI_HOTPLUG_OLD.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fea7d5966a54a5e5400cd38897a95ea576b5af4d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jun 16 23:48:42 2013 +0300
pvpanic: fix fwcfg for big endian hosts
Convert port number to little endian when
exposing it in fw cfg.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jun 16 18:31:30 2013 +0300
pvpanic: initialization cleanup
Avoid use of static variables: PC systems
initialize pvpanic device through pvpanic_init,
so we can simply create the fw_cfg file at that point.
This also makes it possible to skip device
creation completely if fw_cfg is not there, e.g. for xen -
so the ports it reserves are not discoverable by guests.
Also, make pvpanic_init void since callers ignore return
status anyway.
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c6d559d9cf8687d8378e888e7570c07ce53b94e2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 16:06:37 2013 +0300
MAINTAINERS: s/Marcelo/Paolo/
Marcelo doesn't maintain kvm anymore,
Paolo is taking over the job.
Update MAINTAINERS to stop flooding Marcelo with mail.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a0ae17a63e08a57a644eacc1f0fd89d535ed36bf
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Tue Jun 4 10:49:48 2013 +0200
e1000: cleanup process_tx_desc
Coverity complains about two overruns in process_tx_desc(). The
complaints are false positives, but we might as well eliminate
them. The problem is that "hdr" is defined as an unsigned int,
but then used to offset an array of size 65536, and another of
size 256 bytes. hdr will actually never be greater than 255
though, as it's assigned only once and to the value of
tp->hdr_len, which is an uint8_t. This patch simply gets rid of
hdr, replacing it with tp->hdr_len, which makes it consistent
with all other tp member use in the function.
v2:
- also cleanup coding style issues in the touched lines
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fcbe0a707a227ea25f06382e61ff9b2761c77661
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 18 17:11:42 2013 +0300
pc_piix: cleanup init compat handling
Make sure 1.4 calls 1.5, 1.3 calls 1.4 etc.
This way it's enough to add enough new compat hook
in a single place in piix.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 20:00:23 2013 +0300
pc: pass PCI hole ranges to Guests
Guest currently has to jump through lots of hoops to guess the PCI hole
ranges. It's fragile, and makes us change BIOS each time we add a new
chipset. Let's report the window in a ROM file, to make BIOS do exactly
what QEMU intends.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3459a625215449b67b9c67d9151ff72892d0a42a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:57:26 2013 +0300
pci: store PCI hole ranges in guestinfo structure
Will be used to pass hole ranges to guests.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 620ac82eb0fc4218fb6a4937bcef3fdab3126703
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 17:13:15 2013 +0300
range: add Range structure
Sometimes we need to pass ranges around, add a
handy structure for this purpose.
Note: memory.c defines its own concept of AddrRange structure for
working with 128 addresses. It's necessary there for doing range math.
This is not needed for most users: struct Range is
much simpler, and is only used for passing the range around.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf
Merge: 1acd5a3... 00f4d64...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jul 3 08:36:59 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Michael S. Tsirkin (2) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
kvmclock: clock should count only if vm is running
pci-assign: remove the duplicate function name in debug message
kvm: skip system call when msi route is unchanged
kvm: zero-initialize KVM_SET_GSI_ROUTING input
kvm: add detail error message when fail to add ioeventfd
Message-id: 1372841072-22265-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1f6dc0d2a03f0e114cc5ff08b0a133e24fd55ad
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Jun 11 10:14:09 2013 +0200
tcg/aarch64: implement ldst 12bit scaled uimm offset
implement the 12bit scaled unsigned immediate offset
variant of LDR/STR. This improves code size by avoiding
the movi + ldst_r for naturally aligned offsets in range.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00f4d64ee76e873be881a82d893a591487aa7950
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Jun 18 20:38:25 2013 -0300
kvmclock: clock should count only if vm is running
kvmclock should not count while vm is paused, because:
1) if the vm is paused for long periods, timekeeping
math can overflow while converting the (large) clocksource
delta to nanoseconds.
2) Users rely on CLOCK_MONOTONIC to count run time, that is,
time which OS has been in a runnable state (see CLOCK_BOOTTIME).
Change kvmclock driver so as to save clock value when vm transitions
from runnable to stopped state, and to restore clock value from stopped
to runnable transition.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bd50cbaa0f34e47c5b82eba1cd1e88143018fa19
Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Date: Wed Jun 19 11:18:39 2013 +0800
pci-assign: remove the duplicate function name in debug message
While DEBUG() already includes the function name.
Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40509f7f52672fe41c2cce895e187352fc09f53a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 14:52:35 2013 +0300
kvm: skip system call when msi route is unchanged
Some guests do a large number of mask/unmask
calls which currently trigger expensive route update
system calls.
Detect that route in unchanged and skip the system call.
Reported-by: "Zhanghaoyu (A)" <haoyu.zhang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 0fbc20740342713f282b118b4a446c4c43df3f4a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jun 4 14:52:32 2013 +0300
kvm: zero-initialize KVM_SET_GSI_ROUTING input
kvm_add_routing_entry makes an attempt to
zero-initialize any new routing entry.
However, it fails to initialize padding
within the u field of the structure
kvm_irq_routing_entry.
Other functions like kvm_irqchip_update_msi_route
also fail to initialize the padding field in
kvm_irq_routing_entry.
It's better to just make sure all input is initialized.
Once it is, we can also drop complex field by field assignment and just
do the simple *a = *b to update a route entry.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit fa4ba923bd539647ace9d70d226a848bd6a89dac
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed May 22 12:57:35 2013 +0800
kvm: add detail error message when fail to add ioeventfd
I try to hotplug 28 * 8 multiple-function devices to guest with
old host kernel, ioeventfds in host kernel will be exhausted, then
qemu fails to allocate ioeventfds for blk/nic devices.
It's better to add detail error here.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 6046c620866f6f5c53eaece9f4ad8d44a12e1185
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jun 20 16:19:32 2013 +0200
int128: optimize and add test cases
For add, the carry only requires checking one of the arguments.
For sub and neg, we can similarly optimize computation of the
carry.
For ge, we can just do lexicographic order.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1acd5a373905ddb28957842256a038956941f332
Merge: f7d1f9d... 2345f1c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:03:04 2013 -0500
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Alexander Graf (12) and others
# Via Alexander Graf
* agraf/ppc-for-upstream: (32 commits)
PPC: Ignore writes to L2CR
mac-io: Add escc-legacy memory alias region
PPC: Newworld: Add second uninorth control register set
PPC: Newworld: Add uninorth token register
PPC: Add clock-frequency export for Mac machines
PPC: Introduce an alias cache for faster lookups
PPC: Fix GDB read on code area for PPC6xx
PPC: Add dump_mmu() for 6xx
target-ppc: Introduce unrealizefn for PowerPCCPU
booke_ppc: limit booke timer to max when timeout overflow
Graphics: Switch to 800x600x32 as default mode
pseries: Update MAINTAINERS information
target-ppc kvm: save cr register
pseries: Fix compiler warning (conversion of pointer to integral value)
spapr-rtas: add CPU argument to RTAS calls
target-ppc: Change default machine for 64-bit
ppc: do not register IABR SPR twice for 603e
target-ppc: Drop redundant flags assignments from CPU families
mpc8544_guts: Turn qdev initfn into instance_init
mpc8544_guts: QOM'ify
...
Message-id: 1372556709-23868-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7d1f9d4e74d66cc7c72de46575a61bd6b433360
Merge: d75416e... cc3ac9c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:02:30 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: fix build breakage on windows
Message-id: 1372669523-4039-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d75416ef29e477ebeadf9da41677be6f8166e8be
Merge: ffeec22... fbe2e26...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jul 1 09:02:25 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Kevin Wolf
# Via Luiz Capitulino
* luiz/queue/qmp:
hmp: Make "info block" output more readable
Message-id: 1372452199-23237-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc3ac9c4a6fd0574b767c599e4a582be8f23260d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Jun 28 09:28:06 2013 +0200
virtio-ccw: fix build breakage on windows
event_notifier_get_fd() is not available on windows hosts. Fix this by
moving the calls to event_notifier_get_fd() to the kvm code.
Reported-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 2345f1c0146672ce6eb0025bd2cfa4afabdef5fd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jun 27 00:31:42 2013 +0200
PPC: Ignore writes to L2CR
The L2CR register contains a number of bits that either impose
configuration
which we can't deal with or mean "something is in progress until the bit
is
0 again".
Since we don't model the former and we do want to accomodate guests using
the
latter semantics, let's just ignore writes to L2CR. That way guests
always read
back 0 and are usually happy with that.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d54a5024f846ce7d53db25012fb4c7481e971ff
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Jun 26 13:58:31 2013 +0200
mac-io: Add escc-legacy memory alias region
Mac OS X's debugging serial driver accesses the ESCC through a different
register layout, called "escc-legacy". This layout differs from the normal
escc register layout purely by the location of the respective registers.
This patch adds a memory alias region that takes normal escc registers and
maps them into the escc-legacy register space.
With this patch applied, a Mac OS X guest successfully emits debug output
on the serial port when run with debug parameters set, for example by
running:
$ qemu-system-ppc -prom-env -'boot-args=-v debug=0x8 io=0xff
serial=0x3' \
-cdrom 10.4.iso -boot d
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 593c18116090237db96af6e50b902d790265ebc5
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jun 25 03:46:33 2013 +0200
PPC: Newworld: Add second uninorth control register set
Mac OS X requires a second uninorth register set to be mapped a few
bytes above the first one. Let's just expose it to make it happy.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4e46dcdbd31314c66fc19f73d9358852f77e8e2e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jun 25 03:39:21 2013 +0200
PPC: Newworld: Add uninorth token register
Mac OS X expects the uninorth control register set to contain one
register that always reads back what it writes in. Expose that.
This is just a temporary hack. Eventually, we want to expose the
uninorth (/uni-n in device tree) as a separate QOM device.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1014f25ef54bbbdaf571873a1254f85d6dcf132
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jun 23 00:22:50 2013 +0200
PPC: Add clock-frequency export for Mac machines
Support in fwcfg has been around for exposure of the clock-frequency
CPU property. OpenBIOS reads it, we just never exposed it.
Since Mac OS X is very picky about its clock frequency values, let's
just take a known good value and always expose that.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9761ad757182be663fa31af99abad959ac63b17f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jun 22 03:53:35 2013 +0200
PPC: Introduce an alias cache for faster lookups
When running QEMU with "-cpu ?" we walk through every alias for every
target CPU we know about. This takes several seconds on my very fast
host system.
Let's introduce a class object cache in the alias table. Using that we
don't have to go through the tedious work of finding our target class.
Instead, we can just go directly from the alias name to the target class
pointer.
This patch brings -cpu "?" to reasonable times again.
Before:
real 0m4.716s
After:
real 0m0.025s
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b177d8b77c7301da9b51b829b0edcff367e92023
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Jun 18 16:53:01 2013 +0200
PPC: Fix GDB read on code area for PPC6xx
On PPC 6xx, data and code have separated TLBs. Until now QEMU was only
looking at data TLBs, which is not good when GDB wants to read code.
This patch adds a second call to get_physical_address() with an
ACCESS_CODE type of access when the first call with ACCESS_INT fails.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 886b75779104f38c30cc2594fcf2b214615a242d
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Jun 21 15:26:57 2013 +0200
PPC: Add dump_mmu() for 6xx
"(qemu) info tlb" is a very useful tool for debugging, so I implemented
the missing 6xx version.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
[agraf: fix printfs on hwaddr to PRI]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b048960f15dbedeceb4e1d7e469080cf68d4cf67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:11:49 2013 +0200
target-ppc: Introduce unrealizefn for PowerPCCPU
Use it to clean up the opcode table, resolving a former TODO from Jocelyn.
Also switch from malloc() to g_malloc().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab8131afee34d6aa427bd56ac18c4d3b6df80728
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Jun 12 18:00:50 2013 +0530
booke_ppc: limit booke timer to max when timeout overflow
Limit watchdog and fit timer to maximum timeout value which
qemu timer can support (INT64_MAX). This maximum timeout will be
hundreds of years, so limiting to max timeout is pretty safe.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1ff0e89c8287de79c804ec7a50d43f39a9f65dc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jun 20 14:06:27 2013 +0200
Graphics: Switch to 800x600x32 as default mode
We have stayed at 800x600x15 as default graphics mode for the last 9
years.
If there ever was a reason to be there, surely nobody remembers it.
However, recently non-Linux PPC guests started to show bad effects on 15
bit
color mode. They do work just fine with 32 bits however.
So let's switch to 32 bit color as the default graphic mode.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f9de2da728d885c5c246d6ba94edea067ad00434
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat Jun 15 11:51:52 2013 +1000
pseries: Update MAINTAINERS information
I'm no longer at IBM, and therefore no long actively working on the
pseries
(aka sPAPR) qemu machine type. This patch removes my information in the
MAINTAINERS file.
While we're at it, I've added some extra file patterns for pseries
specific
files that weren't included in the existing pattern.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: Remove new maintainer addition]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4bddaf552c3a05e1fdd2c82d6b28ebc8f99269c9
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Jun 15 11:51:51 2013 +1000
target-ppc kvm: save cr register
This adds a missing code to save CR (condition register) via
kvm_arch_put_registers(). kvm_arch_get_registers() already has it.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ec4936e1a49ef2d7129a1813ed7a3ca826698bfb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jun 19 23:08:29 2013 +0200
pseries: Fix compiler warning (conversion of pointer to integral value)
This kind of type cast must use uintptr_t or target_ulong to be portable
for hosts with sizeof(void *) != sizeof(long).
Here the value is assigned to a variable of type target_ulong.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
[agraf: fix compilation on 32bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 210b580b106fa798149e28aa13c66b325a43204e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jun 19 15:40:30 2013 -0500
spapr-rtas: add CPU argument to RTAS calls
RTAS is a hypervisor provided binary blob that a guest loads and
calls into to execute certain functions. It's similar to the
vsyscall page in Linux or the short lived VMCI paravirt interface
from VMware.
The QEMU implementation of the RTAS blob is simply a passthrough
that proxies all RTAS calls to the hypervisor via an hypercall.
While we pass a CPU argument for hypercall handling in QEMU, we
don't pass it for RTAS calls. Since some RTAs calls require
making hypercalls (normally RTAS is implemented as guest code) we
have nasty hacks to allow that.
Add a CPU argument to RTAS call handling so we can more easily
invoke hypercalls just as guest code would.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 159f8286b760deace1008f5f68a46cadba337780
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat Jun 15 11:51:50 2013 +1000
target-ppc: Change default machine for 64-bit
Currently, for qemu-system-ppc64, the default machine type is 'mac99'.
The mac99 machine is not being actively maintained, and represents a
bizarre hybrid of components that never actually existed as a real system.
This patch changes the default machine to 'pseries', which is actively
maintained and works well with most modern ppc64 Linux distributions as a
guest.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: adjust commit message]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9fea2ae25080ad790d7d904d01a1300a45a634eb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat May 11 21:03:50 2013 +0200
ppc: do not register IABR SPR twice for 603e
IABR SPR is already registered in gen_spr_603(), called from
init_proc_603E().
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e3438df5a9e75355b36200f3bd8b94d1a32cc24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 18:35:46 2013 +0100
target-ppc: Drop redundant flags assignments from CPU families
Previous code has #define POWERPC_INSNS2_<family> PPC_NONE in some
places for macrofied assignment to insns_flags2 field.
PPC_NONE is defined as zero though and QOM classes are zero-initialized,
so drop any pcc->insns_flags2 = PPC_NONE; assignments.
PPC_NONE itself is still in use in translate.c.
Suggested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7587ea5bcbdeb08a204b4c1d5afe039d47d613fa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:35 2013 +0200
mpc8544_guts: Turn qdev initfn into instance_init
SysBus can deal with NULL SysBusDeviceClass::init since 4ce5dae.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 43f691e9e248edca7b70680fd87b5be786cc4e01
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:34 2013 +0200
mpc8544_guts: QOM'ify
Introduce type constant, cast macro and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f1a83f459dab7fbec9c5866a4d6a1ae16549edd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 22:47:33 2013 +0200
mpc8544_guts: Fix MemoryRegion name
6544 -> 8544
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dd49c038c373329dc9e98e591677978ff2277d9f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 16 21:30:40 2013 +0200
intc/openpic_kvm: Fix QOM and build issues
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cbe72019b1432b368dde7c6cd3e270fc221de085
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 03:58:08 2013 +0200
intc/openpic: Convert to QOM realize
Split qdev initfn into instance_init and realize functions.
Change one occurrence of "klass" while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1766344fd1d3cb7421f734f89a9356fdec98398
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 03:58:07 2013 +0200
intc/openpic: QOM'ify
Introduce type constant and cast macro.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d85937e683f6ff4d68293cb24c780fb1f6820d2c
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Jun 12 15:32:51 2013 -0500
kvm/openpic: in-kernel mpic support
Enables support for the in-kernel MPIC that thas been merged into the
KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex
Graf (along with some other improvements).
Note from Alex regarding kvm_irqchip_create():
On x86, one would call kvm_irqchip_create() to initialize an
in-kernel interrupt controller. That function then goes ahead and
initializes global capability variables as well as the default irq
routing table.
On ppc, we can't call kvm_irqchip_create() because we can have
different types of interrupt controllers. So we want to do all the
things that function would do for us in the in-kernel device init
handler.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: squash in kvm_irqchip_commit_routes patch, fix non-kvm build,
fix ppcemb]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4be1db86060d803f2335c08a483218eb6a8bd9eb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jun 28 13:47:15 2013 +0200
PPC: Add non-kvm stub file
There are cases where a kvm provided function is called from generic
hw code that doesn't know whether kvm is available or not. Provide
a stub file which can provide simple replacement functions for those
cases.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb925cf9230f77c096dae4b159a9449bc306256c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 17 01:11:55 2013 +0200
KVM: PIC: Only commit irq routing when necessary
The current logic updates KVM's view of our interrupt map every time we
change it. While this is nice and bullet proof, it slows things down
badly for me. QEMU spends about 3 seconds on every start telling KVM what
news it has on its routing maps.
Instead, let's just synchronize the whole irq routing map as a whole when
we're done constructing it. For things that change during runtime, we can
still update the routing table on demand.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 82fc73b65c19fed0ee28aeb655d27de5ac9e78d5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Apr 15 13:19:33 2013 +0000
PPC: e500: factor out mpic init code
KVM in-kernel MPIC support is going to expand this even more,
so let's keep it contained.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8935a442cd3cf94f21fcc4386c1c07a7a5dd6887
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Apr 15 13:19:32 2013 +0000
openpic: factor out some common defines into openpic.h
...for use by the KVM in-kernel irqchip stub.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d07cc1f12d8e15c167857852c39190d770763824
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 16 15:05:22 2013 +0200
KVM: MSI: Swap payload to native endianness
The usual MSI injection mechanism writes msi.data into memory using an
le32 wrapper. So on big endian guests, this swaps msg.data into the
expected byte order.
For irqfd however, we don't swap the payload right now, rendering
in-kernel MPIC emulation broken on PowerPC.
Swap msg.data to the correct endianness whenever we touch it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b7745930b1f14057b41a257524c559e62c5faa7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 16 15:58:13 2013 +0200
KVM: Export kvm_init_irq_routing
On PPC, we can have different types of interrupt controllers, so we really
only know that we are going to use one when we created it.
Export kvm_init_irq_routing() to common code, so that we don't have to
call
kvm_irqchip_create().
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 215e79c01c4e6f766eb9add56c56453e9ea1d948
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 24 22:24:12 2013 +0200
KVM: Don't assume that mpstate exists with in-kernel PIC always
On PPC, we don't support MP state. So far it's not necessary and I'm
not convinced yet that we really need to support it ever.
However, the current idle logic in QEMU assumes that an in-kernel PIC
also means we support MP state. This assumption is not true anymore.
Let's split up the two cases into two different variables. That way
PPC can expose an in-kernel PIC, while not implementing MP state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
CC: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit ffeec223b55ea696567ed544016824199cd7c7bc
Merge: 2ea3e2c... a8ad415...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 15:48:35 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Gerd Hoffmann (13) and Michael Tokarev (1)
# Via Michael Tokarev
* mjt/trivial-patches:
doc: we use seabios, not bochs bios
qemu-socket: don't leak opts on error
qemu-char: report udp backend errors
qemu-char: add -chardev mux support
qemu-char: minor mux chardev fixes
qemu-char: use ChardevBackendKind in CharDriver
qemu-char: don't leak opts on error
qemu-char: fix documentation for telnet+wait socket flags
qemu-char: print notification to stderr
qemu-char: use more specific error_setg_* variants
qemu-char: check optional fields using has_*
qemu-socket: catch monitor_get_fd failures
qemu-socket: drop pointless allocation
qemu-socket: zero-initialize SocketAddress
Message-id: 1372443465-22384-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fbe2e26c15af35e4d157874dc80f6a19eebaa83b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 16:10:55 2013 +0200
hmp: Make "info block" output more readable
HMP is meant for humans and you should notice it.
This changes the output format to use a bit more space to display the
information more readable and leaves out irrelevant information (e.g.
mention only that an image is encrypted, but not when it's not; display
I/O limits only if throttling is in effect; ...)
Before:
(qemu) info block
ide0-hd0: removable=0 io-status=ok file=/tmp/overlay.qcow2
backing_file=/tmp/backing.img backing_file_depth=1 ro=0 drv=qcow2
encrypted=1 bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0
ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok
file=/home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso ro=1
drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0
floppy0: removable=1 locked=0 tray-open=0 [not inserted]
sd0: removable=1 locked=0 tray-open=0 [not inserted]
After:
(qemu) info block
ide0-hd0: /tmp/overlay.qcow2 (qcow2, encrypted)
Backing file: /tmp/backing.img (chain depth: 1)
I/O limits: bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0
iops_wr=0
ide1-cd0: /home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso
(raw, read-only)
Removable device: not locked, tray closed
floppy0: [not inserted]
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2ea3e2c1e85097c45a882dbc1fbba4a7fdb3ff1c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jun 27 15:25:12 2013 +0200
qemu-char: Fix ID reuse after chardev-remove for qapi-based init
Commit 2c5f488 introduced qapi-based character device initialization
as a new code path in qemu_chr_new_from_opts(). Unfortunately, it
failed to store parameter opts in the new chardev. Therefore,
qemu_chr_delete() doesn't delete it. Even though the device is gone,
its options linger, and any attempt to create another one with the
same ID fails.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372339512-28149-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 43f420f8419866619bd107d5ee84c727b46967b8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jun 25 10:49:31 2013 +0200
console: Hook QemuConsoles into qom tree
Put them named "console[$index]" below "/backend", so you can
list & inspect them via QMP.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372150171-8707-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f087553653152fdae16ed7066d238677734e4902
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jun 25 10:48:54 2013 +0200
gtk: add support for surface conversion
Also use CAIRO_FORMAT_RGB24 unconditionally. DisplaySurfaces will never
ever see 8bpp surfaces. And using CAIRO_FORMAT_RGB16_565 for the 16bpp
case doesn't seem to be a good idea too.
<quote src="/usr/include/cairo/cairo.h">
* @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has
* never been properly implemented in cairo and should not be used
* by applications. (since 1.2)
</quote>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1372150134-8590-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 12b7f57e2cfcd665cf5a21b4ae3c23b9361c5c05
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Jun 24 15:06:52 2013 +0400
vl: convert -smp to qemu_opts_parse()
This also introduces a new suboption, "cpus=",
which is the default. So after this patch,
-smp n,sockets=y
is the same as
-smp cpus=n,sockets=y
(with "cpu" being some generic thing, referring to
either cores, or threads, or sockets, as before).
We still don't validate relations between different
numbers, for example it is still possible to say
-smp 1,sockets=10
and it will be accepted to mean sockets=1.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1372072012-30305-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a27c6a067acd03cbd810585552df4818a4397f7
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:46 2013 +0200
multiboot: Updated ROM binary
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-4-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26a8ec07616df8eeb7ae5e76a4eade6809c426e3
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:45 2013 +0200
multiboot: Calculate upper_mem in the ROM
The upper_mem field of the Multiboot information struct doesn't really
contain the RAM size - 1 MB like we used to calculate it, but only the
memory from 1 MB up to the first (upper) memory hole.
In order to correctly retrieve this information, the multiboot ROM now
looks at the mmap it creates anyway and tries to find the size of
contiguous usable memory from 1 MB.
Drop the multiboot.c definition of lower_mem and upper_mem because both
are queried at runtime now.
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-3-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 390fb6b47144adbad453cdf95c130854728c56f8
Author: Kevin Wolf <mail@xxxxxxxxxxxxx>
Date: Sun Jun 23 22:07:44 2013 +0200
multiboot: Don't forget last mmap entry
When the BIOS returns ebx = 0, the current entry is still valid and
needs to be included in the Multiboot memory map.
Fixing this meant that using bx as the entry index doesn't work any
more because it's 0 on the last entry (and it was SeaBIOS-specific
anyway), so the whole loop had to change a bit and should be more
generic as a result (ebx can be an arbitrary continuation number now,
and the entry size returned by the BIOS is used instead of hard-coding
20 bytes).
Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1372018066-21822-2-git-send-email-mail@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bedfe94c96c5ba35fcb2a52b438fefcc682669e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jun 27 21:00:06 2013 +0200
arch_init: Fix format string by using RAM_ADDR_FMT
length is a ram_addr_t, so RAM_ADDR_FMT must be used instead of %ld.
This fixes a recently introduced regression for w64 builds.
Using RAM_ADDR_FMT also changes decimal output to sedecimal.
This is good here because length and block->length should both
use the same base in the error message.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1372359606-2759-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a8ad4159ed7d8a442a9c049a6fd0d47aa330c2aa
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jun 28 10:08:16 2013 +0400
doc: we use seabios, not bochs bios
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7a5b6af13a45ae7109900dee03a436819302126c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:56 2013 +0200
qemu-socket: don't leak opts on error
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 58a3714c529b1b97ee078ea25b58f731aabcbfff
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:55 2013 +0200
qemu-char: report udp backend errors
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit bb6fb7c0857aeda7982ac14460328edf3c29cfc8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:54 2013 +0200
qemu-char: add -chardev mux support
Allow to explicitly create mux chardevs on the command line,
like you can using QMP.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc2c4eca89ec5ee7b7a4c2563c991a14a7c5ee84
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:53 2013 +0200
qemu-char: minor mux chardev fixes
mux failure path has a memory leak. creating a mux chardev can't
fail though, so just assert() that instead of fixing an error path
which never ever runs anyway ...
Also fix bid being leaked while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 99aec0123ce5ba307dc357c5bf1e0f22d2be0931
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:52 2013 +0200
qemu-char: use ChardevBackendKind in CharDriver
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e668287d4413395be1a0f9ef292bb6d0c1006e29
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:51 2013 +0200
qemu-char: don't leak opts on error
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ef993ba7bc631b57f9ea70a7f6fc8c0fcbdfa19d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:50 2013 +0200
qemu-char: fix documentation for telnet+wait socket flags
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fdca2124adc293f84f2b7aaf0df43faa6b6bf420
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:49 2013 +0200
qemu-char: print notification to stderr
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 20c397607cb54905f452921259b4baa9c8a1d008
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:48 2013 +0200
qemu-char: use more specific error_setg_* variants
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e859eda58501cd20a2e6988fb4acc1756bc4d278
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:47 2013 +0200
qemu-char: check optional fields using has_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d1ec72a44e0a167f9e8254d6d1098d27f104571f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:46 2013 +0200
qemu-socket: catch monitor_get_fd failures
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c1204afc7c048cf58b0a8f1c11886f36ca73ef28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:45 2013 +0200
qemu-socket: drop pointless allocation
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit afde3f8b9923892d21a735993f533e5d8b60e0b0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 24 08:39:44 2013 +0200
qemu-socket: zero-initialize SocketAddress
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8a9c98aedc1a3fb4dfbebeccc926e273df54f2ba
Merge: 3612563... c658b94...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 11:48:09 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu: (24 commits)
cpu: Turn cpu_unassigned_access() into a CPUState hook
hwaddr: Make hwaddr type usable beyond softmmu
cpu: Change qemu_init_vcpu() argument to CPUState
cpus: Change qemu_dummy_start_vcpu() argument to CPUState
cpus: Change qemu_kvm_start_vcpu() argument to CPUState
cpus: Change cpu_handle_guest_debug() argument to CPUState
gdbstub: Set gdb_set_stop_cpu() argument to CPUState
kvm: Change kvm_cpu_exec() argument to CPUState
kvm: Change kvm_handle_internal_error() argument to CPUState
cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks
cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState
kvm: Change kvm_set_signal_mask() argument to CPUState
cpus: Change qemu_kvm_wait_io_event() argument to CPUState
cpus: Change cpu_thread_is_idle() argument to CPUState
cpu: Change cpu_exit() argument to CPUState
kvm: Change cpu_synchronize_state() argument to CPUState
kvm: Change kvm_cpu_synchronize_state() argument to CPUState
gdbstub: Simplify find_cpu()
cpu: Guard cpu_{save,load}() definitions
target-openrisc: Register VMStateDescription for OpenRISCCPU
...
commit 36125631e79d53ffb9365740f43f386e2171d116
Merge: ec3f8c9... 721da65...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 28 10:37:33 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (11) and others
# Via Kevin Wolf
* kwolf/for-anthony:
cmd646: fix build when DEBUG_IDE is enabled.
block: change default of .has_zero_init to 0
vpc: Implement .bdrv_has_zero_init
vmdk: remove wrong calculation of relative path
gluster: Return bdrv_has_zero_init = 0
block/ssh: Set bdrv_has_zero_init according to the file type.
block: Make BlockJobTypes const
qemu-iotests: add 055 drive-backup test case
qemu-iotests: extract wait_until_completed() into iotests.py
blockdev: add Abort transaction
blockdev: add DriveBackup transaction
blockdev: allow BdrvActionOps->commit() to be NULL
blockdev: rename BlkTransactionStates to singular
block: add drive-backup QMP command
blockdev: use bdrv_getlength() in qmp_drive_mirror()
blockdev: drop redundant proto_drv check
block: add basic backup support to block driver
block: add bdrv_add_before_write_notifier()
notify: add NotiferWithReturn so notifier list can abort
raw-posix: Fix /dev/cdrom magic on OS X
Message-id: 1372429509-29642-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 721da65c6eba9c053d73744ecaa882b0f7cd634a
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Fri Jun 28 14:43:16 2013 +0100
cmd646: fix build when DEBUG_IDE is enabled.
Make sure we use the correct TARGET/PRI macros in the debug statements.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3ac216270a62418519c08e88c17005a8f1539cf2
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jun 28 12:47:42 2013 +0200
block: change default of .has_zero_init to 0
.has_zero_init defaults to 1 for all formats and protocols.
this is a dangerous default since this means that all
new added drivers need to manually overwrite it to 0 if
they do not ensure that a device is zero initialized
after bdrv_create().
if a driver needs to explicitly set this value to
1 its easier to verify the correctness in the review process.
during review of the existing drivers it turned out
that ssh and gluster had a wrong default of 1.
both protocols support host_devices as backend
which are not by default zero initialized. this
wrong assumption will lead to possible corruption
if qemu-img convert is used to write to such a backend.
vpc and vmdk also defaulted to 1 altough they support
fixed respectively flat extends. this has to be addresses
in separate patches. both formats as well as the mentioned
ssh and gluster are turned to the default of 0 with this
patch for safety.
a similar problem with the wrong default existed for
iscsi most likely because the driver developer did
oversee the default value of 1.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 06:49:53 2013 +0200
cpu: Turn cpu_unassigned_access() into a CPUState hook
Use it for all targets, but be careful not to pass invalid CPUState.
cpu_single_env can be NULL, e.g. on Xen.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce927ed9e40e25008453eb8f130661514b633341
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:02:38 2013 +0200
hwaddr: Make hwaddr type usable beyond softmmu
While not normally needed for *-user, it can safely be used there since
always based on uint64_t, to avoid ifdeffery.
To avoid accidental uses, move the guards from exec/hwaddr.h to its
inclusion sites. No need for them in include/hw/.
Prepares for hwaddr use in qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c643bed99fcde661b034623722004562b7953669
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 03:23:24 2013 +0200
cpu: Change qemu_init_vcpu() argument to CPUState
This allows to move the call into CPUState's realizefn.
Therefore move the stub into libqemustub.a.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 10a9021dfd9d8ebdaf53100a8e216054ef4fa662
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:24:35 2013 +0200
cpus: Change qemu_dummy_start_vcpu() argument to CPUState
Pass it to qemu_dummy_cpu_thread_fn().
Use CPUState::env_ptr for cpu_single_env.
Prepares for changing qemu_init_vcpu() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 48a106bd144c60862e8b6116dc226885d1937d76
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:20:39 2013 +0200
cpus: Change qemu_kvm_start_vcpu() argument to CPUState
Pass it on to qemu_kvm_cpu_thread_fn().
Prepares for changing qemu_init_vcpu() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 913250464f5ea5799d71ab033b51d1bf8ed84343
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:07:49 2013 +0200
cpus: Change cpu_handle_guest_debug() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 64f6b3469d5983141707dfc5ec2e8f5f60af1ba0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 02:06:09 2013 +0200
gdbstub: Set gdb_set_stop_cpu() argument to CPUState
Use CPUState::env_ptr for now.
Prepares for changing cpu_handle_guest_debug() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1458c363139a54f50ea336edc612d8c5e9142220
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:46:55 2013 +0200
kvm: Change kvm_cpu_exec() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5326ab5567c12bac0802b08b265f401fe84a4ad6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 01:55:29 2013 +0200
kvm: Change kvm_handle_internal_error() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing kvm_cpu_exec() argument to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon May 27 01:33:50 2013 +0200
cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks
Make cpustats monitor command available unconditionally.
Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec()
arguments to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13618e058cf2d76bccc41251fa0095aae88a8249
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:41:00 2013 +0200
cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 491d6e80ea5854d75ab7c19e32a0ba01d08f6df5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:38:10 2013 +0200
kvm: Change kvm_set_signal_mask() argument to CPUState
CPUArchState is no longer needed.
Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fd529e8f465c0d6b2d5f01c58cee4746425d2734
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:24:55 2013 +0200
cpus: Change qemu_kvm_wait_io_event() argument to CPUState
It no longer uses CPUArchState.
Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a98ae1d8f5ee09694c148b1787e02205ee908b53
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun May 26 23:21:08 2013 +0200
cpus: Change cpu_thread_is_idle() argument to CPUState
It no longer needs CPUArchState.
Prepares for changing all_cpu_threads_idle() CPU loop to CPUState and
needed for changing qemu_kvm_wait_io_event() argument to CPUState.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60a3e17a469e444a7bc4d9a14c2ecf3bdb5ec094
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 18:26:54 2013 +0200
cpu: Change cpu_exit() argument to CPUState
It no longer depends on CPUArchState, so move it to qom/cpu.c.
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb446ecab714b2444a270be209e0533bcd2ee534
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 14:24:52 2013 +0200
kvm: Change cpu_synchronize_state() argument to CPUState
Change Monitor::mon_cpu to CPUState as well.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd1750d7981cf9e38985c9dfa474dcdbbe236270
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 13:45:44 2013 +0200
kvm: Change kvm_cpu_synchronize_state() argument to CPUState
It no longer relies on CPUArchState since 20d695a.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 17:49:10 2013 +0200
gdbstub: Simplify find_cpu()
Use qemu_get_cpu() and CPUState::env_ptr.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d0f2baebe57ccdb09a21da80b2994b772854ad6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 15:51:06 2013 +0100
cpu: Guard cpu_{save,load}() definitions
A few targets already managed to implement cpu_save() and cpu_load()
without defining CPU_SAVE_VERSION that causes them to be registered.
Guard the prototypes with CPU_SAVE_VERSION to avoid this happening again
until all targets are converted to VMState (or QIDL).
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit da69721460e652072b6a3dd52b7693da21ffe237
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:59:05 2013 +0100
target-openrisc: Register VMStateDescription for OpenRISCCPU
Since commit e67db06e9f6d7e514ee2a9b9b769ecd42977f6fb (target-or32: Add
target stubs and QOM cpu) a VMStateDescription existed, but
CPU_SAVE_VERSION was not set, so it was never registered.
Drop cpu_{save,load}() and register VMStateDescription via DeviceState.
Use a version_id of 1 and specify minimum versions as well.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe31e7374299c0c6172ce618b29bf2fecbd881c7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 00:27:16 2013 +0100
target-alpha: Register VMStateDescription for AlphaCPU
Commit b758aca1f6cdb175634812b79f5560c36c902d00 (target-alpha: Enable
the alpha-softmmu target.) introduced cpu_{save,load}() functions but
didn't define CPU_SAVE_VERSION, so they were never registered.
Drop cpu_{save,load}() and register the VMStateDescription via
DeviceClass.
This operates on the AlphaCPU object instead of CPUAlphaState.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 17 04:09:11 2013 +0200
cpu: Introduce VMSTATE_CPU() macro for CPUState
To be used to embed common CPU state into CPU subclasses.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19e3835cffbcae37ade8c3abcc4525895f7b528a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 02:23:36 2013 +0200
cpu: Introduce device_class_set_vmsd() helper
It's the equivalent to cpu_class_set_vmsd(), to assign
DeviceClass::vmsd. It wasn't needed before since only static,
unmigratable VMStateDescriptions were assigned so far.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 76d5f0294a744fa6786683760aa33e2b7fae6d8f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 02:22:13 2013 +0200
cpu: Fix cpu_class_set_vmsd() documentation
It's CPUClass::vmsd, not CPUState::vmsd.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7483e7f15139603380c45ebcd8cc2a57dda5583c
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri Jun 28 11:23:16 2013 +0000
xen_disk: support "direct-io-safe" backend option
Support backend option "direct-io-safe". This is documented as
follows in the Xen backend specification:
* direct-io-safe
* Values: 0/1 (boolean)
* Default Value: 0
*
* The underlying storage is not affected by the direct IO memory
* lifetime bug. See:
*
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
*
* Therefore this option gives the backend permission to use
* O_DIRECT, notwithstanding that bug.
*
* That is, if this option is enabled, use of O_DIRECT is safe,
* in circumstances where we would normally have avoided it as a
* workaround for that bug. This option is not relevant for all
* backends, and even not necessarily supported for those for
* which it is relevant. A backend which knows that it is not
* affected by the bug can ignore this option.
*
* This option doesn't require a backend to use O_DIRECT, so it
* should not be used to try to control the caching behaviour.
Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the
default flags passed to the qemu block layer.
The original proposal for a "cache" backend option has been dropped
because it was believed too wide, especially considering that at the
moment the backend doesn't have a way to tell the toolstack that it is
capable of supporting it.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
commit 72c6cc94daa727f41ecfc2b2ff94aa6f0e459b7f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jun 28 10:21:00 2013 +0200
vpc: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init on VHD must behave like raw
and query the underlying storage (fixed) or like other sparse formats
that can always return 1 (dynamic, differencing).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ed610a1c983dd2ed1eed8841036af55751d115f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jun 26 17:24:32 2013 +0800
vmdk: remove wrong calculation of relative path
When creating image with backing file, the driver tries to calculate the
relative path from created image file to backing file, but the path
computation is incorrect. e.g.:
$ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1
Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240
backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off
$ qemu-img info vmdk-data-snapshot1
image: vmdk-data-snapshot1
file format: vmdk
virtual size: 10G (10737418240 bytes)
disk size: 12K
-> backing file: disk.vmdk
The common part in file names, "vmdk-data-", is incorrectly forgotten by
relative_path(). As the VMDK specification has no restriction on
parentNameHint to be relative path, we simply remove this by using the
backing_file option.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ab6feec2c7500faafd9a4571fb40d03dd360a64
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 26 09:41:57 2013 +0200
gluster: Return bdrv_has_zero_init = 0
GlusterFS volumes can be backed by block devices, in which case
bdrv_create() doesn't make sure that the image is zeroed out. It is
currently not possibly to detect whether a given image is backed by a
file or a block device, and incorrectly assuming that it is zeroed
corrupts images during qemu-img convert, so let's err on the side of
caution and always return 0.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0b3f21e6a99c025c829d342ee417f317fe2e03b2
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Jun 25 18:15:18 2013 +0100
block/ssh: Set bdrv_has_zero_init according to the file type.
If the remote is a regular file, set it to true (ie. reads of
uninitialized areas in a newly created file will return zeroes).
If we can't prove that, return false (a safe default).
Tested by adding a debugging print statement [not part of this commit]
and creating a remote file and a remote block device:
$ ./qemu-img create ssh://localhost/tmp/new 100M
Formatting 'ssh://localhost/tmp/new', fmt=raw size=104857600
filename ssh://localhost/tmp/new: has_zero_init = 1
$ sudo lvcreate -L 1G -n tmp /dev/fedora
Logical volume "tmp" created
$ ./qemu-img create ssh://localhost/dev/fedora/tmp 1G
Formatting 'ssh://localhost/dev/fedora/tmp', fmt=raw size=1073741824
filename ssh://localhost/dev/fedora/tmp: has_zero_init = 0
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f59fee8d509b446df24843c1145a99b740492725
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 25 15:13:43 2013 +0200
block: Make BlockJobTypes const
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e5ca8fdd407431e281c6f303dc9f45f63a28048f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:20 2013 +0200
qemu-iotests: add 055 drive-backup test case
Testing drive-backup is similar to image streaming and drive mirroring.
This test case is based on 041.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0dbe8a1b042b5eb22c6587dcc9884ebe8cedcbb6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:19 2013 +0200
qemu-iotests: extract wait_until_completed() into iotests.py
The 'drive-mirror' tests often issue 'block-job-complete' and wait for
the QMP completion event. Other types of block jobs also want to wait
for completion but they may not need to issue 'block-job-complete'.
Extract wait_until_completed() from 041 and put it into iotests.py.
Return the QMP event object so the caller can make additional
assertions, if necessary.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 78b18b78aa89c28aecbd007ae1967c978d39bfd6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:18 2013 +0200
blockdev: add Abort transaction
The Abort action can be used to test QMP 'transaction' failure. Add it
as the last action to exercise the .abort() and .cleanup() code paths
for all previous actions.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3037f36446eb3556c14757ac468463c3902f331b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:17 2013 +0200
blockdev: add DriveBackup transaction
This patch adds a transactional version of the drive-backup QMP command.
It allows atomic snapshots of multiple drives along with automatic
cleanup if there is a failure to start one of the backup jobs.
Note that QMP events are emitted for block job completion/cancellation
and the block job will be listed by query-block-jobs.
@device: the name of the device whose writes should be mirrored.
@target: the target of the new image. If the file exists, or if it
is a device, the existing file/device will be used as the new
destination. If it does not exist, a new file will be created.
@format: #optional the format of the new destination, default is to
probe if @mode is 'existing', else the format of the source
@mode: #optional whether and how QEMU should create a new image, default
is
'absolute-paths'.
@speed: #optional the maximum speed, in bytes per second
@on-source-error: #optional the action to take on an error on the source,
default 'report'. 'stop' and 'enospc' can only be used
if the block device supports io-status (see BlockInfo).
@on-target-error: #optional the action to take on an error on the target,
default 'report' (no limitations, since this applies to
a different block device than @device).
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9ea81e82519f44071b3dd617de98f0d6d6cca0a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:16 2013 +0200
blockdev: allow BdrvActionOps->commit() to be NULL
Some QMP 'transaction' types don't need to do anything on .commit().
Make .commit() optional just like .abort().
The "drive-backup" action will take advantage of this, it only needs to
cancel the block job on .abort(). Other block job actions will probably
follow the same pattern, so allow .commit() to be NULL.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba5d6ab68f7bc55520cddd5e00bd48b041c7aecd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:15 2013 +0200
blockdev: rename BlkTransactionStates to singular
The QMP 'transaction' command keeps a list of in-flight transactions.
The transaction state structure is called BlkTransactionStates even
though it only deals with a single transaction. The only plural thing
is the linked list of transaction states.
I find it confusing to call the single structure "States". This patch
renames it to "State", just like BlockDriverState is singular.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 99a9addf567e31244d934376060dd1d34f0f012c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:14 2013 +0200
block: add drive-backup QMP command
@drive-backup
Start a point-in-time copy of a block device to a new destination. The
status of ongoing drive-backup operations can be checked with
query-block-jobs where the BlockJobInfo.type field has the value 'backup'.
The operation can be stopped before it has completed using the
block-job-cancel command.
@device: the name of the device which should be copied.
@target: the target of the new image. If the file exists, or if it
is a device, the existing file/device will be used as the new
destination. If it does not exist, a new file will be created.
@format: #optional the format of the new destination, default is to
probe if @mode is 'existing', else the format of the source
@mode: #optional whether and how QEMU should create a new image, default
is
'absolute-paths'.
@speed: #optional the maximum speed, in bytes per second
@on-source-error: #optional the action to take on an error on the source,
default 'report'. 'stop' and 'enospc' can only be used
if the block device supports io-status (see BlockInfo).
@on-target-error: #optional the action to take on an error on the target,
default 'report' (no limitations, since this applies to
a different block device than @device).
Note that @on-source-error and @on-target-error only affect background
I/O.
If an error occurs during a guest write request, the device's
rerror/werror
actions will be used.
Returns: nothing on success
If @device is not a valid block device, DeviceNotFound
Since 1.6
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ac3c5d831aa0ff796659300e186be1a35862dbd3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:13 2013 +0200
blockdev: use bdrv_getlength() in qmp_drive_mirror()
Use bdrv_getlength() for its byte units and error return instead of
bdrv_get_geometry().
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cb78466ef60ccf707a6f38a1294c435b65a828e0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:12 2013 +0200
blockdev: drop redundant proto_drv check
It is not necessary to check that we can find a protocol block driver
since we create or open the image file. This produces the error that we
need anyway.
Besides, the QERR_INVALID_BLOCK_FORMAT is inappropriate since the
protocol is incorrect rather than the format.
Also drop an empty line between bdrv_open() and checking its return
value. This may be due to copy-pasting from earlier code that performed
other operations before handling errors.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98d2c6f2cd80afaa2dc10091f5e35a97c181e4f5
Author: Dietmar Maurer <dietmar@xxxxxxxxxxx>
Date: Mon Jun 24 17:13:11 2013 +0200
block: add basic backup support to block driver
backup_start() creates a block job that copies a point-in-time snapshot
of a block device to a target block device.
We call backup_do_cow() for each write during backup. That function
reads the original data from the block device before it gets
overwritten. The data is then written to the target device.
Currently backup cluster size is hardcoded to 65536 bytes.
[I made a number of changes to Dietmar's original patch and folded them
in to make code review easy. Here is the full list:
* Drop BackupDumpFunc interface in favor of a target block device
* Detect zero clusters with buffer_is_zero() and use
bdrv_co_write_zeroes()
* Use 0 delay instead of 1us, like other block jobs
* Unify creation/start functions into backup_start()
* Simplify cleanup, free bitmap in backup_run() instead of cb
* function
* Use HBitmap to avoid duplicating bitmap code
* Use bdrv_getlength() instead of accessing ->total_sectors
* directly
* Delete the backup.h header file, it is no longer necessary
* Move ./backup.c to block/backup.c
* Remove #ifdefed out code
* Coding style and whitespace cleanups
* Use bdrv_add_before_write_notifier() instead of blockjob-specific hooks
* Keep our own in-flight CowRequest list instead of using block.c
tracked requests. This means a little code duplication but is much
simpler than trying to share the tracked requests list and use the
backup block size.
* Add on_source_error and on_target_error error handling.
* Use trace events instead of DPRINTF()
-- stefanha]
Signed-off-by: Dietmar Maurer <dietmar@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d616b224745b2c522f965cf8de7da17b553b959a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:10 2013 +0200
block: add bdrv_add_before_write_notifier()
The bdrv_add_before_write_notifier() function installs a callback that
is invoked before a write request is processed. This will be used to
implement copy-on-write point-in-time snapshots where we need to copy
out old data before overwriting it.
Note that BdrvTrackedRequest is moved to block_int.h since it is passed
to .notify() functions.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5dae8e5fb803f53fadc116cefe353953b938cbe1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 24 17:13:09 2013 +0200
notify: add NotiferWithReturn so notifier list can abort
notifier_list_notify() has no return value. This is fine when we just
want to invoke side-effects.
Sometimes it's useful for notifiers to produce a return value. This
allows notifiers to "veto" an operation and will be used by the block
layer before-write notifier.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a5c5ea3f60c000bf18c99435439533728a5f34a2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 11 10:44:58 2013 +0200
raw-posix: Fix /dev/cdrom magic on OS X
The raw-posix driver has code to provide a /dev/cdrom on OS X even
though it doesn't really exist. However, since commit c66a6157 the real
filename is dismissed after finding it, so opening /dev/cdrom fails.
Put the filename back into the options QDict to make this work again.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ec3f8c9913c1eeab78a02711be7c2a803dfb4d62
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 27 20:53:38 2013 +0100
linux-user: Fix compilation failure
Fix compilation failures for linux-user targets following recent
migration related commits bd2fa51fcd and 43487c67.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1372362818-4740-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c394ace828a559be13ec0bde15b476970f186dad
Merge: 3e50873... 60d9222...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 27 08:48:38 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Michael R. Hines (9) and others
# Via Juan Quintela
* quintela/migration.next:
rdma: introduce capability x-rdma-pin-all
rdma: new QEMUFileOps hooks
rdma: introduce qemu_ram_foreach_block()
rdma: export qemu_fflush()
rdma: introduce qemu_file_mode_is_not_valid()
rdma: export throughput w/ MigrationStats QMP
rdma: export yield_until_fd_readable()
rdma: introduce qemu_update_position()
rdma: add documentation
migration: do not overwrite zero pages
Revert "migration: do not sent zero pages in bulk stage"
arch_init/ram_load: add error message for block length mismatch
Message-id: 1372329455-5995-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 60d9222c8f50c3e5dd3df9ee84ddd1d1c4b35389
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:36 2013 -0400
rdma: introduce capability x-rdma-pin-all
This capability allows you to disable dynamic chunk registration
for better throughput on high-performance links.
For example, using an 8GB RAM virtual machine with all 8GB of memory in
active use and the VM itself is completely idle using a 40 gbps
infiniband link:
1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5
Gbps
2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps
These numbers would of course scale up to whatever size virtual machine
you have to migrate using RDMA.
Enabling this feature does *not* have any measurable affect on
migration *downtime*. This is because, without this feature, all of the
memory will have already been registered already in advance during
the bulk round and does not need to be re-registered during the successive
iteration rounds.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 43487c678d6e4e7182bfa70d2bc75422578782aa
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:35 2013 -0400
rdma: new QEMUFileOps hooks
These are the prototypes and implementation of new hooks that
RDMA takes advantage of to perform dynamic page registration.
An optional hook is also introduced for a custom function
to be able to override the default save_page function.
Also included are the prototypes and accessor methods used by
arch_init.c which invoke funtions inside savevm.c to call out
to the hooks that may or may not have been overridden
inside of QEMUFileOps.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bd2fa51fcdba3408f308df1b08fae04053ecdee5
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:34 2013 -0400
rdma: introduce qemu_ram_foreach_block()
This is used during RDMA initialization in order to
transmit a description of all the RAM blocks to the
peer for later dynamic chunk registration purposes.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit be903b2ae7ca750bde2549432c5536087436cf49
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:32 2013 -0400
rdma: export qemu_fflush()
RDMA uses this to flush the control channel before sending its
own message to handle page registrations.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bc1256f7f187cc7d491bfe3861249a60873adbbc
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:31 2013 -0400
rdma: introduce qemu_file_mode_is_not_valid()
QEMUFileRDMA also has read and write modes. This function is now
shared to reduce code duplication.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7e114f8cf24a01893226e3a4d22a288125515cfd
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:30 2013 -0400
rdma: export throughput w/ MigrationStats QMP
This exposes throughput (in megabits/sec) through QMP.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9f05d0c3a4f9e8fcb13ed09cc350af45a627809a
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:29 2013 -0400
rdma: export yield_until_fd_readable()
The RDMA event channel can be made non-blocking just like a TCP
socket. Exporting this function allows us to yield so that the
QEMU monitor remains available.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2b0ce0797d6bfb13ebefe010da86abced0b7a9b3
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:28 2013 -0400
rdma: introduce qemu_update_position()
RDMA writes happen asynchronously, and thus the performance accounting
also needs to be able to occur asynchronously. This allows anybody
to call into savevm.c to update both f->pos as well as into arch_init.c
to update the acct_info structure with up-to-date values when
the RDMA transfer actually completes.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f4abc9d621823b14a6cd508c66c1ecb21f96349e
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Tue Jun 25 21:35:27 2013 -0400
rdma: add documentation
docs/rdma.txt contains full documentation,
wiki links, github url and contact information.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 211ea74022f51164a7729030b28eec90b6c99a08
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jun 10 12:14:20 2013 +0200
migration: do not overwrite zero pages
on incoming migration do not memset pages to zero if they already read as
zero.
this will allocate a new zero page and consume memory unnecessarily. even
if we madvise a MADV_DONTNEED later this will only deallocate the memory
asynchronously.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9ef051e5536b6368a1076046ec6c4ec4ac12b5c6
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Jun 10 12:14:19 2013 +0200
Revert "migration: do not sent zero pages in bulk stage"
Not sending zero pages breaks migration if a page is zero
at the source but not at the destination. This can e.g. happen
if different BIOS versions are used at source and destination.
It has also been reported that migration on pseries is completely
broken with this patch.
This effectively reverts commit f1c72795af573b24a7da5eb52375c9aba8a37972.
Conflicts:
arch_init.c
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 87d2f8254347879f80b3a834834a6b934dea5ecc
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Sun May 12 14:16:28 2013 +0300
arch_init/ram_load: add error message for block length mismatch
Makes it easier to debug situations where the source and target have
different ram blocks in a device and migration fails due to that, for
instance a BAR size change on a PCI device.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3e5087329489e0beceecf3426f1216619821937f
Merge: 8c260b1... 7426aa7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:13 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging
# By Peter Crosthwaite (3) and others
# Via Peter Maydell
* pmaydell/arm-devs.for-upstream:
nand: Don't inherit from Sysbus
block/nand: Convert Sysbus::init to Device::realize
block/nand: QOM casting sweep
i.MX31: Fix PRCS bit test
arm/boot: Free dtb blob memory after use
i.MX: Rework functions/types name and use new style initialization
i.MX: Implement a more complete version of the GPT timer.
ARM: Allow dumping of device tree
Message-id: 1372184516-32397-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c260b1135b15dbfe8843de799eada596167016a
Merge: 9e49c8c... bdcc150...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:09 2013 -0500
Merge remote-tracking branch 'pmaydell/target-arm.for-upstream' into
staging
# By Peter Maydell
# Via Peter Maydell
* pmaydell/target-arm.for-upstream:
target-arm: Make LPAE feature imply V7MP
target-arm: Use tuple list to sync cp regs with KVM
target-arm: Reinitialize all KVM VCPU registers on reset
target-arm: Initialize cpreg list from KVM when using KVM
target-arm: Convert TCG to using (index,value) list for cp migration
target-arm: mark up cpregs for no-migrate or raw access
target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo
target-arm: Allow special cpregs to have flags set
Message-id: 1372181592-32170-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9e49c8c58c7aa0eb93e4c83314a07b5c7f6339fe
Merge: 1e5b868... 320ce85...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:05 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck (2) and Christian Borntraeger (1)
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Wire up guest and host notifies.
virtio-ccw: Wire up ioeventfd.
s390/virtio-ccw: Fix virtio reset
Message-id: 1372177538-9812-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e5b86804ca34913cf5bec5c1240659645774a4e
Merge: baf8673... 39ae497...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 25 14:14:00 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-20130625' into staging
# By Paul Durrant (2) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-20130625:
Move hardcoded initialization of xen-platform device.
Allow use of pc machine type (accel=xen) for Xen HVM domains.
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
Message-id: alpine.DEB.2.02.1306251323220.4782@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7426aa72c36c908a7d0eae3e38568bb0a70de479
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:12:41 2013 +1000
nand: Don't inherit from Sysbus
Nand chips are not sysbus devices - they do not have any sense of MMIO,
nor interrupts. Re-parent to TYPE_DEVICE accordingly.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d47a5d9b9dda19f975320b72c386c581dad32c7a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:11:52 2013 +1000
block/nand: Convert Sysbus::init to Device::realize
The prescribed transition from Sysbus::init function to a
Device::realize.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e12078cc62f2b4a947903efef803ab1b2e13cfa1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:10:44 2013 +1000
block/nand: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST and
direct -> style casting.
Cc: afaerber@xxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f3c8fac25f119641fd30f2014bfd368a0023769e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 9 22:44:22 2013 +0200
i.MX31: Fix PRCS bit test
cppcheck detected a condition which was always false.
According to the MCIMX31 Reference Manual, the PRCS bits have to be 01
to select the Frequency Pre-Multiplier (FPM). PRCS uses bits 1 and 2,
so we have to test for 2.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Message-id: 1370810662-32320-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c23045ded7571f0eaad95920ab00b6bc9c3a91e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
arm/boot: Free dtb blob memory after use
The dtb blob returned by load_device_tree() is in memory allocated
with g_malloc(). Free it accordingly once we have copied its
contents into the guest memory. To make this easy, we need also to
clean up the error handling in load_dtb() so that we consistently
handle errors in the same way (by printing a message and then
returning -1, rather than either plowing on or exiting immediately).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371209256-11408-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 67110c3e010088d45bf0b396fca2aa8cd48ff9d0
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
i.MX: Rework functions/types name and use new style initialization
* use dynamic cast whenever possible
* Change function names to some more meaningful prefix
* Change type names to a more meaningful one
* use new style device initialization
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1369898943-1993-3-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5ec694b52a3a486fbc5a6eb6d6da4692c27d6575
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
i.MX: Implement a more complete version of the GPT timer.
* implement compare 1 2 and 3 registers
* simplify Debug printf
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1369898943-1993-2-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2acafb1a7b8b5ff4da48fccd7ce217cb07f36ffa
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Tue Jun 25 18:34:13 2013 +0100
ARM: Allow dumping of device tree
By calling qemu_devtree_dumpdtb near the end of load_dtb.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bdcc150dc44ea96152f05f9e68970b63508d5ae7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:08 2013 +0100
target-arm: Make LPAE feature imply V7MP
The v7 ARM ARM specifies that the Large Physical Address
Extension requires implementation of the Multiprocessing
Extensions, so make our LPAE feature imply V7MP rather
than specifying both in the A15 CPU initfn.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371127899-10364-1-git-send-email-peter.maydell@xxxxxxxxxx
commit f7134d963d94d1fa64a482855585d21dbb58b6bd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Use tuple list to sync cp regs with KVM
Use the tuple list of cp registers for syncing KVM state to QEMU,
rather than only syncing a very minimal set by hand.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2d8e5a0e25171eca30a72a450826f539f05951d0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Reinitialize all KVM VCPU registers on reset
Since the ARM KVM API doesn't include a "reset this VCPU"
ioctl, we have to capture the initial values of every
register it knows about so that we can reset the VCPU
by feeding those values back again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ff047453f56713aa627e63aade1a9046ccd3bdfd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Initialize cpreg list from KVM when using KVM
When using KVM, use the kernel's initial state to set up the
cpreg list, and sync to and from the kernel when doing
migration.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 721fae125369deba8c12a37f5824138686fb6e4e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: Convert TCG to using (index,value) list for cp migration
Convert the TCG ARM target to using an (index,value) list for migrating
coprocessors. The primary benefit of the (index,value) list is for
passing state between KVM and QEMU, but it works for TCG-to-TCG
migration as well and is a useful self-contained first step.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d4e6df6379a31efb2cf6cab3dea3f26fb489fabe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:07 2013 +0100
target-arm: mark up cpregs for no-migrate or raw access
Mark up coprocessor register definitions to add raw access
functions or mark the register as non-migratable where necessary.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7023ec7e2b4ee14f60c530ff9ce6e04127cf1802
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:06 2013 +0100
target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo
For reading and writing register values from the kernel for KVM,
we need to provide accessor functions which are guaranteed to succeed
and don't impose access checks, mask out unwritable bits, etc.
Define new fields raw_readfn and raw_writefn for this purpose;
these only need to be provided if there is a readfn or writefn
already and it is not suitable.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34affeefbbdbd97471c283677179254a2e006994
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 25 18:16:06 2013 +0100
target-arm: Allow special cpregs to have flags set
Relax the "is this a valid ARMCPRegInfo type value?" check to permit
"special" cpregs to have flags other than ARM_CP_SPECIAL set. At
the moment none of the other flags are relevant for special regs,
but the migration related flag we're about to introduce can apply
here too.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 320ce8503baf081725f74514d73d7bd65071a45e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Feb 19 13:48:17 2013 +0100
virtio-ccw: Wire up guest and host notifies.
Guest and host notifiers are needed by vhost. We use ioeventfds for
the guest notifiers, but need to fall back on qemu injecting interrupts
for the host notifiers.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b4436a0b4db0334c3157f71e9baa2944a133c4d4
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Feb 15 10:18:43 2013 +0100
virtio-ccw: Wire up ioeventfd.
On hosts that support ioeventfd, make use of it for host-to-guest
notifications via diagnose 500.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 6504a93011138458a2e4f67b513c5a77bdb3cae1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jun 7 12:18:46 2013 +0200
s390/virtio-ccw: Fix virtio reset
On virtio reset we must reset the indicator to avoid stale interrupts,
e.g. after a reset.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 39ae4972390f78f8891a355545c56d20a9fb7770
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Tue Jun 25 11:46:44 2013 +0000
Move hardcoded initialization of xen-platform device.
Creation of the xen-platform device is currently hardcoded into machine
type pc's initialization code, guarded by a test for the whether the xen
accelerator is enabled. This patch moves the creation of xen-platform into
the initialization code of the xenfv machine type. This maintains
backwards
compatibility for that machine type but allows more flexibility if another
machine type is used with Xen HVM domains.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a97d6fe6fbb97630d77253d20bdce78f76d01850
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Tue Jun 25 11:46:37 2013 +0000
Allow use of pc machine type (accel=xen) for Xen HVM domains.
Xen HVM domains normally spawn QEMU with a dedicated xenfv machine type.
The
initialization code for this machine type can easily be pulled into the
generic pc initialization code and guarded with a test for whether the xen
accelerator options is specified, which is more consistent with the way
other accelerators are used.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit fc744bb10cde3ba7b9ecbaf9e723e99d3b7fa25c
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 25 11:43:04 2013 +0000
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
This reverts commit 9f24a8030a70ea4954b5b8c48f606012f086f65f.
The start of the PCI hole is actually set to 0xf0000000 by hvmloader.
In order to retain ABI compatibility with Xen we leave the start of the
PCI hole at 0xf0000000 in QEMU (for Xen) too.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 1c514a7734b7f98625a0d18d5e8ee7581f26e50c
Merge: 79c097d... 35bdc13...
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 25 11:34:24 2013 +0000
Merge remote branch 'perard/cpu-hotplug-port-v2' into xen-staging-master-7
commit baf8673ca802cb3ea2cdbe94813441d23bde223b
Merge: 9fbbf0d... 96c51eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:17 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Fam Zheng (1)
# Via Stefan Hajnoczi
* stefanha/block: (23 commits)
vmdk: refuse to open higher version than supported
block: Always enable discard on the protocol level
qcow2: Batch discards
qcow2: Options to enable discard for freed clusters
qcow2: Add refcount update reason to all callers
Revert "block: Disable driver-specific options for 1.5"
ide: Clean up ide_exec_cmd()
ide: Convert SMART commands to ide_cmd_table handler
ide: Convert CF-ATA commands to ide_cmd_table handler
ide: Convert ATAPI commands to ide_cmd_table handler
ide: Convert SEEK to ide_cmd_table handler
ide: Convert FLUSH CACHE to ide_cmd_table handler
ide: Convert SET FEATURES to ide_cmd_table handler
ide: Convert CHECK POWER MDOE to ide_cmd_table handler
ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler
ide: Convert DMA read/write commands to ide_cmd_table handler
ide: Convert PIO read/write commands to ide_cmd_table handler
ide: Convert read/write multiple commands to ide_cmd_table handler
ide: Convert verify commands to ide_cmd_table handler
ide: Convert cmd_nop commands to ide_cmd_table handler
...
Message-id: 1372065035-19601-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fbbf0d1b16a0e3e4132b187c2beba458964ea98
Merge: 89f204d... 5ad24e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:09 2013 -0500
Merge remote-tracking branch 'spice/spice.v71' into staging
# By Gerd Hoffmann (1) and Hans de Goede (1)
# Via Gerd Hoffmann
* spice/spice.v71:
spice: Add -spice disable-agent-file-transfer cmdline option
(rhbz#961850)
qxl: fix Coverity scan SIGN_EXTENSION error
Message-id: 1372060666-18182-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 89f204d2c60fbf3e0c5af1ff1681e57c9f057178
Merge: 21ca4a5... 93c8e4d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:33:00 2013 -0500
Merge remote-tracking branch 'kraxel/usb.84' into staging
# By Andreas Färber (3) and others
# Via Gerd Hoffmann
* kraxel/usb.84:
usb: fix serial number for hid devices
usb: add serial bus property
usb-host-libusb: set USB_DEV_FLAG_IS_HOST
usb/host-libusb: Fix building with libusb git master code
usb/hcd-ehci: Add Faraday FUSBH200 support
usb/hcd-ehci: Replace PORTSC macros with variables
usb/hcd-ehci: Add Tegra2 SysBus EHCI device
usb/hcd-ehci: Split off instance_init from realize
usb/hcd-ehci-sysbus: Convert to QOM realize
commit 21ca4a5bb3cde109e68059ee357b3114afbc51e4
Merge: b52df46... 464e367...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 24 14:32:33 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (5) and others
# Via Michael Tokarev
* mjt/trivial-patches:
configure: Add signed*signed check to [u]int128_t test
Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS
qapi: lack of two commas in dict
sd: pass bool parameter for sd_init
qemu-char: use bool in qemu_chr_open_socket and simplify code a bit
vnc: use booleans for vnc_connect, vnc_listen_read and
vnc_display_add_client
block/nand: Formatting sweep
qxl: Fix QXLRam initialisation.
acl: acl_add can't insert before last list element, fix
configure: Fix "ERROR: ERROR: " for missing/incompatible DTC
audio: Replace static functions in header file by macros, remove
GCC_ATTR
libcacard: Fix cppcheck warning and remove unneeded code
savevm: Fix potential memory leak
kvm: Fix potential resource leak (missing fclose)
qemu-img: Add missing GCC_FMT_ATTR
qemu-options: trivial fix for -mon args help
vl: reformat SDL ifdeffery a bit
Message-id: 1371893076-9643-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b52df46551d303ffc79ec39c38440bd8a62ee210
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Jun 18 09:22:55 2013 +0200
cadence_uart: Handle backend tx errors
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 96c51eb5e46af2312b33f745ad72acb20e799aea
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jun 13 11:21:29 2013 +0800
vmdk: refuse to open higher version than supported
Refuse to open higher version for safety.
Although we try to be compatible with published VMDK spec, VMware has
newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge
what's changed in it. And it is very likely to have more new versions in
the future, so it's not safe to open them blindly.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 50b05b6f2e24296b4d739a638e1e7427767ed7cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:21 2013 +0200
block: Always enable discard on the protocol level
Turning on discard options in qcow2 doesn't help a lot when the discard
requests that it issues are thrown away by the raw-posix layer. This
patch always enables discard functionality on the protocol level so that
it's the image format's responsibility to send (or not) discard
requests. Requests sent by the guest will be allowed or ignored by the
top level BlockDriverState, which depends on the discard=... option like
before.
In particular, this means that even without specifying options, the
qcow2 default of discarding deleted snapshots actually takes effect now,
both for qemu and qemu-img.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b919fae31f4f80f78ebeab8388dc3a03cc5e4ed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:20 2013 +0200
qcow2: Batch discards
This optimises the discard operation for freed clusters by batching
discard requests (both snapshot deletion and bdrv_discard end up
updating the refcounts cluster by cluster).
Note that we don't discard asynchronously, but keep s->lock held. This
is to avoid that a freed cluster is reallocated and written to while the
discard is still in flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 67af674e478054086f972811dd0a11289afa39a9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:19 2013 +0200
qcow2: Options to enable discard for freed clusters
Deleted snapshots are discarded in the image file by default, discard
requests take their default from the -drive discard=... option and other
places that free clusters must always be enabled explicitly.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6cfcb9b8b91d303ab51b78623f2299b5288d2d51
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:18 2013 +0200
qcow2: Add refcount update reason to all callers
This adds a refcount update reason to all callers of update_refcounts(),
so that a follow-up patch can use this information to decide whether
clusters that reach a refcount of 0 should be discarded in the image
file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 492fdc6fbe17b2d45878e813e980f782ac260c30
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 19 13:44:17 2013 +0200
Revert "block: Disable driver-specific options for 1.5"
This reverts commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dfe1ea8fc49b93ab2bfaad67046c659a0dae708f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:11 2013 +0200
ide: Clean up ide_exec_cmd()
All commands are now converted to ide_cmd_table handlers, so it can be
unconditional now and the old switch block can go.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ff3526773080de2840481ec237db13ae3cbc7166
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:10 2013 +0200
ide: Convert SMART commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b1dd744240896b67ab3d8fbf3a6292521aaed58
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:09 2013 +0200
ide: Convert CF-ATA commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee425c78cad08778361bde3133162d520aa32e23
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:08 2013 +0200
ide: Convert ATAPI commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 61fdda377a7e8f05dc1171504405647131148d80
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:07 2013 +0200
ide: Convert SEEK to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9afce42903b3f8af1f9c158b411c73e41cf95df7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:06 2013 +0200
ide: Convert FLUSH CACHE to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee03398c510ea18d44f45fc7f1ec8b21db2eee2c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:05 2013 +0200
ide: Convert SET FEATURES to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 785f63208569a38a4bed5c12bfe2211f3b14d524
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:04 2013 +0200
ide: Convert CHECK POWER MDOE to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63a82e6a7b412f61a09d4a593685d8ca2856b093
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:03 2013 +0200
ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 92a6a6f64fbb7b7d3d8cb899a9cb52bd873d33fd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:02 2013 +0200
ide: Convert DMA read/write commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0e6498ed65e5f237b163f0bda9f689426dbf6ff0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:01 2013 +0200
ide: Convert PIO read/write commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit adf3a2c46e0b2ed9085df9aca3af76ff83731e98
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:26:00 2013 +0200
ide: Convert read/write multiple commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 413860cfb57d44baf971ae8d4f1cdf45340b3a4d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:59 2013 +0200
ide: Convert verify commands to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b300337e4e939d58ba39843b5e5fef53eb82acec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:58 2013 +0200
ide: Convert cmd_nop commands to ide_cmd_table handler
cmd_nop handles all commands that don't really do anything in our
implementation except setting status register flags.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1c66869a02b81ad6b687a08d99d32f5f2b01232e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:57 2013 +0200
ide: Convert WIN_IDENTIFY to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4286434cd607b7dea8fb3366f1529abf0ae39fa9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:56 2013 +0200
ide: Convert WIN_DSM to ide_cmd_table handler
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a0436e9239d29837955a60e916f876f857d46452
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jun 18 10:25:55 2013 +0200
ide: Add handler to ide_cmd_table
As a preparation for moving all IDE commands into their own function
like in the ATAPI code, introduce a 'handler' callback to ide_cmd_table.
Commands using this new infrastructure get some things handled
automatically:
* The BSY flag is set before calling the handler (in order to avoid bugs
like the one fixed in f68ec837) and reset on completion.
* The (obsolete) DSC flag in the status register is set on completion if
the command is flagged with SET_DSC in the command table
* An IRQ is triggered on completion.
* The error register and the ERR flag in the status register are cleared
before calling the handler and on completion it is asserted that
either none or both of them are set.
No commands are converted at this point.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 93c8e4dc386a243d7d417567d81dc1f1698478a4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:08:45 2013 +0200
usb: fix serial number for hid devices
commit 7b074a22dab4bdda9864b933f1bc811a3db42845 changed the serial
number of hid devices. Add compat properties to keep the old serial
number for qemu 0.12 and older.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71938a09d2b9fd4007515fec6c395916cb08f868
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:01:49 2013 +0200
usb: add serial bus property
This patch adds a serial property for all usb devices, which can be
used to set the serial number of a usb device (as listed by lsusb -v)
to a specific value. Applies to emulated devices only.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 628e54857a82a3cb65ef96c12640c30d6307a064
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jun 12 13:17:02 2013 +0200
usb-host-libusb: set USB_DEV_FLAG_IS_HOST
... like host-{linux,bsd}.c do.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc45de8c21dfc3bc3896a78b33d5a6d9e710dfff
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Jun 6 16:39:34 2013 +0200
usb/host-libusb: Fix building with libusb git master code
The next libusb release will deprecate libusb_get_port_path, and since
we compile with -Werror, this breaks the build.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4e3d8b4b37b67ff6896ec77975eecbaabf7968a4
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Thu Jun 6 15:41:13 2013 +0200
usb/hcd-ehci: Add Faraday FUSBH200 support
Add Faraday FUSBH200 support, which is slightly different from EHCI spec.
(Or maybe simply a bad/wrong implementation...)
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc8d6a8481e64ec53d06245f249235bcaaa73b27
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Thu Jun 6 15:41:12 2013 +0200
usb/hcd-ehci: Replace PORTSC macros with variables
Replace PORTSC macros with variables which could then be
configured in ehci_xxxx_class_init(...)
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 20c570432e995313874eaeabc3d0251dab40e16f
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jun 6 15:41:11 2013 +0200
usb/hcd-ehci: Add Tegra2 SysBus EHCI device
This prepares an EHCI device for the Nvidia Tegra2 SoC family.
Values based on patch by Vincent Palatin and verified against TRM v01p.
Cc: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4614cc3121b3c6375a63d01947779e36149c68c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 15:41:10 2013 +0200
usb/hcd-ehci: Split off instance_init from realize
This makes the mem MemoryRegion available to derived instance_inits.
Keep the bus in realize for now since naming breaks in instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 08f4c90b2887a4499a2f199cf9410308f8ed298c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 15:41:09 2013 +0200
usb/hcd-ehci-sysbus: Convert to QOM realize
The SysBus qdev initfn merely calls SysBusDeviceClass::init, so we can
replace it with a realizefn already. This avoids getting into any initfn
ambiguity with the upcoming Faraday EHCI implementation.
Rename internal usb_ehci_initfn() to usb_ehci_realize() to allow to
return Errors from common initialization code as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5ad24e5f3b5968240d50fb2e5b6e19517b041052
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Jun 8 15:37:27 2013 +0200
spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850)
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bfc10122fafc399654f11eed8dd3ceea7b569105
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jun 3 10:36:54 2013 +0200
qxl: fix Coverity scan SIGN_EXTENSION error
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 464e3671f9d5c206fa9e2646c81f21ceef7cfb7d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 21 14:01:31 2013 +0100
configure: Add signed*signed check to [u]int128_t test
clang 3.3 with -fsanitize=undefined will fail to link code containing an
int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
so add this to our configure test for whether [u]int128_t are usable.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 965f486c21a0a8fed33e65278516edfc01d1e2fd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jun 21 14:00:17 2013 +0100
Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS
The dtc submodule's makefile expects -I include directives to be
in CPPFLAGS, not CFLAGS. Getting this wrong meant that the include
directive would not be applied when generating the dependency .d
files. This in turn meant that we couldn't build libfdt when
doing an out of tree build with clang. (gcc's dependency output
is slightly different from clang in this situation so it happened
to work.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ad0f171e25fb60b385dc7d07632916d3b1043d81
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Jun 19 17:23:27 2013 +0800
qapi: lack of two commas in dict
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6790f59da37f6b8d4f0fe3a6b17febf512511307
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jun 18 11:45:36 2013 +0800
sd: pass bool parameter for sd_init
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e990a3932847c45839355de72e73182a53fc75ac
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jun 18 11:45:35 2013 +0800
qemu-char: use bool in qemu_chr_open_socket and simplify code a bit
Local variables is_* should be bool by usage.
While at it, simplify the logic/code a bit.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2c8cf549571bbe0b245fc4f9680e1dbde39a015c
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue Jun 11 15:42:44 2013 +0400
vnc: use booleans for vnc_connect, vnc_listen_read and
vnc_display_add_client
Some arguments to these functions are booleans - either by declaration,
or by actual usage, but sometimes value of 0 or 1 is passed for a bool,
and sometimes it is declared as int but a bool value, or true/false,
is passed to it instead. Clean it up a bit.
Cc: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1984745ea8ad309a06690a83e91d031d21d709ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 18 21:08:57 2013 +1000
block/nand: Formatting sweep
Make this code closer to passing checkpatch. Mostly missing braces, but
a few rogue tabs in there as well.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 329f97fc4ff4b533fcd2d8f4eab6c9c2568aed27
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Jun 17 17:38:26 2013 +0100
qxl: Fix QXLRam initialisation.
The qxl driver expect NULL for QXLRam.memory_configs, but this is never
initialized.
If memory is set to 0xc2c2.., it leads to a spice-critical error when
trying to start qxl.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4999f3a8a6009de05ba82e58e723277917f16254
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jun 18 10:05:23 2013 +0200
acl: acl_add can't insert before last list element, fix
Watch this:
$ upstream-qemu -nodefaults -S -vnc :0,acl,sasl -monitor stdio
QEMU 1.5.50 monitor - type 'help' for more information
(qemu) acl_add vnc.username drei allow
acl: added rule at position 1
(qemu) acl_show vnc.username
policy: deny
1: allow drei
(qemu) acl_add vnc.username zwei allow 1
acl: added rule at position 2
(qemu) acl_show vnc.username
policy: deny
1: allow drei
2: allow zwei
(qemu) acl_add vnc.username eins allow 1
acl: added rule at position 1
(qemu) acl_show vnc.username
policy: deny
1: allow eins
2: allow drei
3: allow zwei
The second acl_add inserts at position 2 instead of 1.
Root cause is an off-by-one in qemu_acl_insert(): when index ==
acl->nentries, it appends instead of inserting before the last list
element.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f2c4ddd9c32f7f389e83a0d866fb600e37985d03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 18 01:09:06 2013 +0200
configure: Fix "ERROR: ERROR: " for missing/incompatible DTC
error_exit already prepends "ERROR: ", so no need to print it manually.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 87e613ea9ed30f4217fd11aa2ad28a9fb4f1c54a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 11:19:31 2013 +0200
audio: Replace static functions in header file by macros, remove GCC_ATTR
Using macros instead of static functions for dolog and for ldebug
simplifies the code and can also reduce the total code size.
GCC_ATTR was only used in audio_int.h, so it is now unused and
the definition can be removed from compiler.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 48f0475f813dfa5ceb0e1f10c2ac3f28a8af583b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 11:08:52 2013 +0200
libcacard: Fix cppcheck warning and remove unneeded code
The local function vcard_emul_alloc_arrays always returned PR_TRUE.
Therefore cppcheck complained about code which handled the
non-existent PR_FALSE case.
Remove the function's return value and the dead code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4f080057767a684aab60998659e18f98c5fbefc7
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 13:33:05 2013 +0200
savevm: Fix potential memory leak
The leak was reported by cppcheck. Fix it by moving the g_malloc0 after
the argument validity check.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 90527d2a8bb08ca5b4774eacfdd6b8fe9671c077
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 13:37:25 2013 +0200
kvm: Fix potential resource leak (missing fclose)
This leak was detected by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7c30f65703fc4698ea9794126f1b978f34ac93b9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 17:01:05 2013 +0200
qemu-img: Add missing GCC_FMT_ATTR
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f17e4eaafc9d89a841fd30be93512b4973e53e31
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 13:47:32 2013 +0400
qemu-options: trivial fix for -mon args help
It is the (implied sub)option name which is optional, not
the value of that (sub)option, make it so in the help output.
(Introduced by commit 22a0e04b9bb)
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 24f6ff863bce236f39ea597206e0a8df2e9537e6
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:44:20 2013 +0400
vl: reformat SDL ifdeffery a bit
This reformats #ifdef..#endif and case statement a bit,
to make it a bit shorter and matching other cases like that
(no code changes).
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 576156ffed72ab4feb0b752979db86ff8759a2a1
Merge: b1588c3... 2eb74e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 20 16:53:39 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (12) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (25 commits)
memory: render_memory_region: factor out fr constant setters
memory: as_update_topology_pass: Improve comments
memory: Fix comment typo
memory: give name to every AddressSpace
dma: eliminate DMAContext
spapr_vio: take care of creating our own AddressSpace/DMAContext
pci: use memory core for iommu support
dma: eliminate old-style IOMMU support
spapr: use memory core for iommu support
spapr: make IOMMU translation go through IOMMUTLBEntry
spapr: convert TCE API to use an opaque type
vfio: abort if an emulated iommu is used
memory: Add iommu map/unmap notifiers
memory: iommu support
memory: make section size a 128-bit integer
exec: reorganize mem_add to match Int128 version
Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62"
Revert "memory: limit sections in the radix tree to the actual address
space size"
exec: return MemoryRegion from address_space_translate
exec: Implement subpage_read/write via address_space_rw
...
Message-id: 1371739493-10187-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1588c3fd6daf6e23ba727c758f84ada279ae731
Merge: 4eda32f... b5a87d2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jun 20 16:53:08 2013 -0500
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Bas van Sisseren (1) and Gertjan Halkes (1)
# Via Jan Kiszka
* kiszka/queues/slirp:
make user networking hostfwd work with restrict=y
fix -net user checks by reordering checks
Message-id: cover.1371638848.git.jan.kiszka@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2eb74e1a1ef145034aa41255c4a6f469d560c96d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:33:29 2013 +1000
memory: render_memory_region: factor out fr constant setters
These 4 replicated lines set properties of fr that are constant over
the course of the function. Factor out their repeated setting (and also
guards against them being set multiple times in the loop below).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 41a6e477fda3e3e5c8cc860458d29164625dc5e0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:32:42 2013 +1000
memory: as_update_topology_pass: Improve comments
These comments were a little difficult to read. First one had
incorrect parenthesis. The part about attributes changing is
really applicable to the region being 'in both' rather than 'in
new'
Second comment has an obscure parenthetic about 'Logging may have
changed'. Made clearer, as this if is supposed to handle the case where
the memory region is unchanged (with the notable exception re logging).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8508e024cb31a4013bb462aca0235c963e785aeb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:31:56 2013 +1000
memory: Fix comment typo
s/ajacent/adjacent
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7dca8043f3483ff34ac954c7012b721731ee5719
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 29 16:25:51 2013 +0000
memory: give name to every AddressSpace
The "info mtree" command in QEMU console prints only "memory" and "I/O"
address spaces while there are actually a lot more other AddressSpace
structs created by PCI and VIO devices. Those devices do not normally
have names and therefore not present in "info mtree" output.
The patch fixes this.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit df32fd1c9f53dd3b7abd28e29f851965039eabda
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 18:15:49 2013 +0200
dma: eliminate DMAContext
The DMAContext is a simple pointer to an AddressSpace that is now always
already available. Make everyone hold the address space directly,
and clean up the DMA API to use the AddressSpace directly.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 96478592a93f93322ecc20d0a6eccb4d4ef33c7a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 12:38:50 2013 +0200
spapr_vio: take care of creating our own AddressSpace/DMAContext
Fetch the root region from the sPAPRTCETable, and use it to build
an AddressSpace and DMAContext.
Now, everywhere we have a DMAContext we also have access to the
corresponding AddressSpace (either because we create it just before
the DMAContext, or because dma_context_memory's AddressSpace is
trivially address_space_memory).
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e00387d58243d4ae24ac68008a2aea76313ab997
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:48 2012 +0200
pci: use memory core for iommu support
Use the new iommu support in the memory core for iommu support. The only
user, spapr, is also converted, but it still provides a DMAContext
interface until the non-PCI bits switch to AddressSpace.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[ Do not calls memory_region_del_subregion() on the device's
bus_master_enable_region, it is an alias; return an AddressSpace
from the IOMMU hook and remove the destructor hook. - David Gibson ]
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 24addbc76dcbb1d1c85b3062bbf7a030831cc7a9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 17:49:04 2013 +0200
dma: eliminate old-style IOMMU support
The translate function in the DMAContext is now always NULL.
Remove every reference to it.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a84bb436696159d460d03db809c27a854cee0863
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 12:35:33 2013 +0200
spapr: use memory core for iommu support
Now we can stop using a "translating" DMAContext, but we do not yet modify
the sPAPRTCETable users to get an AddressSpace; they keep using the table
via a DMAContext.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a71bfbfe9d0bb74912170435d687f3c5de86a9f6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 15:05:06 2013 +0200
spapr: make IOMMU translation go through IOMMUTLBEntry
The next step is to introduce the translation code that will be used for
IOMMU MemoryRegions, but still do the actual translation in a DMAContext.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2b7dc949e241ac2b069d2d6183c1346cad792662
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 17:30:48 2013 +0200
spapr: convert TCE API to use an opaque type
The TCE table is currently returned as a DMAContext, and non-type-safe
APIs are called later passing back the DMAContext. Since we want to move
away from DMAContext, use an opaque type instead, and add an accessor
to retrieve the DMAContext from it.
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06d985f5d844d07d31b4dada20f4ff6cf0d6ff4a
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:49 2012 +0200
vfio: abort if an emulated iommu is used
vfio doesn't support guest iommus yet, indicate it to the user
by gently depositing a core on their disk.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 068665757da047d7d2980c17bba0659eb0ea0a89
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue May 14 19:13:56 2013 +1000
memory: Add iommu map/unmap notifiers
This patch adds a NotifierList to MemoryRegions which represent IOMMUs
allowing other parts of the code to register interest in mappings or
unmappings from the IOMMU. All IOMMU implementations will need to call
memory_region_notify_iommu() to inform those waiting on the notifier list,
whenever an IOMMU mapping is made or removed.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 30951157441aed950ad8ca326500b4986d431c7a
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:46 2012 +0200
memory: iommu support
Add a new memory region type that translates addresses it is given,
then forwards them to a target address space. This is similar to
an alias, except that the mapping is more flexible than a linear
translation and trucation, and also less efficient since the
translation happens at runtime.
The implementation uses an AddressSpace mapping the target region to
avoid hierarchical dispatch all the way to the resolved region; only
iommu regions are looked up dynamically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[Modified to put translation in address_space_translate; assume
IOMMUs are not reachable from TCG. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 052e87b073cb70afcd767d32f45af2794a5a65de
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 10:08:27 2013 +0200
memory: make section size a 128-bit integer
So far, the size of all regions passed to listeners could fit in 64 bits,
because artificial regions (containers and aliases) are eliminated by
the memory core, leaving only device regions which have reasonable sizes
An IOMMU however cannot be eliminated by the memory core, and may have
an artificial size, hence we may need 65 bits to represent its size.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 733d5ef52721a836b1d9b5cd0f15a41db88829d0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 10:47:10 2013 +0200
exec: reorganize mem_add to match Int128 version
When adding support for 2^64-byte sections, we will have to change
the structure of mem_add to avoid failures in int128_get64.
Reorganize the code now before introducing Int128.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5b23fd03324096056cf1f6bcf111224760d4c67c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 13:18:06 2013 +0200
Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62"
This reverts commit 311f83ca08c011b048c063c2fd3038a8957970bc.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 99b9cc0679585b2d495d7d31ce556549b6b2721c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 27 13:18:01 2013 +0200
Revert "memory: limit sections in the radix tree to the actual address
space size"
This reverts commit 86a8623692b1b559a419a92eb8b6897c221bca74.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c8a00ce186b9a58d99b0afff90f87d5760bb44b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 29 12:42:00 2013 +0200
exec: return MemoryRegion from address_space_translate
Only address_space_translate_for_iotlb needs to return the section.
Every caller of address_space_translate now uses only section->mr,
return it directly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit acc9d80b26e8cb4667b5b336963d91233b6a98c4
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:55:37 2013 +0200
exec: Implement subpage_read/write via address_space_rw
This will allow to add support for unaligned memory regions: the subpage
container region can activate unaligned support unconditionally because
the read/write handler will now ensure that accesses are split as
required by calling address_space_rw. We can furthermore drop the
special handling of RAM subpages, address_space_rw takes care of this
already.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 90260c6c0960b2745d79455ceaa6cb50fb796e02
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:46:51 2013 +0200
exec: Resolve subpages in one step except for IOTLB fills
Except for the case of setting the IOTLB entry in TCG mode, we can avoid
the subpage dispatching handlers and do the resolution directly on
address_space_lookup_region. An IOTLB entry describes a full page, not
only the region that the first access to a sub-divided page may return.
This patch therefore introduces a special translation function,
address_space_translate_for_iotlb, that avoids the subpage resolutions.
In contrast, callers of the existing address_space_translate service
will now always receive the terminal memory region section. This will be
important for breaking the BQL and for enabling unaligned memory region.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f52cc467426e43792eb39f81705766bcb3d9e96a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun May 26 21:42:40 2013 +0200
exec: Allow unaligned address_space_rw
This will be needed for some corner cases with para-virtual I/O ports.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1db8abb10243abe969a2ba307664ba51b60fcac6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 12:07:21 2013 +0200
memory: move private types to exec.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f029603abb1472a33e008f9ea4127cc52566986
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon May 6 16:48:02 2013 +0200
memory: Introduce address_space_lookup_region
This introduces a wrapper for phys_page_find (before we complicate
address_space_translate with IOMMU translation). This function will
also encapsulate locking and reference counting when we introduce
BQL-free dispatching.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3752a0364883ed00100cc537832c434de3f77931
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jun 20 15:18:04 2013 +0100
exec.c: address_space_translate: handle access to addr 0 of 2^64 sized
region
The memory API allows a MemoryRegion's size to be 2^64, as a special
case (otherwise the size always fits in a 64 bit integer). This meant
that attempts to access address zero in a 2^64 sized region would
assert in address_space_translate():
#3 0x00007ffff3e4d192 in __GI___assert_fail#(assertion=0x555555a43f32
"!a.hi", file=0x555555a43ef0 "include/qemu/int128.h", line=18,
function=0x555555a4439f "int128_get64") at assert.c:103
#4 0x0000555555877642 in int128_get64 (a=...)
at include/qemu/int128.h:18
#5 0x00005555558782f2 in address_space_translate (as=0x55555668d140,
/addr=0, xlat=0x7fffafac9918, plen=0x7fffafac9920, is_write=false)
at exec.c:221
Fix this by doing the 'min' operation in 128 bit arithmetic
rather than 64 bit arithmetic (we know the result of the 'min'
definitely fits in 64 bits because one of the inputs did).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4eda32f588086b6cd0ec2be6a7a6c131f8c2b427
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:06 2013 +0200
doc: Drop ref to Bochs from -no-fd-bootchk documentation
Manual page and qemu-doc on talk about "Bochs BIOS". We use SeaBIOS,
and it implements the feature. Replace by just "BIOS", and drop the
TODO line wondering about the Bochs reference.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e1123015a50abf44f9daa9495f40eeaaf4c9bb98
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:05 2013 +0200
pc: Make -no-fd-bootchk stick across boot order changes
Option -no-fd-bootchk asks the BIOS to attempt booting from a floppy
even when the boot sector signature isn't there, by setting a bit in
RTC CMOS. It was added back in 2006 (commit 52ca8d6a).
Two years later, commit 0ecdffbb added monitor command boot_set.
Implemented by new function pc_boot_set(). It unconditionally clears
the floppy signature bit in CMOS.
Commit e0f084bf added -boot option once to automatically change the
boot order on first reset. Reuses pc_boot_set(), thus also clears the
floppy signature bit. Commit d9346e81 took care to preserve this
behavior.
Thus, -no-fd-bootchk applies to any number of boots. Except it
applies just to the first boot with -boot once, and never after
boot_set. Weird. Make it stick instead: set the bit according to
-no-fd-bootchk in pc_boot_set().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 083b79c9fea0e3842f0b2b57ff0d20ab5f57084a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:04 2013 +0200
vl: Rename *boot_devices to *boot_order, for consistency
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8281abd548d840d84223e66812491918c713e56c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:03 2013 +0200
vl: Fix -boot order and once regressions, and related bugs
Option "once" sets up a different boot order just for the initial
boot. Boot order reverts back to normal on reset. Option "order"
changes the normal boot order.
The reversal is implemented by reset handler restore_boot_devices(),
which takes the boot order to revert to as argument.
restore_boot_devices() does nothing on its first call, because that
must be the initial machine reset. On its second call, it changes the
boot order back, and unregisters itself.
Because we register the handler right when -boot gets parsed, we can
revert to an incorrect normal boot order, and multiple -boot can
interact in funny ways.
Here's how things work without -boot once or order:
* boot_devices is "".
* main() passes machine->boot_order to to machine->init(), because
boot_devices is "". machine->init() configures firmware
accordingly. For PC machines, machine->boot_order is "cad", and
pc_cmos_init() writes it to RTC CMOS, where SeaBIOS picks it up.
Now consider -boot order=:
* boot_devices is "".
* -boot order= sets boot_devices to "" (no change).
* main() passes machine->boot_order to to machine->init(), because
boot_devices is "", as above.
Bug: -boot order= has no effect. Broken in commit e4ada29e.
Next, consider -boot once=a:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* main() passes boot_devices "a" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
* Machine boots, boot order is "a".
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Bug: boot order reverts to "" instead of machine->boot_order. The
actual boot order depends on how firmware interprets "". Broken
in commit e4ada29e.
Next, consider -boot once=a -boot order=c:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* -boot order=c sets boot_devices to "c".
* main() passes boot_devices "c" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
* Machine boots, boot order is "c".
Bug: it should be "a". I figure this has always been broken.
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Bug: boot order reverts to "" instead of "c". I figure this has
always been broken, just differently broken before commit
e4ada29e.
Next, consider -boot once=a -boot once=b -boot once=c:
* boot_devices is "".
* -boot once=a registers restore_boot_devices() with argument "", and
sets boot_devices to "a".
* -boot once=b registers restore_boot_devices() with argument "a", and
sets boot_devices to "b".
* -boot once=c registers restore_boot_devices() with argument "b", and
sets boot_devices to "c".
* main() passes boot_devices "c" to machine->init(), which configures
firmware accordingly. For PC machines, pc_cmos_init() writes the
boot order to RTC CMOS.
* main() calls qemu_system_reset(). This runs reset handlers.
- restore_boot_devices() gets called with argument "". Does
nothing, because it's the first call.
- restore_boot_devices() gets called with argument "a". Calls
qemu_boot_set("a") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
- restore_boot_devices() gets called with argument "b". Calls
qemu_boot_set("b") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
* Machine boots, boot order is "b".
Bug: should really be "c", because that came last, and for all other
-boot options, the last one wins. I figure this was broken some
time before commit 37905d6a, and fixed there only for a single
occurence of "once".
* Machine resets (e.g. monitor command). Reset handlers run.
- restore_boot_devices() gets called with argument "". Calls
qemu_boot_set("") to reconfigure firmware. For PC machines,
pc_boot_set() writes it into RTC CMOS. Reset handler
unregistered.
Same bug as above: boot order reverts to "" instead of
machine->boot_order.
Fix by acting upon -boot options order, once and menu only after
option parsing is complete, and the machine is known. This is how the
other -boot options work already.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a86b35f992f107323e432c0a96107e11e1b699ad
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:02 2013 +0200
qemu-option: check_params() is now unused, drop it
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6ef4716cecdfa1b3794c1a33edba9840e1aa6b5f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 14 13:15:01 2013 +0200
vl: Clean up parsing of -boot option argument
Commit 3d3b8303 threw in some QemuOpts parsing without replacing the
existing ad hoc parser, resulting in a confusing mess. Clean it up.
Two user-visible changes:
1. Invalid options are reported more nicely. Before:
qemu: unknown boot parameter 'x' in 'x=y'
After:
qemu-system-x86_64: -boot x=y: Invalid parameter 'x'
2. If -boot is given multiple times, options accumulate, just like for
-machine. Before, only options order, once and menu accumulated.
For the other ones, all but the first -boot in non-legacy syntax
got simply ignored.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1371208516-7857-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5a87d26e848945eb891f4d7e4a7f2be514e08d5
Author: Gertjan Halkes <qemu@xxxxxxxxxx>
Date: Fri Nov 11 16:04:20 2011 +0100
make user networking hostfwd work with restrict=y
This patch allows the hostfwd option to override the restrict=y setting in
the user network stack, as explicitly stated in the documentation on the
restrict option:
restrict=on|off
If this option is enabled, the guest will be isolated, i.e. it
will not be able to contact the host and no guest IP packets
will be routed over the host to the outside. This option does
not affect any explicitly set forwarding rules.
Qemu bug tracker:
https://bugs.launchpad.net/qemu/+bug/829455
Signed-off-by: Gertjan Halkes <qemu@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 68756ba8be2127b6ea30a466af9f78a5c97bc15f
Author: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx>
Date: Mon Jun 3 15:11:49 2013 +0200
fix -net user checks by reordering checks
reorder slirp config options. first check the dns-server-address,
then check the first-dhcp-address. the original code was comparing
the first-dhcp-address with the default dns-server-address, not
the configured dns-server-address.
Signed-off-by: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit c1990468d5a13c8f1d9111fcca0a78a6adad062b
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Wed May 22 11:32:51 2013 -0500
wdt_i6300esb: fix vmstate versioning
When this VMSD was introduced it's version fields were set to
sizeof(I6300State), making them essentially random from build to build,
version to version.
To fix this, we lock in a high version id and low minimum version id to
support old->new migration from all prior versions of this device's
state. This should work since the device state has not changed since
its introduction.
The potentially breaks migration from 1.5+ to 1.5, but since the
versioning was essentially random prior to this patch, new->old
migration was not consistently functional to begin with.
Reported-by: Nicholas Thomas <nick@xxxxxxxxxxxxxx>
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ed8a8430a896088db55ae029e9eac200aedbe5c
Merge: 7d8f4b3... 1288844...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 18 10:06:47 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: reorganize iscsi_readcapacity_sync
iscsi: simplify freeing of tasks
vhost-scsi: fix k->set_guest_notifiers() NULL dereference
scsi-disk: scsi-block device for scsi pass-through should not be
removable
scsi-generic: check the return value of bdrv_aio_ioctl in
execute_command
scsi-generic: fix sign extension of READ CAPACITY(10) data
scsi: reset cdrom tray statuses on scsi_disk_reset
Message-id: 1371565016-2643-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d8f4b34a4bb6996d958da211f1dfb2686c7d82b
Merge: 5b45643... 2330790...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 18 10:06:39 2013 -0500
Merge remote-tracking branch 'bonzini/nbd-next' into staging
# By Ján Tomko
# Via Paolo Bonzini
* bonzini/nbd-next:
nbd: strip braces from literal IPv6 address in URI
qemu-socket: allow hostnames starting with a digit
commit 5b456438f5bb395ed6b1eec95e18ce7a7a884a0a
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri May 31 14:12:48 2013 -0400
virtio-rng: Fix crash with non-default backend
'default_backend' isn't always set, but 'rng' is, so use that.
$ ./x86_64-softmmu/qemu-system-x86_64 -object
rng-random,id=rng0,filename=/dev/random -device virtio-rng-pci,rng=rng0
Segmentation fault (core dumped)
Regressed with virtio refactoring in
59ccd20a9ac719cff82180429458728f03ec612f
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id:
bf4505014a0a941dbd3c62068f3cf2c496b69e6a.1370023944.git.crobinso@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1288844e7c4ede59509bf697a4cca0f2215a1ce3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 13:56:24 2013 +0200
iscsi: reorganize iscsi_readcapacity_sync
Avoid the goto, and use the same retry logic for the 10- and 16-
byte versions.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f0d2a4d4d63dd2f0f3ecb2d591b979b0e7f24a22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 13:47:08 2013 +0200
iscsi: simplify freeing of tasks
Always free them in the iscsi_aio_*_acb functions and remove the
checks in their callers. Remove ifs when the task struct was
previously dereferenced (spotted by Coverity).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e22a2d18998fd183c8181663981eb681ca977e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 30 16:14:44 2013 +0200
vhost-scsi: fix k->set_guest_notifiers() NULL dereference
Coverity picked up a copy-paste bug. In vhost_scsi_start() we check for
!k->set_guest_notifiers and error out. The check probably got copied
but instead of erroring we actually use the function pointer!
Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 18e673b8f350e1d789b8a50d209eb4a4252ebbda
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Wed May 29 15:47:23 2013 +0200
scsi-disk: scsi-block device for scsi pass-through should not be removable
This patch adds a new SCSI_DISK_F_NO_REMOVABLE_DEVOPS feature. By this
feature we can set that the scsi-block (scsi pass-through) device will
still
be removable from the guest side, but from monitor it cannot be removed.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d836f8d35dc418e24c3b11e2ea67d361b867b650
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Wed May 29 14:12:10 2013 +0200
scsi-generic: check the return value of bdrv_aio_ioctl in execute_command
This fixes the bug introduced by this commit ad54ae80c73f.
The bdrv_aio_ioctl() still could return null and we should return an error
in that case.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53254e569f8e07501f3e0098bd57d2b780e52faa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 14:08:53 2013 +0200
scsi-generic: fix sign extension of READ CAPACITY(10) data
Issuing the READ CAPACITY(10) command in the guest will cause QEMU
to update its knowledge of the maximum accessible LBA in the disk.
The recorded maximum LBA will be wrong if the disk is bigger than
1TB, because ldl_be_p returns a signed int.
When this is fixed, a latent bug will be unmasked. If the READ
CAPACITY(10) command reported an overflow (0xFFFFFFFF), we must
not overwrite the previously-known maximum accessible LBA, or the guest
will fail to access the disk above the first 2TB.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Mon May 20 13:06:47 2013 +0200
scsi: reset cdrom tray statuses on scsi_disk_reset
Tray statuses should be also reset. Some guests may lock the tray and
right after resetting the guest it should be unlocked and closed. This
is done on power-on, reset and resume from suspend/hibernate on
bare-metal.
This fix is already committed for IDE CD.
Check the commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c.
Test results on bare-metal:
- on reset/power-on the CD-ROM tray is closed even before the monitor
is turned on
- on resume from suspend/hibernate the tray is also closed before
the monitor is turned on
From test results it seems that this behavior is OS and probably BIOS
independent.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 23307908790cd8fad91220863d7712c571ddc977
Author: Ján Tomko <jtomko@xxxxxxxxxx>
Date: Mon Jun 3 17:54:56 2013 +0200
nbd: strip braces from literal IPv6 address in URI
Otherwise they would get passed to getaddrinfo and fail with:
address resolution failed for [::1]:1234: Name or service not known
(Broken by commit v1.4.0-736-gf17c90b)
Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 391b7b9701ba3318e890ec0cba97a3c654bfa667
Author: Ján Tomko <jtomko@xxxxxxxxxx>
Date: Mon Jun 3 17:54:55 2013 +0200
qemu-socket: allow hostnames starting with a digit
According to RFC 1123 [1], hostnames can start with a digit too.
[1] http://tools.ietf.org/html/rfc1123#page-13
Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
[Use strspn, not strcspn. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afd59989db90683fa127fec501d2633bcfbd6379
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 11:00:40 2013 +1000
intc/xilinx_intc: Dont lower IRQ when HIE cleared
This is a little strange. It is lowering the parent IRQ pin on input
when HIE is cleared. There is no such behaviour in the real hardware.
ISR changes based on interrupt pin state are already guarded on HIE
being set. So we can just delete this if in its entirety.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fa96d6142f7f1947717c7c45c4d3141e5ab55167
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:59:55 2013 +1000
intc/xilinx_intc: Inhibit write to ISR when HIE
When the Hardware Interrupt Enable (HIE) bit is set, software cannot
change ISR. Add write guard accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 45fdd3bf5a00466cb0f762c638291a5446773dc9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:59:09 2013 +1000
intc/xilinx_intc: Handle level interrupt retriggering
Acking a level sensitive interrupt should have no effect if the
interrupt pin is still asserted. The current implementation requires
and edge condition to occur for setting a level sensitive IRQ, which
means an ACK can clear a level sensitive interrupt, until the original
source strobes the interrupt again.
Fix by keeping track of the interrupt pin state and setting ISR based
on this every time update_irq() is called.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 6327c221fff955ee979559ec85c148963e06d78f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:58:25 2013 +1000
intc/xilinx_intc: Don't clear level sens. IRQs without ACK
For level sensitive interrupts, ISR bits are cleared when the input pin
is lowered. This is incorrect. Only software can clear ISR bits (via
IAR or direct write to ISR with !MER(2)).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 37a011e9bade7bcbdd41addffc7c94cbf628404c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jun 11 10:57:41 2013 +1000
microblaze/petalogix_s3adsp1800_mmu: Fix UART IRQ
The UART IRQ is edge sensitive, whereas the machine was registering it
as level sensitive. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 21a885a7e2a0f532f7653a2607efddbd83504430
Merge: 128dc2d... dbfbc63...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:46 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
qerror: drop QERR_OPEN_FILE_FAILED macro
block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED
savevm: qmp_xen_save_devices_state(): use error_setg_file_open()
dump: qmp_dump_guest_memory(): use error_setg_file_open()
cpus: use error_setg_file_open()
blockdev: use error_setg_file_open()
block: mirror_complete(): use error_setg_file_open()
rng-random: use error_setg_file_open()
error: add error_setg_file_open() helper
Message-id: 1371484631-29510-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 128dc2d1e4cb98ddbe9c0df2e0c914dc00925dac
Merge: 5d71bbc... 0bed087...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:13 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Liu Yuan (2) and others
# Via Kevin Wolf
* kwolf/for-anthony:
vmdk: Allow reading variable size descriptor files
NVMe: Initial commit for new storage interface
curl: Don't set curl options on the handle just before it's going to be
deleted.
vmdk: byteswap VMDK4Header.desc_offset field
block/curl.c: Refuse to open the handle for writes.
sheepdog: support 'qemu-img snapshot -a'
sheepdog: fix snapshot tag initialization
Message-id: 1371486710-17793-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5d71bbc5fb076e6d8a37bb3e320d61432b3c2ce0
Merge: 38aea17... d1bdd3a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 13:14:01 2013 -0500
Merge remote-tracking branch 'rth/fix-ppc64' into staging
# By Anton Blanchard
# Via Richard Henderson
* rth/fix-ppc64:
tcg-ppc64: rotr_i32 rotates wrong amount
tcg-ppc64: Fix add2_i64
tcg-ppc64: bswap64 rotates output 32 bits
tcg-ppc64: Fix RLDCL opcode
Message-id: 1371491129-30246-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1bdd3af49f227dd4a4b03b90cb020c55cbed440
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:30:18 2013 +1000
tcg-ppc64: rotr_i32 rotates wrong amount
rotr_i32 calculates the amount to left shift and puts it into a
temporary, but then doesn't use it when doing the shift.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84247357104044b8c4ec4a634e84769f432cbe52
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:29:39 2013 +1000
tcg-ppc64: Fix add2_i64
add2_i64 was adding the lower double word to the upper double word
of each input. Fix this so we add the lower double words, then the
upper double words with carry propagation.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82e0f9170ac9307de4fc15bfb4d12d5534550322
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun Jun 2 22:28:27 2013 +1000
tcg-ppc64: bswap64 rotates output 32 bits
If our input and output is in the same register, bswap64 tries to
undo a rotate of the input. This just ends up rotating the output.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8a94cfb05ea9a8991c832236b4174d354025a7b7
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Jun 11 21:19:35 2013 +1000
tcg-ppc64: Fix RLDCL opcode
The rldcl instruction doesn't have an sh field, so the minor opcode
is shifted 1 bit. We were using the XO30 macro which shifted the
minor opcode 2 bits.
Remove XO30 and add MD30 and MDS30 macros which match the
Power ISA categories.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0bed087df24c7b3fae366f239b9d150de3309416
Author: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx>
Date: Wed Jun 12 14:06:30 2013 +0300
vmdk: Allow reading variable size descriptor files
the hard-coded 2k buffer on the stack won't allow reading big descriptor
files which can be generated when storing big images. For example 500G
vmdk splitted to 2G chunks.
Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f3c507adcd7b00a08f2075afb6012f791ba9aec5
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Jun 4 09:17:10 2013 -0600
NVMe: Initial commit for new storage interface
Initial commit for emulated Non-Volatile-Memory Express (NVMe) pci
storage device.
NVMe is an open, industry driven storage specification defining
an optimized register and command set designed to deliver the full
capabilities of non-volatile memory on PCIe SSDs. Further information
may be found on the organizations website at:
http://www.nvmexpress.org/
This commit implements the minimum from the specification to work with
existing drivers.
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8da1aa15db2f55c42bdcea95e27b1a190d2be754
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 17:40:15 2013 +0100
curl: Don't set curl options on the handle just before it's going to be
deleted.
(Found by Kamil Dudka)
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Cc: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5a394b9e96eb3c39676353bdf8a230180ae8d6f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 10 11:07:33 2013 +0200
vmdk: byteswap VMDK4Header.desc_offset field
Remember to byteswap VMDK4Header.desc_offset on big-endian machines.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7cea2ba47ea6d361584072f96d7858f5cc99009
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 12:38:43 2013 +0100
block/curl.c: Refuse to open the handle for writes.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cede621ffc13ba1e209d9a21e85b21e150b74045
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Jun 8 01:54:26 2013 +0800
sheepdog: support 'qemu-img snapshot -a'
Just call sd_create_branch() in the snapshot_goto to rollback the image
is good
enough. With this patch, 'loadvm' process for sheepdog is modified:
Suppose we have a snapshot chain A --> B --> C, we do 'loadvm A' so as to
get
a new chain,
A --> B
|
V
C1
in the old code:
1 reload inode of A (in snapshot_goto)
2 read vmstate via A's vdi_id (loadvm_state)
3 delete C and create C1, reload inode of C1 (sd_create_branch on write)
with this patch applied:
1 reload inode of A, delete C and create C1 (in snapshot_goto)
2 read vmstate via C1's parent, that is A's vdi_id (loadvm_state)
This will fix the possible bug that QEMU exit between 2 and 3 in the old
code
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b579ffb3fd64243b64ac5aaf659ac88518f17835
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Jun 8 01:54:25 2013 +0800
sheepdog: fix snapshot tag initialization
This is an old and obvious bug. We should pass snapshot_id to the
tag. Or simple command like 'qemu-img snapshot -a tag sheepdog:image'
will fail
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbfbc6373441e436ac6e2bcf7a8acb284225aa21
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:37:54 2013 -0400
qerror: drop QERR_OPEN_FILE_FAILED macro
Not used since the last commit.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d8b6895f7a8e5bcc5be1557e8048db43882f3b33
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 10 11:29:27 2013 -0400
block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED
The call to drv->bdrv_reopen_prepare() can fail due to reasons
other than an open failure. Unfortunately, we can't use errno
nor -ret, cause they are not always set.
Stick to a generic error message then.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1befce9652a1b7cfca0191b3031fae3cbce26ef0
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:36:58 2013 -0400
savevm: qmp_xen_save_devices_state(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7581766b719afd63dcf922ddbf982291f596ed12
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:36:01 2013 -0400
dump: qmp_dump_guest_memory(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 618da851ec8059460be8e0670bc835d3c2003708
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:35:06 2013 -0400
cpus: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0eef407c7b4130d13138c1f75d9975165433f654
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:33:48 2013 -0400
blockdev: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dacc26aae5d291317a3277970a4f39a562939a78
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:31:46 2013 -0400
block: mirror_complete(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bc5741add11113ee8febdcf33931ec3afe10c729
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:28:02 2013 -0400
rng-random: use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 54028d7542cffe97c4685994baac66988c4b7db9
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Jun 7 14:24:49 2013 -0400
error: add error_setg_file_open() helper
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 38aea177d93556aada7c4c7aa530f0050715e293
Merge: b7a3b1c... 187f1bc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 08:57:56 2013 -0500
Merge remote-tracking branch 'pmaydell/configury.next' into staging
# By Paolo Bonzini (4) and others
# Via Peter Maydell
* pmaydell/configury.next:
ppc: Remove CONFIG_FDT conditionals
microblaze: Remove CONFIG_FDT conditionals
arm: Remove CONFIG_FDT conditionals
configure: Require libfdt for arm, ppc, microblaze softmmu targets
configure: dtc: Probe for libfdt_env.h
build: drop TARGET_TYPE
main: use TARGET_ARCH only for the target-specific #define
build: do not use TARGET_ARCH
build: rename TARGET_ARCH2 to TARGET_NAME
Add a stp file for usage from build directory
Message-id: 1371221594-11556-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7a3b1cde2127f70d9fc24b7c99fbbc3899afab5
Merge: 030b4b7... b165b0d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 17 08:57:07 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Michael Tokarev (1) and Vladimir Senkov (1)
# Via Michael Tokarev
* mjt/trivial-patches:
char/serial: fix copy&paste error (fifo8_is_full vs empty)
vl: always define no_frame
Message-id: 1371455050-9523-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 35bdc13b52197d7e9dcadd5af9621b6463290300
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon Jun 10 15:29:31 2013 +0100
xen: Implement hot_add_cpu hook.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jun 14 14:43:05 2013 +0100
xen: Fix vcpus initialisation.
Each vcpu needs a call to xc_evtchn_bind_interdomain in QEMU, even those
that are unplug at QEMU initialisation.
Without this patch, any hot-plugged CPU will be "Stuck ??" when Linux
will try to use them.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 647e2f8c9c34947130c50e593a51fa50e9904145
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:25 2013 +0200
QMP: Add cpu-add command
Adds "cpu-add id=xxx" QMP command.
cpu-add's "id" argument is a CPU number in a range [0..max-cpus)
Example QMP command:
-> { "execute": "cpu-add", "arguments": { "id": 2 } }
<- { "return": {} }
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit 69ca3ea5e192251f27510554611bcff6f036a00b)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 4b8e1c9837aef6297a2899fb2115c0b179250732
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:24 2013 +0200
Add hot_add_cpu hook to QEMUMachine
Hook should be set by machines that implement CPU hot-add
via cpu-add QMP command.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 385226be3a600c871a2cf306fca0e2788791293b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:25 2013 +0200
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
* introduce processor status bitmask visible to guest at 0xaf00 addr,
where ACPI asl code expects it
* set bit corresponding to APIC ID in processor status bitmask on
receiving CPU hot-plug notification
* trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit b8622725cf0196f672f272922b0941dc8ba1c408)
The function piix4_cpu_hotplug_req() has been modified to take an integer
instead of a CPU object.
There was a cpu_added_notifier in the original commit, this haven't
been back-ported, as it can't be used.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit b165b0d8e62bb65a02d7670d75ebb77a9280bde1
Author: Vladimir Senkov <hangup@xxxxxxxxx>
Date: Sun Jun 16 20:30:52 2013 -0400
char/serial: fix copy&paste error (fifo8_is_full vs empty)
Copy&paste error in serial.c causes a crash when attempting
to read from UART (if there is no data to be read)
Signed-off-by: Vladimir Senkov <hangup@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 616404cd42db5f683d49772dcc2c53c8f6466024
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:36:22 2013 +0400
vl: always define no_frame
Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options"
broke
build of qemu without sdl, by referencing `no_frame' variable which is
defined
inside #if SDL block. Fix that by defining that variable unconditionally.
This is a better fix for the build issue introduced by that patch than
a revert. This change keeps the new functinality introduced by that patch
and just fixes the compilation. It still is not a complete fix around the
original issue (not working -no-frame et al with -display gtk), because it
makes only the legacy interface working, not the new suboption interface,
so a few more changes are needed.
Cc: Peter Wu <lekensteyn@xxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx>
commit 030b4b7debf659dcd6fc66826564285fdce5057d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 16 16:13:07 2013 +0200
gtk: Fix compiler warning (GTK 3 deprecated function)
With GTK 3, the function gdk_cursor_unref is deprecated:
qemu/ui/gtk.c: In function â??gd_cursor_defineâ??:
qemu/ui/gtk.c:380:5: error:
â??gdk_cursor_unrefâ?? is deprecated (declared at
/usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead
[-Werror=deprecated-declarations]
Fix the gcc compiler warning by using conditional compilation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1371391987-10795-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a1077090cea97df26a754d16d7c9e1d410d81eaa
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jun 15 14:42:03 2013 +0400
vl: always define no_frame
Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options"
broke
build of qemu without sdl, by referencing `no_frame' variable which is
defined
inside #if SDL block. Fix that by defining that variable unconditionally.
This is a better fix for the build issue introduced by that patch than
a revert. This change keeps the new functinality introduced by that patch
and just fixes the compilation. It still is not a complete fix around the
original issue (not working -no-frame et al with -display gtk), because it
makes only the legacy interface working, not the new suboption interface,
so a few more changes are needed.
Cc: Peter Wu <lekensteyn@xxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1371292923-28105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90a2541b763b31d2b551b07e24aae3de5266d31b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:10 2013 +0800
target-i386: fix over 80 chars warnings
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0bc60a8ae076402fbdbd2d6334bbe6ea88b428ff
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:09 2013 +0800
target-i386/helper: remove redundant env->eip assignment
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 80cf2c81a1be732cf1ce4a810ddc7721714d684e
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:08 2013 +0800
target-i386/helper: remove DF macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a78d0eabd4ca05789a9604fe632b9399bf378fee
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:07 2013 +0800
target-i386/helper: remove EIP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cf75c5977c01060d344eb804abf81e938d33105b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:06 2013 +0800
target-i386/helper: remove EDI macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 78c3c6d34a94885c8d7e83ab282062ab642af75b
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:05 2013 +0800
target-i386/helper: remove ESI macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 08b3ded6bdc06ac6b9d1f700a1ee108f4ba4030f
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:04 2013 +0800
target-i386/helper: remove ESP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c12dddd7918e3479d0b5b0a1b25588d557347171
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:03 2013 +0800
target-i386/helper: remove EBP macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 00f5e6f21ea55046173a8a106b7654036888e9b3
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:02 2013 +0800
target-i386/helper: remove EDX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a416561005da6e4f9903541486f53c2cbc3a428d
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:01 2013 +0800
target-i386/helper: remove ECX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 70b513654c5a4722e727d69ec6999e6e7818670f
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:21:00 2013 +0800
target-i386/helper: remove EBX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4b34e3ad83588602834c05c0d59a0d2973e9f48c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue May 28 16:20:59 2013 +0800
target-i386/helper: remove EAX macro
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 371a775dc18ece3ff7d77328d1ee28cb2d473706
Merge: 22bfa16... fef7fbc...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jun 15 10:53:44 2013 +0000
Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu
* 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu:
qdev: Drop FROM_QBUS() macro
isa: QOM'ify ISADevice
isa: QOM'ify ISABus
i8259: Convert PICCommonState to use QOM realizefn
kvm/i8259: QOM'ify some more
i8259: QOM'ify some more
i8254: Convert PITCommonState to QOM realizefn
kvm/i8254: QOM'ify some more
i8254: QOM'ify some more
isa: Use realizefn for ISADevice
cs4231a: QOM'ify some more
gus: QOM'ify some more
commit 22bfa16ed3d4c9d534dcfe6f2381a654f32296b9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 10 13:23:20 2013 -0500
ide-test: fix failure for test_flush
bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 added a test to ensure BSY
flag is set when a flush request is in flight. It does this by setting
a blkdebug breakpoint on flush_to_os before issuing a CMD_FLUSH_CACHE.
It then resumes CMD_FLUSH_CACHE operation and checks that BSY is unset.
The actual unsetting of BSY does not occur until ide_flush_cb gets
called in a bh, however, so in some cases this check will race with
the actual completion.
Fix this by polling the ide status register until BSY flag gets unset
before we do our final sanity checks. According to
f68ec8379e88502b4841a110c070e9b118d3151c this is in line with how a guest
would determine whether or not the device is still busy.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0170b3ce88cb87346afa369a89ce9b197389058b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 24 22:58:04 2013 +0200
cpu: Add qemu_for_each_cpu()
Wrapper to avoid open-coded loops and to make CPUState iteration
independent of CPUArchState.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit d6b9e0d60cc511eca210834428bb74508cff3d33)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:41 2013 +0200
cpu: Introduce get_arch_id() method and override it for X86CPU
get_arch_id() adds possibility for generic code to get a guest-visible
CPU ID without accessing CPUArchState.
If derived classes don't override it, it will return cpu_index.
Override it on target-i386 in X86CPU to return the APIC ID.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
(cherry picked from QEMU commit 997395d3888fcde6ce41535a8208d7aa919d824b)
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit 187f1bcb9ce8e3cd3f634dd5405f9e5ed02b38ce
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:57 2013 +0100
ppc: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 564720219a0863625e9989fd258ccc57a616550f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:56 2013 +0100
microblaze: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 298c3833dba62512659ab550c3daa1e6d8faec94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:55 2013 +0100
arm: Remove CONFIG_FDT conditionals
Now that we know we're compiling with libfdt, we can remove the
CONFIG_FDT conditionals.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-3-git-send-email-peter.maydell@xxxxxxxxxx
commit e169e1e1ae1e75c522f932554890fb0f2f3e9999
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 24 16:26:54 2013 +0100
configure: Require libfdt for arm, ppc, microblaze softmmu targets
A number of our softmmu targets (PPC, ARM, Microblaze) now more or
less require flattened device tree support for various board models
to work correctly. Make libfdt mandatory if the target list includes
these, rather than building unhelpful half-functional binaries.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1369409217-7553-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 96ce65457690561417ae8e6f0e85f3c6f135018b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon May 27 14:20:57 2013 +1000
configure: dtc: Probe for libfdt_env.h
Currently QEMU provides a local clone of the file libfdt_env.h in
/include. This file is supposed to come with the libfdt package and is
only needed for broken installs of libfdt. Now that we have submodule
dtc, just ignore these broken installs and prompt for the dtc submodule
install instead. QEMU's local libfdt_env.h is removed accordingly.
Manifests as a bug when building QEMU with modern libfdt. The new
version of libfdt does not compile when QEMUs libfdt_env.h takes
precedence over the hosts.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c02a9552a4c89f2fdf23defe1d2c13b834ae3a4a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:28 2013 +0200
build: drop TARGET_TYPE
Just use the TARGET_NAME free string.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1370349928-20419-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2e59915d4375b632964c0594799fd5876958eda6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:27 2013 +0200
main: use TARGET_ARCH only for the target-specific #define
Everything else needs to match the executable name, which is
TARGET_NAME.
Before:
$ sh4eb-linux-user/qemu-sh4eb --help
usage: qemu-sh4 [options] program [arguments...]
Linux CPU emulator (compiled for sh4 emulation)
After:
$ sh4eb-linux-user/qemu-sh4eb --help
usage: qemu-sh4eb [options] program [arguments...]
Linux CPU emulator (compiled for sh4eb emulation)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b9a7b74f77619d3e7fb3834fbdcd3bde036ac399
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jun 4 14:45:26 2013 +0200
build: do not use TARGET_ARCH
TARGET_ARCH is generally wrong to use, there are better variables
provided in config-target.mak. The right one is usually TARGET_NAME
(previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR
for consistency with linux-user.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c1799a846285764de588533e21e61167a33f5a8f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 14 15:19:07 2013 +0100
build: rename TARGET_ARCH2 to TARGET_NAME
Do not introduce any new use yet.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c14518e94251c5c0857915a5cef102f23abf1e8b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Fri Jun 14 15:19:07 2013 +0100
Add a stp file for usage from build directory
For systemtap the location of the process being tapped is crucial, as a
result the existing stp file requires installation for use.
There are now two files:
$(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to
$(tapdir)/$(QEMU_PROG).stp
$(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable
without installation
To use:
stap -I $(TARGET_DIR) ...
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370349928-20419-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 52bb7c6a0663b9a0ac1727f7b55811d69aaf3789
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 15:34:52 2013 +1000
audio/intel-hda: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST and
direct -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id:
96f00396338321f5a76c9b86c629b69895e4d2d0.1370496582.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 062db74023043c8fe50869f19c3b9c6bb3e4699c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 15:34:08 2013 +1000
audio/intel-hda: Fix Inheritance hierachy
The ich6 and ich9 variants either need to inherit one from the other,
or both from a common base class, otherwise its not possible to create
a QOM cast macro for use by the shared implementation functions.
Went for option B, with a common base class.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id:
54453b6aa8afa1a76b2ec1932f1d7fd25205d0bc.1370496582.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e5c4540d18d1e9a5253104df161a7e0d408ca95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:36 2013 +0200
smbios: Check R in -smbios type=0, release=R parses okay
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 527cd96f15348f4454d5bb71f69aaeb95461c90e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:35 2013 +0200
smbios: Fix -smbios type=0, release=... for big endian hosts
Classic endianness bug due to careless dirty coding: assuming reading
a byte from an int variable gets the least significant byte.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ebc85e3f724d17530e74df665d1a30fb9b0041b5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:34 2013 +0200
smbios: Clean up smbios_add_field() parameters
Having size precede the associated pointer is odd. Swap them, and fix
up the types.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5bb95e41868b461f37159efb48908828ebd7ab36
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:33 2013 +0200
smbios: Convert to error_report()
Improves diagnistics from ad hoc messages like
Invalid SMBIOS UUID string
to
qemu-system-x86_64: -smbios type=1,uuid=gaga: Invalid UUID
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3eededb2fbc73c73daf08f791f0407b8541f4f4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:32 2013 +0200
log.h: Supply missing includes
<stdio.h> has always been missing. Rest missed in commit eeacee4.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b293796fd71009ecffe4343713a4e4e568c33fb0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jun 7 15:00:31 2013 +0200
error-report.h: Supply missing include
Missed in commit e5924d8.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx>
Message-id: 1370610036-10577-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 301255e6303457e10b9a42dc208f80c058004c1c
Merge: 5f13731... ba275ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:45 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches-next' into staging
# By Michael Tokarev (4) and others
# Via Michael Tokarev
* mjt/trivial-patches-next: (26 commits)
piix: fix some printf errors when debug is enabled
cputlb: fix debug logs
create qemu_openpty_raw() helper function and move it to a separate file
main-loop: do not include slirp/slirp.h, use libslirp.h instead
libcacard/vscclient: fix leakage of socket on error paths
linux-headers: Update to v3.10-rc5
KVM: PPC: Add dummy kvm_arch_init_irq_routing()
KVM: S390: Add dummy kvm_arch_init_irq_routing()
KVM: ARM: Add dummy kvm_arch_init_irq_routing()
ivshmem: add missing error exit(2)
hw/xen: Use g_free instead of free and fix potential memory leaks
target-sparc: Replace free by g_free
hw/scsi: Don't increment a boolean value
device tree: Fix cppcheck warning
Makefile: Install qemu-img and qemu-nbd man pages only if built
Unbreak -no-quit for GTK, validate SDL options
gtk: implement -full-screen
char/serial: serial_ioport_write: Factor out common code
char/serial: Use generic Fifo8
char/serial: cosmetic fixes.
...
Message-id: 1371207042-17980-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f13731f8cb6aadecf214513ec810d61dc1f71dc
Merge: 86a6a07... c67e216...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:30 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber (12) and others
# Via Andreas Färber
* afaerber/qom-cpu:
spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu()
spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu()
memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting
dump: Abstract dump_init() with cpu_synchronize_all_states()
cpu: Change default for CPUClass::get_paging_enabled()
dump: Drop qmp_dump_guest_memory() stub and build for all targets
memory_mapping: Drop qemu_get_memory_mapping() stub
cpu: Turn cpu_get_memory_mapping() into a CPUState hook
memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h
cpu: Turn cpu_paging_enabled() into a CPUState hook
monitor: Simplify do_inject_mce() with qemu_get_cpu()
target-i386: cpu: Fix potential buffer overrun in get_register_name_32()
target-i386: Set level=4 on Conroe/Penryn/Nehalem
target-i386: Update model values on Conroe/Penryn/Nehalem CPU models
pc: Create pc-*-1.6 machine-types
pc: Fix crash when attempting to hotplug CPU with negative ID
dump: Move stubs into libqemustub.a
commit 86a6a0774509c59f1570f763a0fad57e26762d9c
Merge: db9707f... b25a464...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:51:05 2013 -0500
Merge remote-tracking branch 'pmaydell/tcg-aarch64.next' into staging
# By Claudio Fontana (9) and others
# Via Peter Maydell
* pmaydell/tcg-aarch64.next:
MAINTAINERS: add tcg/aarch64 maintainer
configure: permit compilation on arm aarch64
tcg/aarch64: implement user mode qemu ld/st
user-exec.c: aarch64 initial implementation of cpu_signal_handler
tcg/aarch64: implement sign/zero extend operations
tcg/aarch64: implement byte swap operations
tcg/aarch64: implement AND/TEST immediate pattern
tcg/aarch64: improve arith shifted regs operations
tcg/aarch64: implement new TCG target for aarch64
include/elf.h: add aarch64 ELF machine and relocs
configure: Drop CONFIG_ATFILE test
linux-user: Drop direct use of openat etc syscalls
linux-user: Allow getdents to be provided by getdents64
Message-id: 1371052645-9006-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db9707f7a17d00781a8fb13354a359bd05a46646
Merge: 6e8d2b6... 5866e07...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:50:58 2013 -0500
Merge remote-tracking branch 'pmaydell/target-arm.next' into staging
# By Peter Chubb
# Via Peter Maydell
* pmaydell/target-arm.next:
Fix rfe instruction
Message-id: 1370268884-25945-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e8d2b654656830877937ba02bb8ea1c4945a1fc
Merge: bd5c51e... 56bbc2f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 14 07:50:36 2013 -0500
Merge remote-tracking branch 'rth/tcg-for-anthony' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-for-anthony:
tcg: Remove redundant tcg_target_init checks
tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS
Message-id: 1370437167-11278-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba275adba09adfc0f7ec533f1fddba678d9ba826
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Jun 14 15:11:30 2013 +0800
piix: fix some printf errors when debug is enabled
And use PRIxxx macros if possible.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 54b949d27064a294304775e427f49d3706ed4a95
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed Jun 5 20:16:42 2013 +0800
cputlb: fix debug logs
'pd' variable has been removed in
06ef3525e1f271b6a842781a05eace5cf63b95c2.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4efeabbbe8441cc327052304976c7b9b86309d72
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 5 18:44:54 2013 +0400
create qemu_openpty_raw() helper function and move it to a separate file
In two places qemu uses openpty() which is very system-dependent,
and in both places the pty is switched to raw mode as well.
Make a wrapper function which does both steps, and move all the
system-dependent complexity into a separate file, together
with static/local implementations of openpty() and cfmakeraw()
from qemu-char.c.
It is in a separate file, not part of oslib-posix.c, because
openpty() often resides in -lutil which is not linked to
every program qemu builds.
This change removes #including of <pty.h>, <termios.h>
and other rather specific system headers out of qemu-common.h,
which isn't a place for such specific headers really.
This version has been verified to build correctly on Linux,
OpenBSD, FreeBSD and OpenIndiana. On the latter it lets qemu
to be built with gtk gui which were not possible there due to
missing openpty() and cfmakeraw().
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Tested-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 79c097d5fe7cb0b4788ed509240cde7e210650bf
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Jun 13 17:39:42 2013 +0000
Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)"
This reverts commit 4597594c61add43725bd207bb498268a058f9cfb.
Changing the start of the PCI hole requires a corresponding change in
hvmloader and libxc. Revert the commit for the moment.
commit c67e216bdf42abfb8505790b2da9562356103976
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:06:39 2013 +0200
spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu()
Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState.
Free the "cpu" variable for PowerPCCPU, to access its CPUPPCState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 05318a858c1212d845d03f924e6ab5f22ab51ab6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:03:31 2013 +0200
spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu()
Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState directly. Saves a CPUPPCState variable and QOM cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b25a464c6bddbe5d25b7552ba1fec1835269ac84
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:24 2013 +0100
MAINTAINERS: add tcg/aarch64 maintainer
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 51ACA0B2.80800@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f0803137df68c1fc02ebd0c5ec2e7aad54bbf3b
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
configure: permit compilation on arm aarch64
support compiling on aarch64.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51A5C5ED.90103@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6a91c7c978d77461cc2ed056a2869b90bebded3e
Author: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement user mode qemu ld/st
also put aarch64 in the list of archs that do not need an ldscript.
Signed-off-by: Jani Kokkoken <jani.kokkonen@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51AF40EE.1000104@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f129061c6abfaee2133fcb55c384ec5f99028f62
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
user-exec.c: aarch64 initial implementation of cpu_signal_handler
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51AF4028.5030504@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31f1275b90f4803ee5a2900020f21d3320ce62b7
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement sign/zero extend operations
implement the optional sign/zero extend operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A58.40502@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c4a059df3501ba53c00724287ef50bba80b5f80
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:23 2013 +0100
tcg/aarch64: implement byte swap operations
implement the optional byte swap operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A33.9050003@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7deea126b24508e8ffa7aa4aecfa6fa97eddc384
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: implement AND/TEST immediate pattern
add functions to AND/TEST registers with immediate patterns.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC9A0C.3090303@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 36fac14a6416fe1f8f6f23bfac5f9e662be78d2b
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: improve arith shifted regs operations
for arith operations, add SUBS, ANDS, ADDS and add a shift parameter
so that all arith instructions can make use of shifted registers.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51AC998B.7070506@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a136e0a6b4ceac177bc2ab29502161553e25ae2
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
tcg/aarch64: implement new TCG target for aarch64
add preliminary support for TCG target aarch64.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 51A5C596.3090108@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1d256776c77c211a6f60a36e700f549f3a544cc6
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
include/elf.h: add aarch64 ELF machine and relocs
we will use the 26bit relative relocs in the aarch64 tcg target.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 51A5C52A.4080001@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 66926895433a56b657f79d14f371831cf79fd43e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:22 2013 +0100
configure: Drop CONFIG_ATFILE test
Nobody uses the CONFIG_ATFILE test now, so just drop it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370126121-22975-3-git-send-email-peter.maydell@xxxxxxxxxx
commit c0d472b12e8c5ba81c69b28a1088ff52a59933f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:21 2013 +0100
linux-user: Drop direct use of openat etc syscalls
The linux-user syscall emulation layer currently supports the
openat family of syscalls via two mechanisms: simply calling
the corresponding libc functions, and making direct syscalls.
Since glibc has supported these functions since at least glibc
2.5, there's no real need to retain the (essentially untested)
direct syscall fallback code, so simply delete it. This allows
us to remove some ifdeffery that was attempting to disable
provision of some of the syscalls if the host didn't seem to
support them, which in some cases was actually wrong (eg where
there are several flavours of the syscall and we only need
one of them, not necessarily the exact one the guest has,
as with the fstatat* calls).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370126121-22975-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 3307e2363a812e4f68d02ec3b0114a9b510702b7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jun 12 16:20:21 2013 +0100
linux-user: Allow getdents to be provided by getdents64
Newer architectures may only implement the getdents64 syscall, not
getdents. Provide an implementation of getdents in terms of getdents64
so that we can run getdents-using targets on a getdents64-only host.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Message-id: 1370344377-27445-1-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1370193044-24535-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 520b6dd4d03742e285cc68cca308a2a74261c410
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 12 16:31:44 2013 +0400
main-loop: do not include slirp/slirp.h, use libslirp.h instead
The header slirp/slirp.h is an internal header for slirp, and
main-loop.c does not use internals from there. Instead, it uses
public functions (slirp_update_timeout(), slirp_pollfds_fill()
etc) which are declared in slirp/libslirp.h.
Including slirp/slirp.h is somewhat dangerous since it redefines
errno on WIN32, so any file including it may misbehave wrt errno.
Unfortunately libslirp isn't self-contained, it needs declaration
of struct in_addr, which is provided by qemu/sockets.h. Maybe
instead of #including qemu/sockets.h before libslirp.h, it is
better to make the latter self-contained.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 581fe784c3adf85dc167a47a4a60fd1245a98217
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Jun 4 16:23:37 2013 -0400
libcacard/vscclient: fix leakage of socket on error paths
Spotted by Coverity.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e098b45386a86fecc1e573d305a240a2f4aa461d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:55 2013 +1000
linux-headers: Update to v3.10-rc5
This adds symbols required for PPC64 pseries platform features:
1. sPAPR live migration;
2. in-kernel XICS interrupt controller.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 821696600402e432f6f11ec355efd23f9bc6ce4f
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Jun 12 17:26:54 2013 +1000
KVM: PPC: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Unlike x86, PPC does not have one default irqchip, so there's no common
code that we'd stick here. Even if you ignore the routes themselves,
which even on x86 are not set up in this function, the initial XICS
kernel implementation will not support IRQ routing, so it's best to
leave even the general feature flags up to the specific irqchip code.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 48475e14841f3c3a245bc4c13f9115520c89f2d7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:53 2013 +1000
KVM: S390: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b3a1c626fc55e1dd87166a7b837e16ff6a1b0071
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Jun 12 17:26:52 2013 +1000
KVM: ARM: Add dummy kvm_arch_init_irq_routing()
The common KVM code insists on calling kvm_arch_init_irq_routing()
as soon as it sees kernel header support for it (regardless of whether
QEMU supports it). Provide a dummy function to satisfy this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit baefb8bf8e4a708c601bbab898a6039cd9cd12e3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jun 3 10:58:31 2013 +0200
ivshmem: add missing error exit(2)
If the user fails to specify 'chardev' or 'shm' then we cannot continue.
Exit right away so that we don't invoke shm_open(3) with a NULL pointer.
It would be nice to replace exit(1) with error returns in the PCI device
.init() function, but leave that for another patch since exit(1) is
currently used elsewhere.
Spotted by Coverity.
Cc: Cam Macdonell <cam@xxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c5633d998a27502ad8cc10c2d46f91b02555ae7a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:36:22 2013 +0200
hw/xen: Use g_free instead of free and fix potential memory leaks
The wrong functions and the missing calls of g_free were reported
by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1e2a1d41f29adc8ae3013612c5a0114a87773773
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:40:52 2013 +0200
target-sparc: Replace free by g_free
The wrong function was reported by cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dcb0780990f7d579b2d6f9c67ef841a75b3a758b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:24:56 2013 +0200
hw/scsi: Don't increment a boolean value
This fixes a warning from cppcheck.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 909a196d2754388d3b15a34b688095c655792124
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jun 10 22:12:25 2013 +0200
device tree: Fix cppcheck warning
Fix this cppcheck warning:
Checking device_tree.c...
device_tree.c:216: style:
Checking if unsigned variable 'r' is less than zero.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8a3e8f7fd8144343f6c83e810b988c1e8a99d50a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jun 11 13:13:58 2013 +0200
Makefile: Install qemu-img and qemu-nbd man pages only if built
When splitting openSUSE's qemu and qemu-linux-user packages we noticed
that for linux-user-only builds unrelated man pages got installed.
It's surely possible to delete them before packaging, but not installing
them in the first place seems more logical.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 047d4e151dd462915786a4fddc12f774d0028af5
Author: Peter Wu <lekensteyn@xxxxxxxxx>
Date: Tue Jun 11 10:55:08 2013 +0200
Unbreak -no-quit for GTK, validate SDL options
Certain options (-no-frame, -alt-grab, -ctrl-grab) only make sense with
SDL.
When compiling without SDL, these options (and -no-quit) print an error
message
and exit qemu.
In case QEMU is compiled with SDL support, the three aforementioned
options
still do not make sense with other display types. This patch addresses
that
issue by printing a warning. I have chosen not to exit QEMU afterwards
because
having the option is not harmful and before this patch it would be ignored
anyway.
By delaying the sanity check from compile-time with some ifdefs to
run-time,
-no-quit is now also properly supported when compiling without SDL.
Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 787ba4f026f54d4fc7787078b896f9c5432c9a9b
Author: Peter Wu <lekensteyn@xxxxxxxxx>
Date: Mon Jun 10 20:04:43 2013 +0200
gtk: implement -full-screen
Aiming for GTK as replacement for SDL, a feature like -full-screen should
also
be implemented.
Bringing the window into full-screen mode is done by activating the
"Fullscreen"
menu item. This is done after showing the windows to make the cursor and
menu
hidden.
v2: drop -no-frame implementation, use booleans instead of ints and ensure
consistency between ui state and menu.
Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b5601df7624b461759651c49ac72a189951780b9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:14:48 2013 +1000
char/serial: serial_ioport_write: Factor out common code
These three lines are common to both FIFO and regular mode. Just factor
them out to outside the if rather than replicate the same lines inside
both if and else.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8e8638fa87ff045f5dadec7342301bf10de776ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:13:27 2013 +1000
char/serial: Use generic Fifo8
Use the generic Fifo8 helper provided by QEMU, rather than re-implement
privately.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7f4f0a227fe0b24c35d0898f9ae7d5909fb51137
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 15:12:09 2013 +1000
char/serial: cosmetic fixes.
Some cosmetic fixes to char/serial fixing some checkpatch errors.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9e5e2b23d301b1562677c6c115165eed6ce20a68
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Jun 10 14:14:35 2013 +0100
curl: Whitespace only changes.
Trivial patch to remove odd whitespace.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5c9f43363a84fa13861ebc949ea2453cf7ab4ae3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Jun 6 16:38:03 2013 +0000
intc/xilinx_intc: Use qemu_set_irq
Use qemu_set_irq rather than if-elsing qemu_irq_(lower|raise). No
functional change, just reduces verbosity.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 45f0b0434d51d4c7e4db05fe721fc61b9b6ef17d
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Jun 6 09:18:44 2013 -0400
configure: Disable host-bsd USB on FreeBSD
It hasn't built since FreeBSD 8.x, and is disabled by a patch in the
FreeBSD ports tree. FreeBSD is migrating to QEMU's libusb support.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 224ead2690cb89bf8edcca493e3b49857eac0d12
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Jun 6 08:53:35 2013 -0400
configure: remove ${config_host_ld} variable
It was only used in one place (and already expanded in one other).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f3a22014e94dfaacb57277dafce66b41cd994869
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jun 6 01:14:54 2013 +0400
gitignore: unignore *.patch
This partially reverts:
commit 082369e62c5bbaba89f173c2b803bc24115bb111
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:13 2013 +0800
gitignore: ignore more files
I'm not sure how this went in. The thing is that
ignoring *.patch, in my opinion, is just wrong.
Especially for downstreams who apply patches for
real.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c58e6201fa38191313cd95c5342d3733bd3f612d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Jun 5 19:08:59 2013 +0400
qemu-char: remove a few needless #includes
This removes <syslog.h> since we don't use
syslogging, and removes second, solaris-specific,
include of <net/if.h> (which is included in
a common part of the file)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 11ed09cf0753c1288a97f00138fc4534135442bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 29 21:54:03 2013 +0200
memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting
Pass any Error out into dump_init() and have it actually stop on errors.
Whether it is unsupported on a certain CPU can be checked by looking for
a NULL CPUClass::get_memory_mapping field.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
[AF: Reverted changes to CPU loops]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b3509ca5bbd8e7d2be92ac42196a3ee2e31cb03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 16:48:29 2013 +0200
dump: Abstract dump_init() with cpu_synchronize_all_states()
Instead of calling cpu_synchronize_state() for each CPU, call the
existing cpu_synchronize_all_states() helper.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6db297ea361f4e03c096a0f28f26b060f0060de5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jun 9 16:03:46 2013 +0200
cpu: Change default for CPUClass::get_paging_enabled()
qemu_get_guest_memory_mapping() uses cpu_paging_enabled() to determine
whether to use cpu_get_memory_mapping() to return mappings or whether to
fall back to a simple identity map.
Since by default CPUClass::get_memory_mapping() is not implemented,
change the default to false to use the identity map by default.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2a78636bd204e389068d203473ec76558083b44b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 11:54:40 2013 +0200
dump: Drop qmp_dump_guest_memory() stub and build for all targets
qmp_dump_guest_memory() calls dump_init() and returns an Error when
cpu_get_dump_info() returns an error, as done by the stub.
So there is no need to have a stub for qmp_dump_guest_memory().
Enable the documentation of the always-present dump-guest-memory command.
That way we can drop CONFIG_HAVE_CORE_DUMP and leave configure
completely out of the picture for target CPU features.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c22d8e0448aecb48a91f3936419ad1b63fbb4a6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:53:32 2013 +0200
memory_mapping: Drop qemu_get_memory_mapping() stub
dump.c:dump_init() never checked for the return code anyway.
If paging is not enabled, it will fall back to an identity map.
If paging is enabled and getting memory mapping list is not
implemented, qemu_get_guest_memory_mapping() will return an error.
Since the targets not implementing memory mapping also don't implement
dump support, we will not reach this code today and can worry about
changing cpu_paging_enabled() default when the need arises.
This allows us to drop CONFIG_HAVE_GET_MEMORY_SUPPORT.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a23bbfda75118eb738acce84afd64965934828f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 13:52:01 2013 +0200
cpu: Turn cpu_get_memory_mapping() into a CPUState hook
Change error reporting from return value to Error argument.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
[AF: Fixed cpu_get_memory_mapping() documentation]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d4d3ae77dbb756d454c2deb2ef844b0cc7bde7b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 14:20:15 2013 +0200
memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h
This will avoid issues with hwaddr and ram_addr_t when including
sysemu/memory_mapping.h for CONFIG_USER_ONLY, e.g., from qom/cpu.h.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 444d55907871f88276a654fc7fdc8c7db95f4b59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue May 28 13:28:38 2013 +0200
cpu: Turn cpu_paging_enabled() into a CPUState hook
Relocate assignment of x86 get_arch_id to have all hooks in one place.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c51a944b7505ba827adc897d5452d2b54dbf86bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 16:57:52 2013 +0200
monitor: Simplify do_inject_mce() with qemu_get_cpu()
Avoids an open-coded CPU loop.
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 31ccdde298d98b08526dc23059071c9086dec6c2
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jun 3 18:23:27 2013 +0200
target-i386: cpu: Fix potential buffer overrun in get_register_name_32()
Spotted by Coverity,
x86_reg_info_32[] is CPU_NB_REGS32 elements long, so accessing
x86_reg_info_32[CPU_NB_REGS32] will be one element off array.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6b11322e0f724eb0649fdc324a44288b783023ad
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:55 2013 -0300
target-i386: Set level=4 on Conroe/Penryn/Nehalem
The CPUID level value on Conroe, Penryn, and Nehalem are too low. This
causes at least one known problem: the -smp "threads" option doesn't
work as expect if level is < 4, because thread count information is
provided to the guest on CPUID[EAX=4,ECX=2].EAX
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ffce9ebbb69363dfe7605585cdad58ea3847edf4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:54 2013 -0300
target-i386: Update model values on Conroe/Penryn/Nehalem CPU models
The CPUID model values on Conroe, Penryn, and Nehalem are too
conservative and don't reflect the values found on real Conroe, Penryn,
and Nehalem CPUs.
This causes at least one known problems: Windows XP disables sysenter
when (family == 6 && model <= 2), but Skype tries to use the sysenter
instruction anyway because it is reported as available on CPUID, making
it crash.
This patch sets appropriate model values that correspond to real Conroe,
Penryn, and Nehalem CPUs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 45053fdef54fa9aac1cc9b09f2a1d08af90b7b43
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 27 17:23:53 2013 -0300
pc: Create pc-*-1.6 machine-types
Some CPU model fixes are going to be included and they will require
compatibility properties in the pc-*-1.5 machine-types.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8de433cb0820dc1f387a2d580d255744aacd60cc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu May 30 17:09:34 2013 +0200
pc: Fix crash when attempting to hotplug CPU with negative ID
QMP command "{ 'execute': 'cpu-add', 'arguments': { 'id': -1 }}" may cause
QEMU SIGSEGV at:
piix4_cpu_hotplug_req ()
...
g->sts[cpu_id / 8] |= (1 << (cpu_id % 8));
...
Since for PC in current implementation id should be in range [0...maxcpus)
and maxcpus is already checked, add check for lower bound and error out
on incorrect value.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 88f62c2b1deb466749e340a8a241975c509bd9b6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri May 17 10:41:20 2013 +0200
dump: Move stubs into libqemustub.a
This allows us to drop CONFIG_NO_CORE_DUMP with its indirect dependency
on CONFIG_HAVE_CORE_DUMP.
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jun 7 15:19:53 2013 -0500
qemu-char: don't issue CHR_EVENT_OPEN in a BH
When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET,
and it was issued as a bottom-half:
86e94dea5b740dad65446c857f6959eae43e0ba6
Which we basically used to print out a greeting/prompt for the
monitor.
AFAICT the only reason this was ever done in a BH was because in
some cases we'd modify the chr_write handler for a new chardev
backend *after* the site where we issued the reset (see:
86e94d:qemu_chr_open_stdio())
At some point this event was renamed to CHR_EVENT_OPENED, and we've
maintained the use of this BH ever since.
However, due to 9f939df955a4152aad69a19a77e0898631bb2c18, we schedule
the BH via g_idle_add(), which is causing events to sometimes be
delivered after we've already begun processing data from backends,
leading to:
known bugs:
QMP:
session negotation resets with OPENED event, in some cases this
is causing new sessions to get sporadically reset
potential bugs:
hw/usb/redirect.c:
can_read handler checks for dev->parser != NULL, which may be
true if CLOSED BH has not been executed yet. In the past, OPENED
quiesced outstanding CLOSED events prior to us reading client
data. If it's delayed, our check may allow reads to occur even
though we haven't processed the OPENED event yet, and when we
do finally get the OPENED event, our state may get reset.
qtest.c:
can begin session before OPENED event is processed, leading to
a spurious reset of the system and irq_levels
gdbstub.c:
may start a gdb session prior to the machine being paused
To fix these, let's just drop the BH.
Since the initial reasoning for using it still applies to an extent,
work around that by deferring the delivery of CHR_EVENT_OPENED until
after the chardevs have been fully initialized, toward the end of
qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This
defers delivery long enough that we can be assured a CharDriverState
is fully initialized before CHR_EVENT_OPENED is sent.
Also, rather than requiring each chardev to do an explicit open, do it
automatically, and allow the small few who don't desire such behavior to
suppress the OPENED-on-init behavior by setting a 'explicit_be_open'
flag.
We additionally add missing OPENED events for stdio backends on w32,
which were previously not being issued, causing us to not recieve the
banner and initial prompts for qmp/hmp.
Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1370636393-21044-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b62cd318daaa3d94c150d87dc2c8466b9463cef5
Merge: 97f31cb... 9914fbe...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 10 11:37:47 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (2) and Marcelo Tosatti (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
correct RTC_CHANGE_EVENT description (v2)
MAINTAINERS: split Monitor (QMP/HMP) entry
MAINTAINERS: new maintainers for qapi-schema.json
Message-id: 1370634855-18337-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 97f31cbc71fc13b3091893313a555c3cf1ecb798
Merge: f7da9c1... c87826a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 10 11:37:39 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Jason Wang (1) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/net:
tap: fix NULL dereference when passing invalid parameters to tap
vmxnet3: fix NICState cleanup
Message-id: 1370613288-14933-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7da9c17c114417911ac2008d0401084a5030391
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 13:24:17 2013 -0500
gtk: use better icon
The current icon looks pretty terrible rendered in Gnome. This
switches to a transparent SVG which looks much nicer.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4039736e6f7867a4f937145afec7ab56531c0be4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Jun 2 16:17:49 2013 +0100
softfloat: Fix shift128Right for shift counts 64..127
shift128Right would give the wrong result for a shift count
between 64 and 127. This was never noticed because all of
our uses of this function are guaranteed not to use shift
counts in this range.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1370186269-24353-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc7d0e66741724216cc104034838eb34f0e94b8d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 17:06:55 2013 +0200
gdbstub: let the debugger resume from guest panicked state
While in general we forbid a "continue" from the guest panicked
state, it makes sense to have an exception for that when continuing
in the debugger. Perhaps the guest entered that state due to a bug,
for example, and we want to continue no matter what.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Message-id: 1370272015-9659-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26ac7a31fbf5522d2ca3f0e2e5b5c8e915701f66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jun 3 17:06:54 2013 +0200
gdbstub: fix for commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc
This commit used the wrong check to prevent an assertion failure.
After this commit, you need to start a guest in the monitor, you
cannot use anymore the "c" command in the debugger. This is
undesirable. The commit's aim was to prevent a restart
after a KVM internal error or something like that; use
runstate_needs_reset() for that.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Message-id: 1370272015-9659-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4f293bd6e53739e089f33b458f70a9c4ac136b92
Author: Wendy Liang <jliang@xxxxxxxxxx>
Date: Fri Jun 7 13:05:38 2013 +1000
xilinx_axidma: Do not set DMA .notify to NULL after notify
If a stream notify function is not ready, it may re-populate the notify
call-
back to indicate it should be re-polled later. This break in this usage,
as
immediately following the notify() call, .notify is set to NULL. reverse
the
ordering of the notify call and NULL assignment accordingly.
[PC: Reworked commit message]
Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 4e298e46ddcbb3a2a653a582b54557b75180c625
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jun 9 22:56:20 2013 +0200
xilinx_axienet: Fix bit mask code
Obviously the code wanted to mask the lower bits but failed to do so
because of a missing "<".
cppcheck detected a conditional expression which was always true (1 < 7).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9914fbedf21f1ffd45af67c8f3fe8a2e8f7e7785
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Fri Jun 7 16:52:43 2013 -0300
correct RTC_CHANGE_EVENT description (v2)
Fix RTC_CHANGE event description to match implementation.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8899b4ae2d792967b7655d3081fb2994426e4658
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 3 11:14:26 2013 -0400
MAINTAINERS: split Monitor (QMP/HMP) entry
This entry doesn't reflect reality for a few years now. This commit
splits it into Human Monitor (HMP), QAPI and QMP. Markus is dropped
as a maintainer.
This is what we have been for the last few years. Also, it's going
to help me to offload some of this work to someone else in the near
future.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 7810d29198790a805936e7a2f44c055184a56b0a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Jun 3 11:11:53 2013 -0400
MAINTAINERS: new maintainers for qapi-schema.json
I'm facing two problems lately wrt QMP patch review: increasingly
lack of bandwidth and lack of background in so many different areas
that are getting new QMP commands almost every week.
In order to help me mitigate this problem, I'm adding Eric and Markus
(besides me) as maintainers of the qapi-schema.json file.
Markus has been an old timer reviewer. Eric is being the most active
and prolific reviewer of QMP patches for some time now.
I believe Markus and Eric will keep doing their work as before, but
starting now I'll require the ACK of at least one of them before
appling a patch/series that touches the qapi-schema.json file.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit c87826a878be05208c3906eb9d5e1f37cff5e98e
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Tue Jun 4 13:18:17 2013 +0800
tap: fix NULL dereference when passing invalid parameters to tap
This patch forbid the following invalid parameters to tap:
1) fd and vhostfds were specified but vhostfd were not specified
2) vhostfds were specified but fds were not specified
3) fds and vhostfd were specified
For 1 and 2, net_init_tap_one() will still pass NULL as vhostfdname to
monitor_handle_fd_param(), which may crash the qemu.
Also remove the unnecessary has_fd check.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Stefan Hajnoczi <shajnocz@xxxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7387de16d0e4d2988df350926537cd12a8e34206
Merge: b8a75b6... e73fe2b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 08:40:52 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (19) and others
# Via Stefan Hajnoczi
* stefanha/block: (26 commits)
hmp: add parameters device and -v for info block
hmp: show ImageInfo in 'info block'
qmp: add ImageInfo in BlockDeviceInfo used by query-block
block: add image info query function bdrv_query_image_info()
block: add snapshot info query function bdrv_query_snapshot_info_list()
ide-test: Add FLUSH CACHE test case
ide: Set BSY bit during FLUSH
ide-test: Add enum value for DEV
blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events
Make qemu-io commands available in HMP
qemu-io: Use the qemu version for -V
qemu-io: Interface cleanup
qemu-io: Move remaining helpers from cmd.c
qemu-io: Move command_loop() and friends
qemu-io: Move functions for registering and running commands
qemu-io: Move qemu_strsep() to cutils.c
qemu-io: Move 'quit' function
qemu-io: Move 'help' function
qemu-io: Factor out qemuio_command
qemu-io: Split off commands to qemu-io-cmds.c
...
Message-id: 1370606325-10680-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8a75b6093309a43f9837bc2ce63bcf15a7b305f
Merge: 8819c10... d1db1fa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jun 7 08:40:24 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Fix unsetting of indicators.
s390x/css: Fix concurrent sense.
Message-id: 1370592676-22532-1-git-send-email-cornelia.huck@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fef7fbc92496f5f6d2b7395263830bce15ebf410
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 14:45:17 2013 +0200
qdev: Drop FROM_QBUS() macro
Use QOM cast macros I2C_BUS(), SSI_BUS(), PCI_BUS() instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a17cc4f285d7ffe41847bf728cd88c736237416
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 13:49:13 2013 +0200
isa: QOM'ify ISADevice
Rename its parent field and use DEVICE() where necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ae0e48d5fd2cb7c5bc5c392edf2dc33ac2959d0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 14:11:07 2013 +0200
isa: QOM'ify ISABus
Rename its parent field and use ISA_BUS() where necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2628b7d18521dacd3d4d246602e9bb3fc2a43dd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:54:47 2012 +0100
i8259: Convert PICCommonState to use QOM realizefn
Instead of having the parent provide PICCommonClass::init,
let the children override DeviceClass::realize themselves.
This pushes the responsibility of saving and calling the parent's
realizefn to the children.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 49fdb0c1c42f02ab163206f34fcf59bb0815afa2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:38:13 2012 +0100
kvm/i8259: QOM'ify some more
Introduce type constant.
Prepares for PIC realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1eebf4e3df8882d7be6377e1251123b6c16b9b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 22:35:49 2012 +0100
i8259: QOM'ify some more
Introduce type constant.
Prepares for PIC realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a15d09127b104d1c35fc22bdd65263fe62462b30
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:47:58 2012 +0100
i8254: Convert PITCommonState to QOM realizefn
Instead of having the parent provide PITCommonClass::init,
let the children override DeviceClass::realize themselves.
This pushes the responsibility for saving and calling the parent's
realizefn to the children.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 58cd986422d7353e7fac56969ac59daab3cdca67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:13:38 2012 +0100
kvm/i8254: QOM'ify some more
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for PIT realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3afe7e14a42309578d324df5fe1b303a496a8466
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 18:05:53 2012 +0100
i8254: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Prepares for PIT realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e73fe2b46c38776288415ce7bc8ba3fcd23721c4
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:28:01 2013 +0800
hmp: add parameters device and -v for info block
With these parameters, user can choose the information to be showed,
to avoid message flood in the monitor.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd093a365e8d1437f437a48ddca3ed08283b3090
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:28:00 2013 +0800
hmp: show ImageInfo in 'info block'
Now human monitor can show image details, include internal
snapshot and backing chain info for every block device.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 553a7e871822d933beaefbd596f0e4eed1614373
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:59 2013 +0800
qmp: add ImageInfo in BlockDeviceInfo used by query-block
Now image info will be retrieved as an embbed json object inside
BlockDeviceInfo, backing chain info and all related internal snapshot
info can be got in the enhanced recursive structure of ImageInfo. New
recursive member *backing-image is added to reflect the backing chain
status.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 43526ec8d1395fe4efbed15e9764b64641b95bcc
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:58 2013 +0800
block: add image info query function bdrv_query_image_info()
This patch adds function bdrv_query_image_info(), which will
retrieve image info in qmp object format. The implementation is
based on the code moved from qemu-img.c, but uses block layer
function to get snapshot info.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb0ed4539c6f02fa9e5a3cf9df2549713451eeca
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Jun 6 12:27:57 2013 +0800
block: add snapshot info query function bdrv_query_snapshot_info_list()
This patch adds function bdrv_query_snapshot_info_list(), which will
retrieve snapshot info of an image in qmp object format. The
implementation
is based on the code moved from qemu-img.c with modification to fit more
for qmp based block layer API.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db895a1e6a97e919f9b86d60c969377357b05066
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Nov 25 02:37:14 2012 +0100
isa: Use realizefn for ISADevice
Drop ISADeviceClass::init and the resulting no-op initfn and let
children implement their own realizefn. Adapt error handling.
Split off an instance_init where sensible.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3dcca567a1d4a5c79fb9c8fe2d9a21a4a7cebd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 16:40:02 2013 +0200
cs4231a: QOM'ify some more
Introduce type constant and cast macro.
Replace reset hook with DeviceClass::reset callback.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 11c7549d836b3d3a4ccd903bbfdbdc942b9add52
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jun 6 16:02:26 2013 +0200
gus: QOM'ify some more
Add type constant and cast macro.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:58 2013 +0200
ide-test: Add FLUSH CACHE test case
This checks in particular that BSY is set while the flush request is in
flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f68ec8379e88502b4841a110c070e9b118d3151c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jun 5 15:17:57 2013 +0200
ide: Set BSY bit during FLUSH
The implementation of the ATA FLUSH command invokes a flush at the block
layer, which may on raw files on POSIX entail a synchronous fdatasync().
This may in some cases take so long that the SLES 11 SP1 guest driver
reports I/O errors and filesystems get corrupted or remounted read-only.
Avoid this by setting BUSY_STAT, so that the guest is made aware we are
in the middle of an operation and no ATA commands are attempted to be
processed concurrently.
Addresses BNC#637297.
Suggested-by: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c27d565604038c1572b16dd1cd06e277e6ef02e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:56 2013 +0200
ide-test: Add enum value for DEV
Get rid of the magic number.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf736fe34caba0688c9095c31b9d097ea15c1296
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 15:17:55 2013 +0200
blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 587da2c39c9ace168f4d01fa446a54ae998a2553
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:41 2013 +0200
Make qemu-io commands available in HMP
It was decided to not make this command available in QMP in order to
make clear that this is not supposed to be a stable API and should be
used only for testing and debugging purposes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02da386a2d7a020e80b0aed64769efa9dd42072a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:40 2013 +0200
qemu-io: Use the qemu version for -V
Always printing 0.0.1 and never updating the version number wasn't very
useful. qemu-io is released with qemu, so using the same version number
makes most sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d21994f9c511cb63220fef5abea164b83fbb997
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:39 2013 +0200
qemu-io: Interface cleanup
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b613881ae8fc59359b3d91e666fea6c9b1e731b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:38 2013 +0200
qemu-io: Move remaining helpers from cmd.c
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d1174f13e78e2f43f7ae33d59b62b0b94468c8db
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:37 2013 +0200
qemu-io: Move command_loop() and friends
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c2cdf5c5892165cbe7d3567bff5930521bc52669
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:36 2013 +0200
qemu-io: Move functions for registering and running commands
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a38ed811474e953371f848233208c2026c2d1195
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:35 2013 +0200
qemu-io: Move qemu_strsep() to cutils.c
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e681be7eca0143fe7259ce8233fe5dd8898d072f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:34 2013 +0200
qemu-io: Move 'quit' function
This one only makes sense in the context of the qemu-io tool, so move it
to qemu-io.c. Adapt coding style and register it like other commands.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f18a834a92f0b490cefeb71410f3f25b969d336f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:33 2013 +0200
qemu-io: Move 'help' function
No reason to treat it different from other commands. Move it to
qemu-io-cmds.c, adapt the coding style and register it like any other
command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dd5832967ac3fe96bd5bf9f199639176998ead69
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:32 2013 +0200
qemu-io: Factor out qemuio_command
It's duplicated code. Move it to qemu-io-cmds.c because it's not
dependent on any static data of the qemu-io tool.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 797ac58cb2093ab9192d8998a1fef85d87cc8661
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:31 2013 +0200
qemu-io: Split off commands to qemu-io-cmds.c
This is the implementation of all qemu-io commands that make sense to be
called from the qemu monitor, i.e. everything except open, close and
quit.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 734c3b85cb72d264ad2b38a87f30304e05de2cb1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:30 2013 +0200
qemu-io: Don't use global bs in command implementations
Pass in the BlockDriverState to the command handlers instead of using
the global variable. This is an important step to make the commands
usable outside of qemu-io.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf49a6a00c19cabf4006d4f82bef26345043e7b5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:29 2013 +0200
qemu-io: Handle cvtnum() errors in 'alloc'
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6e356aa25c81d928e1c463292048d29cf25f04e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:28 2013 +0200
qemu-io: Make cvtnum() a wrapper around strtosz_suffix()
No reason to implement the same thing multiple times. A nice side effect
is that fractional numbers like 0.5M can be used in qemu-io now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5e00984aef7c1c317e27c0e8acf66526513c770f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:27 2013 +0200
cutils: Support 'P' and 'E' suffixes in strtosz()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a23818f4ff3d7981f49453b739f589e4205930b5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jun 5 14:19:26 2013 +0200
qemu-io: Remove unused args_command
The original intention seems to be something with handling multiple
images at once, but this has never been implemented and the only
function ever registered is implemented to make everything behave like a
"global" command. Just do that unconditionally now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d1db1fa8dfcea9c62643f624f2a07d2fd375ce45
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Jun 5 17:13:05 2013 +0200
virtio-ccw: Fix unsetting of indicators.
Interpretation of the ccws to register (configuration) indicators
contained
a thinko: We want to disallow reading from 0, but setting the indicator
pointer to 0 is fine.
Let's fix the handling for CCW_CMD_SET{,_CONF}_IND.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 8312976e73fce9689ab831c1da565ec413680cff
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Jun 5 16:54:05 2013 +0200
s390x/css: Fix concurrent sense.
Fix an off-by-one error when indicating availablity of concurrent
sense data.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 293c51a6ee369228633a8428ab689f14c045ff98
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jun 5 10:33:14 2013 +0200
blockdev: reset werror/rerror on drive_del
Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested the following test case:
1. Launch a guest and wait at the GRUB boot menu:
qemu-system-x86_64 -enable-kvm -m 1024 \
-drive if=none,cache=none,file=test.img,id=foo,werror=stop,rerror=stop
-device virtio-blk-pci,drive=foo,id=virtio0,addr=4
2. Hot unplug the device:
(qemu) drive_del foo
3. Select the first boot menu entry
Without this patch the guest pauses due to ENOMEDIUM. The guest is
stuck in a continuous pause loop since the I/O request is retried and
fails immediately again when the guest is resumed.
With this patch the error is reported to the guest.
Note that this scenario actually happens sometimes during libvirt disk
hot unplug, where device_del is followed by drive_del. I/O may still be
submitted to the drive after drive_del if the guest does not process the
PCI hot unplug notification.
Reported-by: Dafna Ron <dron@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 09:53:19 2013 -0700
tcg: Remove redundant tcg_target_init checks
We've got a compile-time check for the condition in exec/cpu-defs.h.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e85ef5381a512d8f781b862e8b5f9d4cbf0ba494
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 09:51:59 2013 -0700
tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS
Rather than a hand-coded version of the same thing.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ffee3cd5fb29de2115bdcbde0a02f47ce69a24c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jun 4 14:47:26 2013 +0200
vmxnet3: fix NICState cleanup
Use qemu_del_nic() instead of qemu_del_net_client() to correctly free
the entire NICState.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8819c10b5d55d537d59a0ffd5d623f348fc36c47
Merge: a341619... 9cdf79d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 14:58:58 2013 -0500
Merge remote-tracking branch 'sstabellini/xen_fixes_20130603' into staging
* sstabellini/xen_fixes_20130603:
xen: use pc_init_pci instead of pc_init_pci_no_kvmclock
xen: remove xen_vcpu_init
xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)
xen_machine_pv: do not create a dummy CPU in machine->init
main_loop: do not set nonblocking if xen_enabled()
xen: simplify xen_enabled
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3416197447e7846a927b6ccb4f1edb3a1982443
Merge: e47dccc... 5b91704...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 09:26:49 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (6) and others
# Via Kevin Wolf
* kwolf/for-anthony:
block: dump snapshot and image info to specified output
block: move qmp and info dump related code to block/qapi.c
block: move snapshot code in block.c to block/snapshot.c
block: drop bs_snapshots global variable
qemu-iotests: make create_image() common
qemu-iotests: make compare_images() common
qemu-iotests: make cancel_and_wait() common
qemu-iotests: make assert_no_active_block_jobs() common
block: add block driver read only whitelist
qemu-iotests: fix 054 cluster size help output
Message-id: 1370349940-4703-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e47dccc64b6ca570e4db96fd5fdb3bef251eb559
Merge: 1713924... c3c4fe3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jun 4 09:26:29 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci: misc cleanups
This includes some pci-related cleanups,
and fw cfg cleanups which will be useful for on-going
pci related work.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 02 Jun 2013 02:46:52 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (8) and Laszlo Ersek (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pvpanic: use FWCfgState explicitly
fw_cfg: fw_cfg is a singleton
fw_cfg: add API to find FW cfg object
fw_cfg: move typedef to qemu/typedefs.h
refer to FWCfgState explicitly
apic: rename apic specific bitopts
firmware_abi: move to include/hw/nvram/
dec.c - move to pci-bridge
q35: set fw_name
Message-id: 1370202787-3712-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5b91704469c0f801e0219f26458356872c4145ab
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:45 2013 +0800
block: dump snapshot and image info to specified output
bdrv_snapshot_dump() and bdrv_image_info_dump() do not dump to a buffer
now,
some internal buffers are still used for format control, which have no
chance to be truncated. As a result, these two functions have no more
issue
of truncation, and they can be used by both qemu and qemu-img with correct
parameter specified.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f364ec65b56b69c55b674cb6560aa1fbbea9e013
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:44 2013 +0800
block: move qmp and info dump related code to block/qapi.c
This patch is a pure code move patch, except following modification:
1 get_human_readable_size() is changed to static function.
2 dump_human_image_info() is renamed to bdrv_image_info_dump().
3 in qmp_query_block() and qmp_query_blockstats, use bdrv_next(bs)
instead of direct traverse of global array 'bdrv_states'.
4 collect_snapshots() and collect_image_info() are renamed, unused
parameter
*fmt in collect_image_info() is removed.
5 code style fix.
To avoid conflict and tip better, macro in header file is BLOCK_QAPI_H
instead of QAPI_H. Now block.h and snapshot.h are at the same level in
include path, block_int.h and qapi.h will both include them.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit de08c606f9ddafe647b6843e2b10a6d6030b0fc0
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Sat May 25 11:09:43 2013 +0800
block: move snapshot code in block.c to block/snapshot.c
All snapshot related code, except bdrv_snapshot_dump() and
bdrv_is_snapshot(), is moved to block/snapshot.c. bdrv_snapshot_dump()
will be moved to another file later. bdrv_is_snapshot() is not related
with internal snapshot. It also fixes small code style errors reported
by check script.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 29d782710f87f01991bfc85cd9bef7d15280a5e2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat May 25 11:09:42 2013 +0800
block: drop bs_snapshots global variable
The bs_snapshots global variable points to the BlockDriverState which
will be used to save vmstate. This is really a savevm.c concept but was
moved into block.c:bdrv_snapshots() when it became clear that hotplug
could result in a dangling pointer.
While auditing the block layer's global state I came upon bs_snapshots
and realized that a variable is not necessary here. Simply find the
first BlockDriverState capable of internal snapshots each time this is
needed.
The behavior of bdrv_snapshots() is preserved across hotplug because new
drives are always appended to the bdrv_states list. This means that
calling the new find_vmstate_bs() function is idempotent - it returns
the same BlockDriverState unless it was hot-unplugged.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2499a096a2427f0a5c71750c9f79cf2d2d2d60f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:37 2013 +0200
qemu-iotests: make create_image() common
Both 030 and 041 use create_image(). Move it to iotests.py.
Also drop ImageStreamingTestCase since the class now has no methods.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3a3918c396c5caeab35a7f51af905172a13d996a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:36 2013 +0200
qemu-iotests: make compare_images() common
The iotests.compare_images() function returns True if two image files
have the identical data. Previously this was implemented by converting
images to raw and then comparing their contents using Python. Since
"qemu-img compare" is now available and is more efficient, switch to it.
This function will be reused by the 'drive-backup' test case.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2575fe16d257a1fb5f452391b868b3c3263a9aca
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:35 2013 +0200
qemu-iotests: make cancel_and_wait() common
The cancel_and_wait() function has been duplicated in 030 and 041. Move
it into iotests.py and let it return the event so tests can perform
additional asserts.
Note that 041's cancel_and_wait(wait_ready=True) is replaced by
wait_ready_and_cancel(), which uses the new wait_ready() and
cancel_and_wait() underneath.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ecc1c88efddb376687084c3387c38b3a458c5892
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 17:11:34 2013 +0200
qemu-iotests: make assert_no_active_block_jobs() common
Tests 030 and 041 both use query-block-jobs to check whether any block
jobs are active. Make this code common so that 'drive-backup' and other
new feature tests will be able to reuse it.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b64ec4e4ade581d662753cdeb0d7e0e27aafbf81
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed May 29 19:35:40 2013 +0800
block: add block driver read only whitelist
We may want to include a driver in the whitelist for read only tasks
such as diagnosing or exporting guest data (with libguestfs as a good
example). This patch introduces a readonly whitelist option, and for
backward compatibility, the old configure option --block-drv-whitelist
is now an alias to rw whitelist.
Drivers in readonly list is only permitted to open file readonly, and
returns -ENOTSUP for RW opening.
E.g. To include vmdk readonly, and others read+write:
./configure --target-list=x86_64-softmmu \
--block-drv-rw-whitelist=qcow2,raw,file,qed \
--block-drv-ro-whitelist=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8ddd08c5d1415a71f21157686d43f48ff14992b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue May 28 11:19:51 2013 +0200
qemu-iotests: fix 054 cluster size help output
Commit f3f4d2c09b9cf46903ba38425ec46c44185162bd added a hint to increase
the cluster size when a large image cannot be created. Test 054 now has
outdated output and fails because the golden output does not match.
This patch updates the 054 golden output.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 171392406d8e230d62e5ebf4805f71460854b8ec
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 15:37:23 2013 -0500
gtk: don't use g_object_unref on GdkCursor
It's not a GObject.
Cc: Gerd Hoffman <kraxel@xxxxxxxxxx>
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
---
v1 -> v2
- Fix summary to agree with code (Peter)
commit 41686a960805ed561158c7e4809f0c9f92f1d8ec
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 15:36:51 2013 -0500
gtk: don't resize window when enabling scaling
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 651eb0f41b793021f7de672de78892def5819fb9
Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
Date: Fri May 31 16:52:18 2013 +0800
fix double free the memslot in kvm_set_phys_mem
Luiz Capitulino reported that guest refused to boot and qemu
complained with:
kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument
It is caused by commit 235e8982ad that did double free for the memslot
so that the second one raises the -EINVAL error
Fix it by reset memory size only if it is needed
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25b483381adf4144bad3cf3f433b4658da5e15bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon May 20 16:16:16 2013 +0100
configure: Report unknown target names more helpfully
If the user specifies a target list themselves, check each entry
to make sure it's a target we recognise. This allows us to print
a helpful error message, rather than falling through (where we
would probably eventually end up hitting the uninformative
"ERROR: Unsupported target CPU").
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1369062976-301-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e92f823b67d87aa96df01b0cb01f81ac71ec5e3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon May 20 16:16:15 2013 +0100
configure: Autogenerate default target list
Autogenerate the default target list based on what files exist
in default-configs; this allows us to remove one of the places
that has to be kept up to date with a complete list of every
target we support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1369062976-301-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ded1fe5f36765b97b15a7afebb6d04ddcc4771c
Merge: 8b779b3... 95669e6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 13:24:25 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Peter Crosthwaite (20) and others
# Via Peter Maydell
* pmaydell/arm-devs.next: (24 commits)
i.MX: Improve EPIT timer code.
exynos4210.c: register rom_mem for memory migration
hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region
i.MX: split GPT and EPIT timer implementation
sd/sd.c: Fix "inquiry" ACMD41
sd/sdhci:ADMA: fix interrupt
sd/sdhci.c: Fix bdata_read DPRINT message
sd/sdhci: Fix Buffer Write Ready interrupt
sd/sdhci.c: Only reset data_count on new commands
xilinx_spips: lqspi: Fix byte/misaligned access
xilinx_spips: lqspi: Push more data to tx-fifo
xilinx_spips: Multiple debug verbosity levels
xilinx_spips: Debug msgs for Snoop state
xilinx_spips: Fix striping behaviour
xilinx_spips: Fix CTRL register RW bits
xilinx_spips: lqspi: Dont touch config register
xilinx_spips: Implement automatic CS
xilinx_spips: Add automatic start support
xilinx_spips: Trash LQ page cache on mode change
xilinx_spips: Fix QSPI FIFO size
...
Message-id: 1370277021-26129-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95669e69848eda87861e1ec3016562101542f543
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
i.MX: Improve EPIT timer code.
* Unify function and type naming
* use dynamic cast whenever possible
* simplify Debug printf.
* use new style device intialization.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Message-id: 1369839656-24466-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6539ed21b1d5c93e8add2f7b2bf9856889e6d1ac
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
exynos4210.c: register rom_mem for memory migration
Even if we do not register newly created RAM MemoryRegion for migration
with
vmstate_register_ram_global() function, ram_save_setup() still saves this
region
to snapshot file with empty idstr=="". Consequently this results in error
during
VM loading in ram_load().
Register rom_mem for migration.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Message-id: 1368199981-45292-3-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11a5e48249d8c34211065c25ddf222f031a0338e
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Mon Jun 3 17:17:46 2013 +0100
hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region
Exynos SoC was misusing memory_region_init_ram_ptr(): this interface can
safely
be used only for memory regions which size is a multiple of target page
size.
Change chipid_and_omr memory to an mmio region to fix this.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Message-id: 1368199981-45292-2-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a50c0d6f72830ca3016e63ded6ccfd4e951c172f
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
i.MX: split GPT and EPIT timer implementation
There is no common code between these 2 timer implementation.
So it is better to split them.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1368990197-19694-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 37ab4a566816f518fb958ea49734d51d1ccbd227
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sd.c: Fix "inquiry" ACMD41
QEMU models two (of the three) ACMD41 has two modes, "inquiry" and
"first". The selection logic for which of the two is incorrect - it
compares != 0 for the entire argument value rather than only bits 23:0
as per the spec. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
3ef0a7fd1b2f3ebb23b4fdeabcc14caf3fad6d71.1369622254.git.peter.crosthwaite@xxxxxxxxxx
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1d32c26f28d6e25f447b8ba40440c7d228ed4006
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sdhci:ADMA: fix interrupt
The end of transfer check was occurring and potentially returning before
the interrupt flag was checked. This means the interrupt will be missed
if it occurs on the last packet. Fix by checking for the interrupt
before checking for the end of transfer.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
9969ec154777957ec738fc4e539d68e7494d0081.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 677ff2ae660b3a55f936a8836513cbab185f6e4f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:45 2013 +0100
sd/sdhci.c: Fix bdata_read DPRINT message
This message was printing out the data in decimal only, which is not
very friendly to the debugging developer. Add hex variant in
parenthesis to make it consistent with other similar messages in this
module.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
d624179649137832eaa8caa263ef9589b4395d5e.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dcdb4cd8507d93ecad10ae54b28d9609453c0312
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
sd/sdhci: Fix Buffer Write Ready interrupt
This interrupt is not risen after the last block is written to sd. It
is mutually exclusive with the end of transfer conditions. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
7ca9fd3e03ce1bec94aff08f607c15a0ec3d3371.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 656f416c65d8ddbfd17500676865f0ac8f960801
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
sd/sdhci.c: Only reset data_count on new commands
The data_count variable was being reset on every transfer, including
DMA transfer resumptions. This is incorrect, it should only be set
on a new command.
Manifests as a bug when using ADMA and there is a timer delay between
ADMA frames where the fifo is left in a non empty state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
15a98609cc32315211b0963091a8efd67522e160.1369370934.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b0b7ae6259e96e775315357c813b74e85637bf32
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
xilinx_spips: lqspi: Fix byte/misaligned access
The LQSPI bus attachment supports byte/halfword and misaligned
accesses. Fixed. Refactored the LQSPI cache to be byte-wise
instead of word wise accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
5ec47b13563ad2d22105a1f26186d7756718394b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a66418f6f181ca6ee04e77896674253ff83db45e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:44 2013 +0100
xilinx_spips: lqspi: Push more data to tx-fifo
Do 16 words per fifo flush. Increases performance and decreases
debug verbosity. This data depth has no real hardware analogue,
so just go with something that has reasonable performance.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
5621ee4621941d3639b5cacfdec26bd3148f31d5.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a5b6fa8d9bdeec71f4f92e8b7a31fc344ef512f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Multiple debug verbosity levels
The debug printfs on every SPI operation is extremely verbose. Add
a second level of debug for this.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
f63478b8e5b29cc011cdc10e29f8537bb2fc2b5e.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c37fc509d288ff693e42b2025451241fdd481948
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Debug msgs for Snoop state
This is worth keeping track of when debugging the device model.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
d3b44ecf23d671798b062eee5dc362c716ea54cd.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9151da25a71a171d19beec107a8ee2066cb65e7c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Fix striping behaviour
The QSPI controller was using byte-wide stripes when striping across
the two flashes in dual parallel mode. The real hardware however uses
individual bit striping. QEMU misbehaves in the (corner) case where
data is written/read in dual-parallel mode and read/written back in
single mode.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
718a61df1bf746ec06f6da44d12f8317af7b08ce.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2133a5f6b8f8941a6a3734c6c1990656553de76c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: Fix CTRL register RW bits
The CTRL register was RAZ/WI on some of the RW bits. Even though the
function behind these bits is invalid in QEMU, they should still be
guest accessible. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
b7aaad93163ce4af0c428635804ac7b77a567b25.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 15408b428f5b4db56da555fbda4f1aaf40d77f4b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:43 2013 +0100
xilinx_spips: lqspi: Dont touch config register
The LQSPI mode is supposed to work via the automatic CS mode feature
rather than manipulate CS lines itself. Now that auto CS is implemented
remove LQSPIs CS mode override logic. There is still a need to
manipulate the U_PAGE bit in LQSPI config register to implement
dual-stack mode however.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
000c8dd54df09523f17052638100722ef0f5a3af.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4f08ffe134810307cebd66f2cbcffe5cd707915
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Implement automatic CS
Implement the automatic CS control feature. If the MANUAL_CS bit is
cleared then the chip select stay de-asserted as long as the tx FIFO
is empty.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
1d67383adc42761af715a93f161344b9284dfc9a.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e100f3be0cccc58692b3988ec2e35cd8b906ca05
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Add automatic start support
SPI has a mode where it automatically starts based on tx fifo
occupancy. Implemented.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
f4e9accb5de87b526fff6ed937f63278db76533b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b5cd9143e78da8ea9e17fa523aacbedd267aae54
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Trash LQ page cache on mode change
Invalidate the LQSPI cached page when transitioning into LQSPI mode.
Otherwise there is a possibility that the controller will return stale
data to the guest when transitioning back to LQ_MODE after a page
program.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
677490a6ee1953fe5d366e599d665de645ac84db.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 10e60b35d04359fba1d759925018204527a1b9f5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:42 2013 +0100
xilinx_spips: Fix QSPI FIFO size
QSPI has a bigger FIFO than the regular SPI controller. Differentiate
between the two with correct FIFO sizes for each.
This is the first piece of class data for SPIPS, so this patch sees
the creation of the XilinxSPIPSClass definition and assoicated QOM
constructs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
acee25dd5e203215cbc15ca5d3cb5d5b2efebe7b.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit abef5fa6438d654de59dfa083166f41a4067f6b7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Add verbose LQSPI debug output
You really need this is you want to track a guest banging on LQSPI.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
26e508da4af11058d37daa777064c9e5c2a69abb.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3ea728d0c87011845666caedc582eaa9629797db
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Inhibit interrupts in LQSPI mode
The real hardware does not produce interrupts in LQSPI mode. Inhibit
generation of interrupts when the LQ_MODE bit is set.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
dff794a06872009ea7e5733ce6adcff94d18bbd0.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 87920b44a1e04a45bf74ee0a88a2dfa51c65acdb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: Make interrupts clear on read
By default these interrupts are clear on read.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
999ff0091ed3cc3969a431bf55c00ef934cecc8e.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6b91f0155b9338b7fa53d1d64f4e40c43a5d3bba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jun 3 17:17:41 2013 +0100
xilinx_spips: seperate SPI and QSPI as two classes
Make SPI and QSPI different classes. QSPIPS is setup as a child of SPIPS.
Only QSPI has the LQSPI functionality, so move all that to the child
class.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
2cdd0cadb5ba77ca02fde5cae627852dc9a64c71.1369117359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9cdf79d068f52f7de347cb45cfd8903519410e4d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon May 27 16:46:01 2013 +0000
xen: use pc_init_pci instead of pc_init_pci_no_kvmclock
Call kvmclock_create only if kvmclock_enabled.
Use pc_init_pci on Xen rather than pc_init_pci_no_kvmclock.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 95222d0945ac8e7fea2adf2fc927634ff3ea1389
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu May 30 16:52:44 2013 +0000
xen: remove xen_vcpu_init
No need for xen_vcpu_init anymore:
- the RTC emulator doesn't have any periodic timers continuously running
even in absence of guest interactions anymore;
- qemu_dummy_start_vcpu takes care of disabling TCG for us, so we don't
need to do it manually here.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 9f24a8030a70ea4954b5b8c48f606012f086f65f
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:37:45 2013 +0000
xen: start PCI hole at 0xe0000000 (same as pc_init1 and
qemu-xen-traditional)
We are currently setting the PCI hole to start at HVM_BELOW_4G_RAM_END,
that is 0xf0000000.
Start the PCI hole at 0xe0000000 instead, that is the same value used by
pc_init1 and qemu-xen-traditional.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 58ee9b0ae05d81c74d6869a25ce4263fc22ed809
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:31 2013 +0000
xen_machine_pv: do not create a dummy CPU in machine->init
This fixes a regression introduced by:
commit 62fc403f11523169eb4264de31279745f48e3ecc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 18:54:13 2013 +0200
target-i386: Attach ICC bus to CPU on its creation
X86CPU should have parent bus so it could provide bus for child APIC.
The commit makes it mandatory to pass a valid ICC bus to cpu_x86_create,
but cpu_x86_init just passes NULL to it.
xen_machine_pv uses cpu_x86_init, therefore it has been broken.
This patch fixes the problem by removing the dummy CPU creation
altogether from xen_init_pv, relying on the fact that QEMU can now cope
with a machine without an emulated CPU.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
CC: imammedo@xxxxxxxxxx
CC: qemu-stable@xxxxxxxxxx
commit a7d4207d378069a5bb3175a131e8fdedd39ef97d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:43 2013 +0000
main_loop: do not set nonblocking if xen_enabled()
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 49fa9881b2358e390e9e9466ddde74e995927efa
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jun 3 15:38:48 2013 +0000
xen: simplify xen_enabled
No need for preprocessor conditionals in xen_enabled: xen_allowed is
always defined.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 5866e078770cba631a33e6d3062afa7a4068adf8
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Thu May 30 18:50:50 2013 +0000
Fix rfe instruction
The rfe instruction has been broken since patch
5a839c0d54fac9db0516904db873a4fe01f50f4b because of a typo.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8b779b368b3b45d5ed3160173499eeafee4d567c
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Mon May 6 19:14:52 2013 +0200
po/hu.po: Hungarian translation for the GTK+ interface
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1367860492-3357-1-git-send-email-akoskovacs@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 40459a0312569817f622926efd0780ef2299aaa1
Merge: 7087d3d... 37352df...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 08:37:54 2013 -0500
Merge remote-tracking branch 'kraxel/usb.83' into staging
# By Gerd Hoffmann (5) and others
# Via Gerd Hoffmann
* kraxel/usb.83:
xhci: add live migration support
xhci: add xhci_init_epctx
xhci: add xhci_alloc_epctx
xhci: add XHCISlot->addressed
pci: add VMSTATE_MSIX
host-libusb: Correct test for USB packet state
Fix usage of USB_DEV_FLAG_IS_HOST flag.
Message-id: 1370253951-12323-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7087d3df18b8e8d27a2115dfc5d56614073e55de
Merge: f10acc8... a4cc73d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jun 3 08:37:44 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Ed Maste (3) and others
# Via Michael Tokarev
* mjt/trivial-patches:
do not check pointers after dereferencing them
m25p80: Add Micron n25q032a
qemu: fix out of tree cross compile
slirp: cleanup leftovers from misc.h
migration: Remove duplicate bandwidth_limit set
docs: Fix typo and update file in migration
configure: try pkg-config ncurses first
rtc: remove rtc_set_date
linux-user: Fix typo in comment
configure: remove confusing file manipulation
debugcon: fix compiler warning when open DEBUG_DEBUGCON
debugcon: make debug message more readable
debugcon: fix always print "addr=0x0, val=0x0" bug when use
DEBUG_DEBUGCON
Remove unnecessary break statements
don't run pkg-config for features explicitly disabled
Message-id: 51A9CCFB.1000109@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 37352df30fbc38d1de464db8927536d5e36cf52a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:55:35 2013 +0100
xhci: add live migration support
With all preparing pieces in place we can finally drop in
the vmstate structs and the postload function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 003e15a180373048f0c1f4df0bfe303746eb2676
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 10:11:22 2013 +0200
xhci: add xhci_init_epctx
Factor out endpoint context initialization to a separate function.
xhci live migration will need that too, in post_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 492b21f63fa655e0271abef4784cc337dd1d3fe7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 09:33:35 2013 +0200
xhci: add xhci_alloc_epctx
Factor out endpoint context allocation to a separate function.
xhci live migration will need that too, in post_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4034e6938a4cba090a8fac02499c8a9567201665
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 12:37:32 2013 +0200
xhci: add XHCISlot->addressed
Preparing for live-migration support, post_load will need that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 340b50c759d6b4ef33e514c40afcc799c0d7df7a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 7 15:16:58 2013 +0200
pci: add VMSTATE_MSIX
Using a trick cut+pasted from vmstate_scsi_device
to wind up msix_save and msix_load.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45ec267160307ce2ca7494d942589ba222b29479
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue May 7 10:06:12 2013 -0400
host-libusb: Correct test for USB packet state
USB_RET_ASYNC is -6, so inflight was always false.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 756335292f2b46775992c314cc70b54480a46d26
Author: Michael Marineau <mike@xxxxxxxxxxxx>
Date: Sun May 12 19:19:37 2013 -0400
Fix usage of USB_DEV_FLAG_IS_HOST flag.
USB_DEV_FLAG_IS_HOST is the bit number, not value. Booting with a
"Fitbit Base Station" USB dongle was triggering this assert.
Signed-off-by: Michael Marineau <mike@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f10acc8b38d65a66ffa0588a036489d7fa6a593e
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Jun 2 17:23:00 2013 +0100
tcx: Fix 24-bit display mode
Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit
mode of
the tcx display adapter by accidentally passing in the final address of
the
dirty region to memory_region_reset_dirty() instead of its size.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c3c4fe35be9f6c37388ba7615c6c33e8f4034438
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 15:59:06 2013 +0300
pvpanic: use FWCfgState explicitly
Use the type-safe FWCfgState structure instead
of the unsafe void *.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cac122103abac633d7b39aac87273bf6d5a37588
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 16:21:24 2013 +0300
fw_cfg: fw_cfg is a singleton
Make sure we only have a single instance ever:
because if it isn't we can't find it so it's
useless anyway.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 600c60b76d0682f6c39d19bfff79da9321e8cf86
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 16:07:58 2013 +0300
fw_cfg: add API to find FW cfg object
Remove some code duplication by adding a
function to look up the fw cfg file.
This way, we don't need to duplicate same strings everywhere.
Use by both fw cfg and pvpanic device.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45936c8b79012da4c8986c20af4afcc9cd14bb8e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 16:27:06 2013 +0300
fw_cfg: move typedef to qemu/typedefs.h
Less header dependencies this way.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a88b362c6ffbb7a802bf0ed5ef0e2447164dc989
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Apr 16 02:24:08 2013 +0200
refer to FWCfgState explicitly
Currently some places use pointer-to-void even though they mean
pointer-to-FWCfgState. Clean them up.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit edf9735e40841298874ee308fdecca2ac2aa5bdf
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon May 13 14:11:02 2013 +0300
apic: rename apic specific bitopts
apic has its own version of bitops, with the
difference that it works on u32 and not long.
Add apic_ prefix to avoid namespace clashes.
We should look into reusing standard bitops long-term,
but that's not entirely trivial.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ec0503b4f0a37b55fedc164185369bf5f0030f7b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:13:06 2013 +0300
firmware_abi: move to include/hw/nvram/
firmware_abi.h with structs for OpenBIOS landed in hw/sparc/ by mistake
- move it to hw/nvram/ alongside fw_cfg.h. In addition to sparc it's
included from ppc mac_nvram.c and will need to include it from prep.c in
the future.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbef02f819b05112cb626a955d8c86e30afe6a9f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 12:09:20 2013 +0300
dec.c - move to pci-bridge
Looks like dec.c is in pci-host by mistake.
Moving it over to pci-bridge.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a4cc73d629d43c8a4d171d043ff229a959df3ca6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 31 14:00:27 2013 +0200
do not check pointers after dereferencing them
Two instances, both spotted by Coverity. In one, two blocks were
swapped. In the other, the check is not needed anymore.
Cc: qemu-stable@xxxxxxxxxx
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cd2e64ce306910f6a627d899e6779eda33f8511c
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 29 09:58:29 2013 -0400
m25p80: Add Micron n25q032a
Based on the datasheet at
http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_32mb_1_8v_65nm.pdf
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a585140dd546ffb606ec506b362ab9decf1ab14e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed May 29 23:30:43 2013 +1000
qemu: fix out of tree cross compile
The symlink to "asm" platform linux headers is made in the build tree by
the configure script but gcc is not told to look for them there.
The patch fixes this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a9c34e4485ef0a8a61e88f1c9f9bb87f00ba2c72
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue May 28 00:46:10 2013 +0400
slirp: cleanup leftovers from misc.h
There are quite a few leftover declarations in slirp/misc.h.
Remove them.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 12cd30e9c026e03db908785276057c5a3d912596
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 27 18:33:02 2013 +0800
migration: Remove duplicate bandwidth_limit set
bandwidth_limit is double set in migrate_init(), remove one.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7465dfeca065882c93424b23b14b2c9f31b16aa5
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 27 18:33:01 2013 +0800
docs: Fix typo and update file in migration
This patch fix some typo and update the file that already
moved.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cfeda5f4b8710b6ba14131df8e287021b729b784
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Fri May 24 16:07:00 2013 -0400
configure: try pkg-config ncurses first
When probing for ncurses, try pkg-config first rather than after
explicit -lncurses and -lcurses. This fixes static linking in the case
that ncurses has additional dependencies, such as -ltinfo (as on FreeBSD).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d720e9831cab9934079d36a5fe3ebcdded4cb3a7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed May 22 13:33:12 2013 +0800
rtc: remove rtc_set_date
Since it's not defined and used anywhere.
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d2d6b8576ccf0de429fb96ea6ab9669d8e916085
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 17:20:50 2013 +0800
linux-user: Fix typo in comment
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cbc8d595ef21635b630dd1cad54eb730ae6620a1
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 22 09:21:39 2013 -0400
configure: remove confusing file manipulation
The configure script had some code to manipulate config-host.ld~ (i.e.,
a common backup filename), comparing it with the newly-generated file.
I believe the sense of the comparison was backwards.
Since it seemed to serve little purpose anyway, remove it to avoid any
confusion.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 668fca91d48a7d55a0e3911447b078679f2ce986
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:33 2013 +0800
debugcon: fix compiler warning when open DEBUG_DEBUGCON
compiler warnings:
CC hw/char/debugcon.o
hw/char/debugcon.c: In function â??debugcon_ioport_writeâ??:
hw/char/debugcon.c:58: warning: format â??%02xâ?? expects type
â??unsigned intâ??, but argument 3 has type â??uint64_tâ??
hw/char/debugcon.c: In function â??debugcon_ioport_readâ??:
hw/char/debugcon.c:70: warning: format â??%04xâ?? expects type
â??unsigned intâ??, but argument 2 has type â??hwaddrâ??
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6ee28469fc41af5cc7d5b470ec9a1a078177fa7
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:32 2013 +0800
debugcon: make debug message more readable
before change:
Bdebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x74
tdebugcon: write addr=0x0000 val=0x69
idebugcon: write addr=0x0000 val=0x6e
ndebugcon: write addr=0x0000 val=0x67
gdebugcon: write addr=0x0000 val=0x20
debugcon: write addr=0x0000 val=0x66
after change:
B [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x74]
t [debugcon: write addr=0x0000 val=0x69]
i [debugcon: write addr=0x0000 val=0x6e]
n [debugcon: write addr=0x0000 val=0x67]
g [debugcon: write addr=0x0000 val=0x20]
[debugcon: write addr=0x0000 val=0x66]
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8c1f72da6b11051c48a642f7de7048956383e217
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri May 24 10:47:31 2013 +0800
debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON
when use DEBUG_DEBUGCON, screen spits:
debugcon: write addr=0x0000 val=0x00
Rdebugcon: write addr=0x0000 val=0x00
udebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
gdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
pdebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
rdebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
mdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
adebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
Oh, that's wrong, val is not always be 0.
this bug caused by lack of length modifier
for specifier 'x'.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6681fca3fc5f44eff68a0c0b2e62694f8579ce28
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri May 24 12:19:25 2013 +0200
Remove unnecessary break statements
Fix these warnings from cppcheck:
hw/display/cirrus_vga.c:2603:
hw/sd/sd.c:348:
hw/timer/exynos4210_mct.c:1033:
target-arm/translate.c:9886:
target-s390x/mem_helper.c:518:
target-unicore32/translate.c:1936:
style: Consecutive return, break, continue, goto or throw statements are
unnecessary.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a3605bf696a30e793d375b6c4ff1fd88ec546010
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat May 25 13:17:21 2013 +0400
don't run pkg-config for features explicitly disabled
We test pkg-config for curses and curl even if those are explicitly
disabled. Move these tests inside `if "$feature" != "no"' sections.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dec3fc9657e0682637de4d5a29d947284d01985c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed May 29 12:30:51 2013 -0700
target-i386: Fix aflag logic for CODE64 and the 0x67 prefix
The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR.
While fixing this, tidy and comment the code so that it's more obvious
what's going on in setting both aflag and dflag.
The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the
constant zero when TARGET_X86_64 is undefined.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369855851-21400-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39c93c67c5995bd8db7a3fa3b95dcd4e6bc881a7
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu May 23 13:51:41 2013 +0200
s390/ipl: Fix spurious errors in virtio
With the ccw ipl code sometimes an error message like
"virtio: trying to map MMIO memory" or
"Guest moved used index from %u to %u" appeared. Turns out
that the ccw bios did not zero out the vring, which might
cause stale values in avail->idx and friends, especially
on reboot.
Lets zero out the relevant fields. To activate the patch we
need to rebuild s390-ccw.img as well.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1369309901-418-1-git-send-email-borntraeger@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a1f348c429a6af0ba6448e5b3ae08dbc8e28696
Merge: 6c8df7a... f2e3978...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:33:02 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-05-30' into staging
# By Laszlo Ersek
# Via Michael Roth
* mdroth/qga-pull-2013-05-30:
Makefile: create ".../var/run" when installing the POSIX guest agent
qga: save state directory in ga_install_service()
qga: remove undefined behavior in ga_install_service()
qga: create state directory on win32
configure: don't save any fixed local_statedir for win32
qga: determine default state dir and pidfile dynamically
osdep: add qemu_get_local_state_pathname()
Message-id: 1369940341-9043-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c8df7a33ade90c8c96b01655520c7e9b69b46c0
Merge: cdf79b6... bff6347...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:32:32 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (1) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
target-i386: Fix mask of pte index in memory mapping
target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses
qapi: pad GenericList value fields to 64 bits
Message-id: 1370009905-4255-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdf79b6454abe13aec89d4be7cf59b3e841a7faf
Merge: fd21faa... fd8aaa7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 31 11:32:25 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/iommu-for-anthony: (22 commits)
memory: add return value to address_space_rw/read/write
memory: propagate errors on I/O dispatch
exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses
memory: correctly handle endian-swapped 64-bit accesses
memory: split accesses even when the old MMIO callbacks are used
memory: add big endian support to access_with_adjusted_size
memory: accept mismatching sizes in memory_region_access_valid
memory: add address_space_access_valid
exec: implement .valid.accepts for subpages
memory: export memory_region_access_valid to exec.c
exec: introduce memory_access_size
exec: introduce memory_access_is_direct
exec: expect mr->ops to be initialized for ROM
memory: assign MemoryRegionOps to all regions
memory: move unassigned_mem_ops to memory.c
memory: add address_space_translate
memory: dispatch unassigned accesses based on .valid.accepts
exec: do not use error_mem_read
exec: make io_mem_unassigned private
cputlb: simplify tlb_set_page
...
Message-id: 1369947836-2638-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bff63471ced94e3a6de76b1a7375a875178d6cdc
Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Thu May 30 17:07:54 2013 +0200
target-i386: Fix mask of pte index in memory mapping
Function walk_pte() needs pte index to calculate virtual address.
However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask
should be 0x1ff.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fbc2ed9518efcdcdcbf0adb9539c17a65addd20a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue May 28 14:19:22 2013 -0400
target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses
The code used to walk IA-32e page-tables, and possibly PAE page-tables,
uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address.
However, as we use a uint64_t to store the resulting address, that mask
gets expanded to 0xfffffffffffff000 which not only ends up selecting
reserved bits but also selects the XD bit (execute-disable) which
happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort.
This commit fixes that problem by replacing ~0xfff by a correct mask
that only selects the address bit range (ie. bits 51:12).
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit fd21faadb12669e24eaf0a277de61c24fcde4cac
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed May 29 16:30:01 2013 -0400
seccomp: add the asynchronous I/O syscalls to the whitelist
In order to enable the asynchronous I/O functionality when using the
seccomp sandbox we need to add the associated syscalls to the
whitelist.
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Message-id: 20130529203001.20939.83322.stgit@localhost
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu May 30 13:20:40 2013 +0200
gdbstub: do not restart crashed guest
If a guest has crashed with an internal error or similar, detaching
gdb (or any other debugger action) should not restart it.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1369912840-18577-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bbfa18fca4e44ff9c23d36b50d8a998af9c9e9fc
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed May 29 15:56:42 2013 +0800
qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path
Recent virtio refactoring in QEMU made virtio-bus become the parent bus
of scsi-bus, and virtio-bus doesn't have get_fw_dev_path implementation,
typename will be added to fw_dev_path by default, the new fw_dev_path
could not be identified by seabios. It causes that bootindex parameter
of scsi device doesn't work.
This patch implements get_fw_dev_path() in BusClass, it will be called
if bus doesn't implement the method, tyename will be added to
fw_dev_path. If the implemented method returns NULL, nothing will be
added to fw_dev_path.
It also implements virtio_bus_get_fw_dev_path() to return NULL. Then
QEMU will still pass original style of fw_dev_path to seabios.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1369814202-10346-1-git-send-email-akong@xxxxxxxxxx
--
v2: only add nothing to fw_dev_path when get_fw_dev_path() is
implemented and returns NULL. then it will not effect other devices
don't have get_fw_dev_path() implementation.
v3: implement default get_fw_dev_path() in BusClass
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f2e3978b5a72870b061d29948075dccc0a72db8e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 07:13:14 2013 +0200
Makefile: create ".../var/run" when installing the POSIX guest agent
Otherwise the default local state directory of POSIX qga won't exist after
installation with a non-standard ${prefix} or DESTDIR.
For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so
don't create that directory either unless we're installing the agent.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a839ee77c786a8200c76ca92f697eebf6bcc9aa3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:53 2013 +0200
qga: save state directory in ga_install_service()
If the user selects a non-default state directory at service installation
time, we should remember it in the registered service.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a880845f3d92e508e43fcc38f0631b91c203e5d5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:52 2013 +0200
qga: remove undefined behavior in ga_install_service()
We shouldn't snprintf() from a buffer to the same buffer.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit bf12c1fa8c78e3c667f2fe2ecc656f4f3cfb914e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:51 2013 +0200
qga: create state directory on win32
On Win32 the local state directory is application specific and users might
expect qemu-ga to create it automatically.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5a699bbbf300902141d2458682d05cd310d7a07f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:50 2013 +0200
configure: don't save any fixed local_statedir for win32
... because now we can get the dynamic value with
qemu_get_local_state_pathname().
The only user of the fixed value was the guest agent, which we've moved to
qemu_get_local_state_pathname() in the previous patch.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c394ecb7bf55b7234f852b9c8518aefb5d0943fa
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:49 2013 +0200
qga: determine default state dir and pidfile dynamically
No effective change on POSIX, but on Win32 the defaults come from the
environment / session.
Since commit 39097daf ("qemu-ga: use key-value store to avoid recycling fd
handles after restart") we've relied on the state directory for the fd
handles' key-value store. Even though we don't support the guest-file-*
commands on win32 yet, the key-value store is written, and it's the first
use of the state directory on win32. We should have a sensible default for
its location.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e2ea3515a9d2d747f91dadf361afcbeb57a71500
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Sat May 18 06:31:48 2013 +0200
osdep: add qemu_get_local_state_pathname()
This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems,
and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32.
http://msdn.microsoft.com/en-us/library/bb762494.aspx
[...] This folder is used for application data that is not user
specific. For example, an application can store a spell-check
dictionary, a database of clip art, or a log file in the
CSIDL_COMMON_APPDATA folder. [...]
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 68c0e134a090666246b467deaf9046e573b089f2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu May 30 11:35:23 2013 +0300
q35: set fw_name
PCI host bridges need to set fw_name to be discoverable
by bios for boot device selection.
In particular, seabios expects root device to be called
"/pci/@i0cf8", so let's set it up like that for Q35.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
commit a678e26cbe89f7a27cbce794c2c2784571ee9d21
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Sun May 26 22:20:58 2013 -0500
qapi: pad GenericList value fields to 64 bits
With the introduction of native list types, we now have types such as
int64List where the 'value' field is not a pointer, but the actual
64-bit value.
On 32-bit architectures, this can lead to situations where 'next' field
offset in GenericList does not correspond to the 'next' field in the
types that we cast to GenericList when using the visit_next_list()
interface, causing issues when we attempt to traverse linked list
structures of these types.
To fix this, pad the 'value' field of GenericList and other
schema-defined/native *List types out to 64-bits.
This is less memory-efficient for 32-bit architectures, but allows us to
continue to rely on list-handling interfaces that target GenericList to
simply visitor implementations.
In the future we can improve efficiency by defaulting to using native C
array backends to handle list of non-pointer types, which would be more
memory efficient in itself and allow us to roll back this change.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fd8aaa767ab5d804c2aa156a616b8ca8837916b0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 21 09:56:55 2013 +0200
memory: add return value to address_space_rw/read/write
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 791af8c861f4537ad29c34df14fb81701e04596f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 16:10:39 2013 +0200
memory: propagate errors on I/O dispatch
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a649b9168cb9169b41532b168b94294e2be32e50
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:40:43 2013 +0200
exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses
The memory API is able to split it in two 4-byte accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 968a5627c80ff2b9fd1ed40f9400897088bd661a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:58:37 2013 +0200
memory: correctly handle endian-swapped 64-bit accesses
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce5d2f331ec42b43f92aa4c57fdaaf4c34ccb377
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:45:48 2013 +0200
memory: split accesses even when the old MMIO callbacks are used
This is useful for 64-bit memory accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:54:01 2013 +0200
memory: add big endian support to access_with_adjusted_size
This will be used to split 8-byte access down to two four-byte accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a014ed07bd5a93950fe12c88ed5faf188a22ee01
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:48:52 2013 +0200
memory: accept mismatching sizes in memory_region_access_valid
The memory API is able to use smaller/wider accesses than requested,
match that in memory_region_access_valid. Of course, the accepts
callback is still free to reject those accesses.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 51644ab70ba125cb9545702d64890743d75b444b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 15:40:59 2013 +0200
memory: add address_space_access_valid
The old-style IOMMU lets you check whether an access is valid in a
given DMAContext. There is no equivalent for AddressSpace in the
memory API, implement it with a lookup of the dispatch tree.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c353e4cc08a2fce7c505dd0d04512ef3947adff8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:02:39 2013 +0200
exec: implement .valid.accepts for subpages
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d2702032b4746515cff0bf29891a6b6decfc3d86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 11:55:06 2013 +0200
memory: export memory_region_access_valid to exec.c
We'll use it to implement address_space_access_valid.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82f2563fc81532e24380085d23a9d32c17b74169
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 11:59:43 2013 +0200
exec: introduce memory_access_size
This will be used by address_space_access_valid too.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2bbfa05d20067de0d032d832ae22c1041f4c89c2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:29:54 2013 +0200
exec: introduce memory_access_is_direct
After the previous patches, this is a common test for all read/write
functions.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d17d45e95f497e67aa48ff9e49a4ad62bb1e17df
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:21:01 2013 +0200
exec: expect mr->ops to be initialized for ROM
There is no need to use the special phys_section_rom section.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2cdfcf272d1a38e22879aecae83e95be51369b2d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:55:52 2013 +0200
memory: assign MemoryRegionOps to all regions
This allows to remove the checks on section->readonly. Simply,
write accesses to ROM will not be considered "direct" and will
go through mr->ops without any special intervention.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d197063fcf969e1269dc53c9c9e9a073f87aa3b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 13:23:38 2013 +0200
memory: move unassigned_mem_ops to memory.c
reservation_ops is already doing the same thing.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 149f54b53b7666a3facd45e86eece60ce7d3b114
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:59:37 2013 +0200
memory: add address_space_translate
Using phys_page_find to translate an AddressSpace to a MemoryRegionSection
is unwieldy. It requires to pass the page index rather than the address,
and later memory_region_section_addr has to be called. Replace
memory_region_section_addr with a function that does all of it: call
phys_page_find, compute the offset within the region, and check how
big the current mapping is. This way, a large flat region can be written
with a single lookup rather than a page at a time.
address_space_translate will also provide a single point where IOMMU
forwarding is implemented.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b018ddf633f77195e9ae859c6d940a334e68879f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:48:38 2013 +0200
memory: dispatch unassigned accesses based on .valid.accepts
This provides the basics for detecting accesses to unassigned memory
as soon as they happen, and also for a simple implementation of
address_space_access_valid.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bf8d5166395612b4e856fad57606eb0cff97ae2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:39:13 2013 +0200
exec: do not use error_mem_read
We will soon reach this case when doing (unaligned) accesses that
span partly past the end of memory. We do not want to crash in
that case.
unassigned_mem_ops and rom_mem_ops are now the same.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0844e007624acb6dbf45bfb232286ce9502b424e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:37:28 2013 +0200
exec: make io_mem_unassigned private
There is no reason to avoid a recompile before accessing unassigned
memory. In the end it will be treated as MMIO anyway.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f3e03cb73dce9eac207cfe0f37d87d6490421a0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 16:45:30 2013 +0200
cputlb: simplify tlb_set_page
The same "if" condition is repeated twice.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ae4e43e80f3e1e65d096ebbc643eed9d763e1441
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 17:14:05 2013 +0200
exec: drop useless #if
This code is only compiled for softmmu targets.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2a8e7499093cd33a607ebd7c1cd591169aa68a3e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 14:34:08 2013 +0200
exec: eliminate io_mem_ram
It is never used, the IOTLB always goes through io_mem_notdirty.
In fact in softmmu_template.h, if it were, QEMU would crash just
below the tests, as soon as io_mem_read/write dispatches to
error_mem_read/write.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 87d23f78aa79b72da022afda358bbc8a8509ca70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue May 28 13:20:23 2013 +0300
virtio-pci: drop unused wmb macro
The implementation is wrong for kvm, and it's unused anyway.
Drop it.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130528102023.GA30055@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 04129606170ec9011d4952b4f22c368679bedbf9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon May 27 15:28:51 2013 +0200
tests: set MALLOC_PERTURB_ to expose memory bugs
glibc wipes malloc(3) memory when the MALLOC_PERTURB_ environment
variable is set. The value of the environment variable determines the
bit pattern used to wipe memory. For more information, see
http://udrepper.livejournal.com/11429.html.
Set MALLOC_PERTURB_ for gtester and qemu-iotests. Note we pick a random
value from 1 to 255 to expose more bugs. If you need to reproduce a
crash use 'show environment' in gdb to extract the MALLOC_PERTURB_
value from a core dump.
Both make check and qemu-iotests pass with MALLOC_PERTURB_ enabled.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1369661331-28041-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dafb82e0fc89b631d25f8def649fbfd14fec3db2
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:27 2013 -0700
pc_sysfw: allow flash (-pflash) memory to be used with KVM
When pc-sysfw.rom_only == 0, flash memory will be
usable with kvm. In order to enable flash memory mode,
a pflash device must be created. (For example, by
using the -pflash command line parameter.)
Usage of a flash memory device with kvm requires
KVM_CAP_READONLY_MEM, and kvm will abort if
a flash device is used with an older kvm which does
not support this capability.
If a flash device is not used, then qemu/kvm will
operate in the original rom-mode.
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-5-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 235e8982ad393e5611cb892df54881c872eea9e1
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:26 2013 -0700
kvm: support using KVM_MEM_READONLY flag for regions
For readonly memory regions and rom devices in romd_mode,
we make use of the KVM_MEM_READONLY. A slot that uses
KVM_MEM_READONLY can be read from and code can execute from the
region, but writes will exit to qemu.
For rom devices with !romd_mode, we force the slot to be
removed so reads or writes to the region will exit to qemu.
(Note that a memory region in this state is not executable
within kvm.)
v7:
* Update for readable => romd_mode rename (5f9a5ea1)
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> (v4)
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (v5)
Message-id: 1369816047-16384-4-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit df9c8b758a04825e23f82427001028342b92d0cf
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:25 2013 -0700
kvm: add kvm_readonly_mem_enabled
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-3-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dade922f357c709c02eed2e1b1891453896756dd
Author: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Date: Wed May 29 01:27:24 2013 -0700
isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS)
The isapc machine with seabios currently requires the BIOS region
to be read/write memory rather than read-only memory.
KVM currently cannot support the BIOS as a ROM region, but qemu
in non-KVM mode can. Based on this, isapc machine currently only
works with KVM.
To work-around this isapc issue, this change avoids marking the
BIOS as readonly for isapc.
This change also will allow KVM to start supporting ROM mode
via KVM_CAP_READONLY_MEM.
Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369816047-16384-2-git-send-email-jordan.l.justen@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 338ea905e948613607c98346e127fc9472c57f0d
Merge: 1afd566... db431f6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:13:20 2013 -0500
Merge remote-tracking branch 'aneesh/for-upstream' into staging
# By Aneesh Kumar K.V (3) and Gabriel de Perthuis (1)
# Via Aneesh Kumar K.V
* aneesh/for-upstream:
hw/9pfs: Be robust against paths without FS_IOC_GETVERSION
hw/9pfs: Use O_NOFOLLOW when opening files on server
hw/9pfs: use O_NOFOLLOW for mapped readlink operation
hw/9pfs: Fix segfault with 9p2000.u
Message-id: 87zjvevx4s.fsf@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1afd566ce921493a13b3878662b5320aab7645d0
Merge: 46a352a... 2ba9de6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:13:09 2013 -0500
Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging
# By Peter Maydell
# Via Andreas Färber
* afaerber-or/cocoa-for-upstream:
cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory
cocoa: Avoid deprecated NSOpenPanel filename method
cocoa: Avoid deprecated CPS* functions
cocoa: Fix leaks of NSScreen and NSConcreteMapTable
commit 46a352a7d7a47b3733ae76c0a0906d6934f81fc0
Merge: c199707... 60d9538...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:12:53 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.6' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.6:
chardev: fix "info chardev" output
Revert "chardev: Get filename for new qapi backend"
Message-id: 1369722844-24345-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c199707ad0dcbb4a72e7435551c7f23b9606a063
Merge: 6a4e177... 6683d7b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 29 08:12:25 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.2.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2.2:
update seabios to release 1.7.2.2
Revert "roms: switch oldnoconfig to olddefconfig"
Message-id: 1369736932-16627-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ba9de6ed0455f5c55e4fb1841e1597204535430
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:49 2013 +0000
cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory
In MacOSX 10.6 and above the NSOpenPanel beginSheetForDirectory
method is deprecated. Use the preferred replacements instead.
We retain the original code for use on earlier MacOSX versions
because the replacement methods don't exist before 10.6.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 8bb3f1e3742ca8d26af7156e14068435437918a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:48 2013 +0000
cocoa: Avoid deprecated NSOpenPanel filename method
Avoid the NSOpenPanel filename method (deprecated in MacOSX 10.6)
in favour of using the URL method and extracting the path from the
resulting NSUrl object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 42a5dfe75f455fe7f3619ce44b7eb025ba631ee8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:47 2013 +0000
cocoa: Avoid deprecated CPS* functions
The functions CPSGetCurrentProcess and CPSEnableForegroundOperation
are deprecated in newer versions of MacOSX and cause warning messages
to be logged to the system log. Instead, use the new preferred method
of promoting our console process up to a graphical app with menubar
and Dock icon, which is TransformProcessType. (This function came
in with MacOSX 10.3, so there's no need to retain the old method as
we don't support anything earlier than 10.3 anyway.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 6e657e64cdc478461c1e6a5e81c6d23115664326
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 22 10:29:46 2013 +0000
cocoa: Fix leaks of NSScreen and NSConcreteMapTable
On MacOSX 10.8 QEMU provokes system log messages:
11/03/2013 17:03:29.998 qemu-system-arm[42586]: objc[42586]: Object
0x7ffbf9c2f3b0 of class NSScreen autoreleased with no pool in place - just
leaking - break on objc_autoreleaseNoPool() to debug
11/03/2013 17:03:29.999 qemu-system-arm[42586]: objc[42586]: Object
0x7ffbf9c3a010 of class NSConcreteMapTable autoreleased with no pool in
place - just leaking - break on objc_autoreleaseNoPool() to debug
This is because we call back into Cocoa from threads other than
the UI thread (specifically from the CPU thread). Since we created
these threads via the POSIX API rather than NSThread, they don't have
automatically created autorelease pools. Guard all the functions where
QEMU can call back into the Cocoa UI code with autorelease pools
so that we don't leak any Cocoa objects.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 6683d7bc2759e9da8b5c4907a9de85d500933ffb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 28 12:17:50 2013 +0200
update seabios to release 1.7.2.2
git shortlog from 1.7.2.1
Asias He (2):
virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
Kevin O'Connor (1):
Cache boot-fail-wait to avoid romfile access after POST.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 19cd090e17b293b49eec59346df94a668f5d2438
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 28 12:09:41 2013 +0200
Revert "roms: switch oldnoconfig to olddefconfig"
This reverts commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181.
Breaks "make bios" in roms/ as the kconfig version in seabios doesn't
support olddefconfig. Must have been be totally untested.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit db431f6adc881a0758512cd765b3108209013512
Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx>
Date: Fri May 10 19:53:28 2013 +0200
hw/9pfs: Be robust against paths without FS_IOC_GETVERSION
9P optionally uses the FS_IOC_GETVERSION ioctl to get information about
a file's version (sometimes called generation number).
The code checks for supported filesystems at mount time, but some paths
may come from other mounted filesystems.
Change it to treat unsupported paths the same as unsupported
filesystems, returning 0 in both cases.
Note: ENOTTY is the error code for an unsupported ioctl.
This fix allows booting a linux kernel with the same / filesystem as the
host; otherwise the boot fails when mounting devtmpfs.
Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 0ceb092e35f9d8793d64d86194ec9463718dffa3
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 19:43:15 2013 +0530
hw/9pfs: Use O_NOFOLLOW when opening files on server
9p server should never follow a symlink. So use O_NOFOLLOW with all open
syscall
Tested-by: "M. Mohan Kumar" <mohan@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit aed858ce10ef09c7bdf03f73e75e772f567c74cd
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 17:28:29 2013 +0530
hw/9pfs: use O_NOFOLLOW for mapped readlink operation
With mapped security models like mapped-xattr and mapped-file, we save the
symlink target as file contents. Now if we ever expose a normal directory
with mapped security model and find real symlinks in export path, never
follow them and return proper error.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit c7e587b73ebac05943df78f5f37d80d32ff47d3d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 11:29:52 2013 +0530
hw/9pfs: Fix segfault with 9p2000.u
When guest tries to chmod a block or char device file over 9pfs,
the qemu process segfaults. With 9p2000.u protocol we use wstat to
change mode bits and client don't send extension information for
chmod. We need to check for size field to check whether extension
info is present or not.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Acked-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 60d95386abf1f5f37ded6a812d12ac458df2491b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 27 12:41:24 2013 +0200
chardev: fix "info chardev" output
Fill unset CharDriverState->filename with the backend name, so
'info chardev' will return at least the chardev type. Don't
touch it in case the chardev init function filled it already,
like the socket+pty chardevs do for example.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3022e6b472d0f6d56efbe890e0f1c94841b170d4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 27 12:38:58 2013 +0200
Revert "chardev: Get filename for new qapi backend"
Does not handle chardevs created via chardev-add monitor command.
This reverts commit 2b220025993e76d4116781ca91a4fabc5ad9c722.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Apr 14 18:10:28 2013 +0000
Remove Sun4c, Sun4d and a few CPUs
Sun4c and Sun4d architectures and related CPUs are not fully implemented
(especially Sun4c MMU) and there has been no interest for them.
Likewise, a few CPUs (Cypress, Ross etc) are only half implemented.
Remove the machines and CPUs, they can be re-added if needed later.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4f6ab397b60615d2da77bff4f32666be9ac2e949
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri May 24 19:01:07 2013 -0400
Remove OSS support for OpenBSD
Remove the OSS support for OpenBSD. The OSS API has not been usable
for quite some time.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5b35b4e91d4d023d44dc28437ae414a21e9b8117
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:03 2013 +0100
target-arm: Remove gen_{ld,st}* definitions
All the uses of the gen_{ld,st}* functions are gone now, so remove
the functions themselves.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e2592fad1720d848699f32e67882b611bbed2cb5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:02 2013 +0100
target-arm: Remove gen_{ld,st}* from thumb2 decoder
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c40c85560b6a9bf272dcc7de1beb8910f240bae8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:01 2013 +0100
target-arm: Remove gen_{ld,st}* from Thumb insns
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5a839c0d54fac9db0516904db873a4fe01f50f4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 13:00:00 2013 +0100
target-arm: Remove gen_{ld,st}* from basic ARM insns
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 94ee24e7fbb0d6d6fd63627c2e89d2513cb7b893
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:59 2013 +0100
target-arm: Remove use of gen_{ld,st}* from ldrex/strex
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 58ab8e96469955f8b575bfe1f6b1e992f8f36c0f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:58 2013 +0100
target-arm: Remove uses of gen_{ld,st}* from Neon code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 29531141a7658cfb9f6e5f72a685c3859a5fff8b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:57 2013 +0100
target-arm: Remove uses of gen_{ld,st}* from iWMMXt code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8ed1237d6401e0bd9461417b58b07e545bbc4b7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:56 2013 +0100
target-arm: Remove gen_ld64() and gen_st64()
gen_ld64() and gen_st64() are used only in one place, so just
expand them out.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 39d5492a186d156d4acc306ae258d7e04f8a6c29
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu May 23 12:59:55 2013 +0100
target-arm: Don't use TCGv when we mean TCGv_i32
TCGv changes size depending on the compile time value of
TARGET_LONG_BITS. This is useful for generating code for MIPS style
"instructions are the same but the register width changes" CPUs, and
also for the generic bits of QEMU which operate on "width of a
virtual address" values, but mostly in the ARM target code we were
using it purely as a shorthand for "any 32 bit value".
This needs to change in preparation for AArch64 support, since an
AArch64-capable v8 core will have 64 bit virtual addresses but still
use 32 bit values for the 32 bit instruction set.
This patch mechanically converts all the occurrences of TCGv,
tcg_temp_new(), tcg_temp_free(), tcg_temp_local_new() and
TCGV_UNUSED() to their explicitly 32 bit counterparts. This is
correct for everything except the arguments to tcg_gen_qemu_{ld,st}*,
which really do need to be TCGv and so will require a 32-to-64
conversion when building the 32 bit code for AArch64. Those changes
will be in a separate patch for easier review.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fd469df97ab4277411ecdd4032a2f045a3a87b2a
Merge: 4a542df... fd29893...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:42 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (11) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
memory: clean up phys_page_find
memory: populate FlatView for new address spaces
memory: limit sections in the radix tree to the actual address space
size
s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62
memory: fix address space initialization/destruction
memory: make memory_global_sync_dirty_bitmap take an AddressSpace
memory: do not duplicate memory_region_destructor_none
memory: Rename readable flag to romd_mode
memory: Replace open-coded memory_region_is_romd
memory: allow memory_region_find() to run on non-root memory regions
memory: assert that PhysPageEntry's ptr does not overflow
exec: eliminate stq_phys_notdirty
exec: make qemu_get_ram_ptr private
exec: eliminate qemu_put_ram_ptr
exec: remove obsolete comment
Message-id: 1369414987-8839-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a542df0910dff2caf17d6bb76bbf3704197db42
Merge: 4c5dad0... 00b7ade...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:33 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Alasdair McLeay (1) and Stefan Hajnoczi (1)
# Via Stefan Hajnoczi
* stefanha/net:
rtl8139: flush queued packets when RxBufPtr is written
net: support for bridged networking on Mac OS X
Message-id: 1369406295-20411-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4c5dad040bce8f8c9924dc72cfac9380e4ffdc26
Merge: 64afc2b... 02ffb50...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 24 13:47:25 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Wenchao Xia (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
coroutine: stop using AioContext in CoQueue
coroutine: protect global pool with a mutex
qemu-iotests: Try creating huge qcow2 image
qcow2.py: Subcommand for changing header fields
qemu-io: Fix 'map' output
blockdev: Rename BlockdevAction -> TransactionAction
block: make all steps in qmp_transaction() as callback
block: package rollback code in qmp_transaction()
block: package committing code in qmp_transaction()
block: move input parsing code in qmp_transaction()
block: package preparation code in qmp_transaction()
Message-id: 1369405947-14818-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd2989341e758813351c2fc1446cc8fbcae06ad9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 20 12:21:07 2013 +0200
memory: clean up phys_page_find
Remove the goto.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f43793c7caab49c68b41c3b8524fc35b4c206856
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 15:39:51 2013 +0200
memory: populate FlatView for new address spaces
Even a new address space might have a non-empty FlatView. In order
to initialize it properly, address_space_init should (a) call
memory_region_transaction_commit after the address space is inserted
into the list; (b) force memory_region_transaction_commit to do something.
This bug was latent so far because all address spaces started empty,
including
the PCI address space where the bus master region is initially disabled.
However, the target address space of an IOMMU is usually rooted at
get_system_memory(), which might not be empty at the time the IOMMU is
created.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 86a8623692b1b559a419a92eb8b6897c221bca74
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:45 2012 +0200
memory: limit sections in the radix tree to the actual address space size
The radix tree is statically sized to fit TARGET_PHYS_ADDR_SPACE_BITS.
If a larger memory region is registered, it will overflow.
Fix by limiting any section in the radix tree to the supported size.
This problem was not observed earlier since artificial regions (containers
and aliases) are eliminated by the memory core, leaving only device
regions
which have reasonable sizes. An IOMMU however cannot be eliminated by the
memory core, and may have an artificial size.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
[ Fail the build if TARGET_PHYS_ADDR_SPACE_BITS is too large - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 311f83ca08c011b048c063c2fd3038a8957970bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 15:54:44 2013 +0200
s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62
With the next patch, the memory API will complain if the
TARGET_PHYS_ADDR_SPACE_BITS gets dangerously close to an
overflow. s390x can handle up to 64 bit of physical address
space from its page tables, but we never use that much. Just
decrease the value.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4c19eb721a5929f2277d33a98bb59963c58c2e3b
Author: Avi Kivity <avi.kivity@xxxxxxxxx>
Date: Tue Oct 30 13:47:44 2012 +0200
memory: fix address space initialization/destruction
A couple of fields were left uninitialized. This was not observed earlier
because all address spaces were statically allocated. Also free
allocation
for those fields.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1d671369c3f8eb2b5dfd0e1709688faba9b85f95
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 24 10:46:55 2013 +0200
memory: make memory_global_sync_dirty_bitmap take an AddressSpace
Since this is a MemoryListener operation, it only makes sense
on an AddressSpace granularity.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5553e3a5c95f4a842489384a2fafb27d7555a4ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 3 17:18:36 2013 +0200
memory: do not duplicate memory_region_destructor_none
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5f9a5ea1c0a8391033e7d33abd335dd804a1001a
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue May 7 19:04:25 2013 +0200
memory: Rename readable flag to romd_mode
"Readable" is a very unfortunate name for this flag because even a
rom_device region will always be readable from the guest POV. What
differs is the mapping, just like the comments had to explain already.
Also, readable could currently be understood as being a generic region
flag, but it only applies to rom_device regions.
So rename the flag and the function to modify it after the original term
"ROMD" which could also be interpreted as "ROM direct", i.e. ROM mode
with direct access. In any case, the scope of the flag is clearer now.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4b81126e3399bfbcc47a4d696902c93401169f72
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon May 6 18:07:05 2013 +0200
memory: Replace open-coded memory_region_is_romd
Improves readability.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 73034e9e087aa51b85cf86b6c81ef92f7e1e9d09
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 15:48:28 2013 +0200
memory: allow memory_region_find() to run on non-root memory regions
memory_region_find() is similar to registering a MemoryListener and
checking for the MemoryRegionSections that come from a particular
region. There is no reason for this to be limited to a root memory
region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 68f3f65b09a1ce8c82fac17911ffc3bb6031ebe4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 7 11:30:23 2013 +0200
memory: assert that PhysPageEntry's ptr does not overflow
While sized to 15 bits in PhysPageEntry, the ptr field is ORed into the
iotlb entries together with a page-aligned pointer. The ptr field must
not overflow into this page-aligned value, assert that it is smaller than
the page size.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8b0d6711a276bdb9edcd9299b194c7c0d6b56a88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 20 12:40:58 2013 +0200
exec: eliminate stq_phys_notdirty
It is not used anywhere.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ee983cb3cc8f856b408a272269f434cc9a82ceff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 11:47:56 2013 +0200
exec: make qemu_get_ram_ptr private
It is a private interface between exec.c and memory.c.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4f39178b3ab54538759df92a38655063f5d59301
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 11:44:02 2013 +0200
exec: eliminate qemu_put_ram_ptr
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bbcfd2913cdb8623d1c57fa26bf481f34bf7989a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 11 15:33:16 2013 +0200
exec: remove obsolete comment
See how we call memory_region_section_addr two lines below to
convert a physical address to a base address in the region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 00b7ade807b5ce6779ddd86ce29c5521ec5c529a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed May 22 14:50:18 2013 +0200
rtl8139: flush queued packets when RxBufPtr is written
Net queues support efficient "receive disable". For example, tap's file
descriptor will not be polled while its peer has receive disabled. This
saves CPU cycles for needlessly copying and then dropping packets which
the peer cannot receive.
rtl8139 is missing the qemu_flush_queued_packets() call that wakes the
queue up when receive becomes possible again.
As a result, the Windows 7 guest driver reaches a state where the
rtl8139 cannot receive packets. The driver has actually refilled the
receive buffer but we never resume reception.
The bug can be reproduced by running a large FTP 'get' inside a Windows
7 guest:
$ qemu -netdev tap,id=tap0,...
-device rtl8139,netdev=tap0
The Linux guest driver does not trigger the bug, probably due to a
different buffer management strategy.
Reported-by: Oliver Francke <oliver.francke@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d73fe37e7bab4ef06b94c48b2a8d8952c03619d4
Author: Alasdair McLeay <alasdair.mcleay@xxxxxx>
Date: Thu May 9 19:44:30 2013 +0100
net: support for bridged networking on Mac OS X
tun tap can be implemented on Mac OS X using
http://tuntaposx.sourceforge.net
It behaves in the same way as FreeBSD/OpenBSD implementations, but Qemu
needs a patch to use the OpenBS/FreeBSD code.
As per the patch listed in this forum thread:
http://forum.gns3.net/post17679.html#p17679
And also as used in the MacPorts installation:
https://trac.macports.org/browser/trunk/dports/emulators/qemu/files/patch-net-tap-interface.diff
Signed-off-by: Alasdair McLeay <alasdair.mcleay@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02ffb504485f0920cfc75a0982a602f824a9a4f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri May 17 15:51:26 2013 +0200
coroutine: stop using AioContext in CoQueue
qemu_co_queue_next(&queue) arranges that the next queued coroutine is
run at a later point in time. This deferred restart is useful because
the caller may not want to transfer control yet.
This behavior was implemented using QEMUBH in the past, which meant that
CoQueue (and hence CoMutex and CoRwlock) had a dependency on the
AioContext event loop. This hidden dependency causes trouble when we
move to a world with multiple event loops - now qemu_co_queue_next()
needs to know which event loop to schedule the QEMUBH in.
After pondering how to stash AioContext I realized the best solution is
to not use AioContext at all. This patch implements the deferred
restart behavior purely in terms of coroutines and no longer uses
QEMUBH.
Here is how it works:
Each Coroutine has a wakeup queue that starts out empty. When
qemu_co_queue_next() is called, the next coroutine is added to our
wakeup queue. The wakeup queue is processed when we yield or terminate.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b84c4586234b26ccc875595713f6f4491e5b3385
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri May 17 15:51:25 2013 +0200
coroutine: protect global pool with a mutex
The coroutine freelist is a global pool of unused coroutines. It avoids
the setup/teardown overhead associated with the coroutine lifecycle.
Since the pool is global, we need to synchronize access so that
coroutines can be used outside the BQL.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd91ecbf5b43b52321c4d938e16a612b9c68bf06
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 14:11:13 2013 +0200
qemu-iotests: Try creating huge qcow2 image
It's supposed to fail gracefully instead of segfaulting.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c93331c9146719958a4b102435fcd0566da45ea2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 14:00:15 2013 +0200
qcow2.py: Subcommand for changing header fields
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a00e81e98f71c91a35b96bcd8ae431a86f42378d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 15:31:34 2013 +0200
qemu-io: Fix 'map' output
The output of the 'map' command in qemu-io used to directly resemble
bdrv_is_allocated() and could contain many lines for small chunks that
all have the same allocation status. After this patch, they will be
coalesced into a single output line for a large chunk.
As a side effect, the command gains some error handling.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c8a83e8500329d82f1282c4905be11a39078007f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 13 10:43:43 2013 +0200
blockdev: Rename BlockdevAction -> TransactionAction
There's no reason to restrict transactions to operations related to
block devices, so rename the type now before schema introspection stops
us from doing so.
Also change the schema documentation of 'transaction' to not refer to
block devices or snapshots any more.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba0c86a34e29b31ef360feda74c94200a5403fdd
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:16 2013 +0800
block: make all steps in qmp_transaction() as callback
Make it easier to add other operations to qmp_transaction() by using
callbacks, with external snapshots serving as an example implementation
of the callbacks.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 96b86bf72de0c6eda2799201517ef32910beb340
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:15 2013 +0800
block: package rollback code in qmp_transaction()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3b0047e86a1c215d830b1ae1da0778db4636b83a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:14 2013 +0800
block: package committing code in qmp_transaction()
The code is simply moved into a separate function.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e2a31e8798e8246bed8ab396a71cd06bf95edde6
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:13 2013 +0800
block: move input parsing code in qmp_transaction()
The code is moved into preparation function, and changed
a bit to tip more clearly what it is doing.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9b9877ee9f1c27588a286f591852c0b7c0548b6a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed May 8 18:25:12 2013 +0800
block: package preparation code in qmp_transaction()
The code before really committing is moved into a function. Most
code is simply moved from qmp_transaction(), except that on fail it
just returns now. Other code such as input parsing is not touched,
to make it easier in review.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64afc2b4d48fb21e085517c38a59a3f61a11283c
Merge: 95de21a... 70e098a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 23 14:16:34 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michael Roth (10) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: allow to disable the default monitor
ui/input.c: replace magic numbers with macros
qapi: add native list coverage for QMP input visitor tests
qapi: add native list coverage for QMP output visitor tests
qapi: add native list coverage for visitor serialization tests
qapi: fix visitor serialization tests for numbers/doubles
qapi: add QMP input test for large integers
json-parser: fix handling of large whole number values
qapi: enable generation of native list code
qapi: qapi-visit.py, native list support
qapi: qapi-visit.py, fix list handling for union types
qapi: qapi-types.py, native list support
Message-id: 1369333232-24145-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70e098af88f79340d420992af526254866a42ddd
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu May 16 12:02:55 2013 -0400
monitor: allow to disable the default monitor
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b2d1674b75563326515cf2178cc1d0a002797a12
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu May 16 13:19:47 2013 +0800
ui/input.c: replace magic numbers with macros
It's clearer to use defined macros than magic numbers.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 199e0f17f23a68c8d619e9e623d970324ed5efc1
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:10 2013 -0500
qapi: add native list coverage for QMP input visitor tests
This exercises schema-generated visitors for native list types and does
some sanity checking on validity of deserialized data.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 83c84667f57637fe5a7a6fc9905d6a9e9589d3e5
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:09 2013 -0500
qapi: add native list coverage for QMP output visitor tests
This exercises schema-generated visitors for native list types and does
some sanity checking on validity of serialized data.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8addacddfece619f1795fcf6cb9a3c49f800e7b9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:08 2013 -0500
qapi: add native list coverage for visitor serialization tests
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 089f26bb735fb414b79f5fa3753910d5339d2a1d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:07 2013 -0500
qapi: fix visitor serialization tests for numbers/doubles
We never actually stored the stringified double values into the strings
before we did the comparisons. This left number/double values completely
uncovered in test-visitor-serialization tests.
Fixing this exposed a bug in our handling of large whole number values
in QEMU's JSON parser which is now fixed.
Simplify the code while we're at it by dropping the
calc_float_string_storage() craziness in favor of GStrings.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e92cfa0d90c618ff1f131c60ef1b27aa6fe69a0a
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:06 2013 -0500
qapi: add QMP input test for large integers
Large integers previously got capped to LLONG_MAX/LLONG_MIN so we could
store them as int64_t. This could lead to silent errors occuring.
Now, we use a double to handle these cases.
Add a test to confirm that QMPInputVisitor handles this as expected if
we're expected an integer value: errors for out of range integer values
that got promoted to doubles in this fashion.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3d5b3ec6d460a92245215aaf7b349b0b9e5ffa25
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:05 2013 -0500
json-parser: fix handling of large whole number values
Currently our JSON parser assumes that numbers lacking a fractional
value are integers and attempts to store them as QInt/int64 values. This
breaks in the case where the number overflows/underflows int64 values
(which
is still valid JSON)
Fix this by detecting such cases and using a QFloat to store the value
instead.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 0b400e792718f59275d5d54c21de9a589b35a81f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:03 2013 -0500
qapi: enable generation of native list code
Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs
qapi-types.c/qapi-visit.c
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7c946bc418db6b2a11f89b3465424fef48f714eb
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:02 2013 -0500
qapi: qapi-visit.py, native list support
Teach visitor generators about native types so they can generate the
appropriate visitor routines.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c664aef551714e91b7d83a28617b6e767db30d11
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:01 2013 -0500
qapi: qapi-visit.py, fix list handling for union types
Currently we assume non-list types when generating visitor routines for
union types. This is broken, since values like ['Type'] need to mapped
to 'TypeList'.
We already have a type_name() function to handle this that we use for
generating struct visitors, so use that here as well.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c0afa9c5f717d0ebf10c70c305974ebbffe4c71f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri May 10 17:46:00 2013 -0500
qapi: qapi-types.py, native list support
Teach type generators about native types so they can generate the
appropriate linked list types.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 95de21a430f7bc4166a153b1f69b1425c8a99c7b
Merge: 3459f01... d2ad502...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 22 08:22:36 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Christophe Lyon (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
target-moxie: replace target_phys_addr_t with hwaddr
Rename hexdump to avoid FreeBSD libutil conflict
remove some double-includes
translate: remove redundantly included qemu/timer.h
Remove twice include of qemu-common.h
fix /proc/self/maps output
Message-id: 51977B44.1000302@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3459f01b2d9612070ec23221a4ccb60a41b775ae
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon May 13 14:20:02 2013 -0600
pci-assign: Add MSI affinity support
To support guest MSI affinity changes update the MSI message any time
the guest writes to the address or data fields.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130513201840.5430.86331.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 644c98587d4ccc09e7592e1688e4e7fa363c5a75
Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Date: Mon May 20 11:18:14 2013 +0300
virtio-net: dynamic network offloads configuration
Virtio-net driver currently negotiates network offloads
on startup via features mechanism and have no ability to
disable and re-enable offloads later.
This patch introduced a new control command that allows
to configure device network offloads state dynamically.
The patch also introduces a new feature flag
VIRTIO_NET_F_CTRL_GUEST_OFFLOADS.
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130520081814.GA8162@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b220025993e76d4116781ca91a4fabc5ad9c722
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 18:27:59 2013 +0800
chardev: Get filename for new qapi backend
This patch sets the filename when the new qapi backend
init from opts.
The previous patch and discussions as link below:
http://patchwork.ozlabs.org/patch/243896/
If anyone who have better idea to fix this please let
me know your suggestions.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1369132079-11377-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a85e60cb994bd95d1537aafbff65816f3de4637
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 18:27:58 2013 +0800
chardev: Make the name of memory device consistent
Now we have memory char device, but the backend name of it
is a little confusion. We actually register it by 'memory', but
the description in qemu-option, the name of open functions
and the new api backend called it 'ringbuf'. It should keep
consistent. This patch named it all to 'memory'.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1369132079-11377-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17bf9735dd5a46d829cfb175703c6a2c254a9aa2
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Tue May 21 12:14:24 2013 -0400
ui/gtk.c: Fix *BSD build of Gtk+ UI
Fix the build of the Gtk+ UI on *BSD systems.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 20130521161324.GA29977@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95916abcf428fb03644468c7fbce64356c6483c0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed May 22 11:19:16 2013 +1000
qom/object: Don't poll cast cache for NULL objects
object_dynamic_cast_assert used to be tolerant of NULL objects and not
assert. It's clear from the implementation that this is the expected
behavior.
The preceding check of the cast cache dereferences obj however causing
a segfault. Fix by conditionalizing the cast cache logic on obj being
non-null.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
8e2bef6a55753869c50bfa32226f7fcf0439ca62.1369183592.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d1bba20913356ff4f8ff2c38519f10c5f4b77e6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed May 22 13:01:43 2013 +1000
glib: Fix some misuses of gsize/size_t types
This unbreaks cross compile builds:
configure --target-list="i386-softmmu" --cpu=i386
When building on a 64bit machine.
Reported-by: David Holsgrove <david.holsgrove@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id:
926326e96fd8685d74e9d5bf430fe4ad97a55289.1369191585.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1239b472bb0dba8060f1af29d40dafbc1b2860d4
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri May 17 14:51:21 2013 -0700
linux-user: Save the correct resume address for MIPS signal handling
The current ISA mode needs to be saved in bit 0 of the resume address.
If the current instruction happens to be in a branch delay slot, then
the address of the preceding jump instruction should be stored instead.
exception_resume_pc already does both of these tasks, so it is
made available and reused.
MIPS_HFLAG_BMASK in hflags is cleared, otherwise QEMU may treat the
first instruction of the signal handler as a delay slot instruction.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ea3164aafccdfdd8a9543787cdfa25fac30a5def
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Fri May 17 14:51:20 2013 -0700
linux-user: Fix MIPS ISA transitions during signal handling
Processors supporting the MIPS16 or microMIPS ISAs set bit 0 in target
addresses to indicate that the target is written using a compressed ISA.
During signal handling, when jumping to or returning from a signal
handler, bit 0 of the destination PC is inspected and MIPS_HFLAG_M16 in
hflags cleared or set accordingly. Bit 0 of the PC is then cleared.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d8992825aedbb83b7a0e98284e0527bc82a6f7df
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 03:35:37 2013 +0200
target-mips: clean-up in BIT_INSV
This is a small follow-up change to "fix incorrect behaviour for INSV".
It includes two minor modifications:
- sizefilter is constant so it can be moved inside of the block,
- several lines of the code are replaced with a call to deposit64.
No functional change.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9ce0e9275434bacdeba42dd32e0e8269293fe2cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 20 10:55:18 2013 -0500
Open up 1.6 development
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 371386fb60961e0afc02f03c817dff79633e323e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 20 07:22:02 2013 -0500
Update version for 1.5.0 release.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da4c1a7a850176cde4840eaec0a19c305843ad21
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon May 20 12:33:08 2013 +0200
osdep: fix qemu_anon_ram_free trace (+ fix compilation on 32 bit hosts)
Commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 added a trace at each
memory freeing, but unfortunately inverted size and pointer when printing
them. Fix trace.
This also led to a compilation error on 32 bit hosts:
In file included from include/trace.h:4:0,
from trace/generated-events.c:3:
./trace/generated-tracers.h: In function â??trace_qemu_anon_ram_freeâ??:
./trace/generated-tracers.h:64:9: error: format â??%zuâ?? expects
argument of type
â??size_tâ??, but argument 3 has type â??void *â?? [-Werror=format]
./trace/generated-tracers.h:64:9: error: format â??%pâ?? expects argument
of type
â??void *â??, but argument 4 has type â??size_tâ?? [-Werror=format]
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Message-id: 1369045989-14016-1-git-send-email-hpoussin@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3568ac2a6e6df89cea52a56f70b95af9e1251bbd
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu May 16 11:32:28 2013 -0400
Rename hexdump to avoid FreeBSD libutil conflict
On FreeBSD libutil is used for openpty(), but it also provides a hexdump()
which conflicts with QEMU's.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368718348-15199-1-git-send-email-emaste@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd2a2e1c552cb47ca196552457e175c889b58478
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon May 20 12:46:20 2013 +0200
vl: new runstate transition: RUN_STATE_GUEST_PANICKED ->
RUN_STATE_FINISH_MIGRATE
This fixes a problem that after guest panic happens, virsh dump without
--memory-only fails:
ERROR: invalid runstate transition: 'guest-panicked' -> 'finish-migrate'
Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1369046780-17498-1-git-send-email-pbonzini@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08d0ab3fe6bc9dfb80967a0b7d3109bc9ec7585b
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon May 20 14:51:03 2013 +0800
chardev: Make consistent with udp device for new qapi backend
When register and open a chardev udp, the backend name should be udp
not dgram, and we do not have backend dgram in the chardev list. This
patch makes the new qapi udp backend consistent with the original
udp device.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1369032665-18159-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9b5df6f0cee6b09ef3b2e5228761dd3c2cdcad7
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun May 19 13:22:11 2013 +0200
ide/macio: fix wrong opaque with TRIM support
Commit 215e47b9 enabled TRIM by default, which revealed a bug in TRIM
support for the IDE macio emulation driver, introduced in d353fb72.
The call to dma_bdrv_io() is using a wrong opaque of type IDEState
instead of DBDMA_io. This patch fixes that.
Fixes LP#1179104
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Tested-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 118d1e4f59c36078a0d76d090d4c16deace47233
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 17:14:35 2013 +0200
target-mips: set carry bit correctly in DSPControl register
First we need to clear the bit and then we set the given value.
Instruction ADDSC sets the bit and instruction ADDWC uses this bit.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0ba365f4a9752a82502e829a3e8cb5f03a1ffc0c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Sat May 18 03:53:41 2013 +0200
target-mips: fix EXTPDP and setting up pos field in the DSPControl reg
This change makes sure that modifications of pos field in the DSPControl
register do not trash other bits in the register. This bug can be
triggered
with the additional test case in mips32-dsp/extpdp.c in this commit.
In addition to this, this change corrects incorrect calculation of the
mask
for EXTPDP.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2ad50210b35c2685640f7df931a0fccb49334f7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed May 15 14:04:29 2013 +0800
target-moxie: replace target_phys_addr_t with hwaddr
target_phys_addr_t has been already replaced by hwaddr, but this
one is introduced after.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3a8ae21bd07e8a02e6e2eb4896790a62f979acda
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu May 16 11:32:28 2013 -0400
Rename hexdump to avoid FreeBSD libutil conflict
On FreeBSD libutil is used for openpty(), but it also provides a hexdump()
which conflicts with QEMU's.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 997aba8e257d183e978e9b08a26aceb4e905378d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue May 14 14:55:17 2013 +0400
remove some double-includes
Some source files #include the same header more than
once for no good reason. Remove second #includes in
such cases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7bc9315d3a6a3c7d437e1c3d0e826121a035444a
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Apr 30 10:59:50 2013 +0800
translate: remove redundantly included qemu/timer.h
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-By: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ce3a4718fe8edbe56b485778a76e9393e4f27c0e
Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Wed May 8 12:39:01 2013 +0800
Remove twice include of qemu-common.h
This patch is used to remove twice include of "qemu-common.h" in
block/win32-aio.c
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e24fed4ed4cb006c76924dacb1274f71477b9e3c
Author: Christophe Lyon <christophe.lyon@xxxxxxxxxx>
Date: Tue Apr 2 14:03:38 2013 +0200
fix /proc/self/maps output
Add a space at end of line when there is no filename to print, to
conform to linux kernel format (see show_map_vma() in
fs/proc/task_mmu.c).
Signed-off-by: Christophe Lyon <christophe.lyon@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 489ed4bbae309a6d897f6e037481c4c04f0737b5
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon May 13 15:20:26 2013 +0200
target-mips: fix incorrect behaviour for EXTP
The mask for EXTP instruction when size=31 has not been correctly
calculated.
The test (mips32-dsp/extp.c) has been extended to include the case that
triggers the issue.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 91b96cdc5befe56e7d9651189d0cbf06fc3f3902
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 17 10:01:00 2013 -0500
Update version for 1.5.0-rc3 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ce4cc31695ee7e647ef5a3a3c1258089794dcb83
Merge: 77417f1... 2b72001...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 17 10:00:30 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-05-13' into staging
* mdroth/qga-pull-2013-05-13:
qga: unlink just created guest-file if fchmod() or fdopen() fails on it
qga: distinguish binary modes in "guest_file_open_modes" map
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77417f10701d330c7005b0f0a2c0cef9e05d430d
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu May 16 16:25:44 2013 -0500
Revert "migration: don't account sleep time for calculating bandwidth"
This reverts commit 7161082c8d8cf167c508976887a0a63f4db92b51.
Reverting this patch fixes a divide-by-zero error in qemu that can be
fairly reliably triggered by doing block migration. In this case, the
configuration/error was:
source: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios
-M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd
boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive
file=disk1.img,if=virtio -drive file=disk2.img,if=virtio -device
virtio-net-pci,netdev=net0 -netdev user,id=net0 -monitor
unix:/tmp/vm-hmp.sock,server,nowait -qmp
unix:/tmp/vm-qmp.sock,server,nowait -vnc :100
16837 Floating point exception(core dumped)
target: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios
-M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd
boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive
file=target_disk1.img,if=virtio -drive file=target_disk2.img,if=virtio
-device virtio-net-pci,netdev=net0 -netdev user,id=net0 -incoming
unix:/tmp/migrate.sock -monitor
unix:/tmp/vm-hmp-incoming.sock,server,nowait -qmp
unix:/tmp/vm-qmp-incoming.sock,server,nowait -vnc :101
Receiving block device images
20 %
21 %
load of migration failed
This revert potentially re-introduces a bug that was present in 1.4,
but fixes a prevalent issue with block migration so we should revert
it for now and take an updated patch later.
Conflicts:
migration.c
* fixed up to remove logic introduced in 7161082c while leaving
changes in HEAD intact
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Message-id: 1368739544-31021-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3cb8c205e36531a07dff1d8414c9e2cbf04c980b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 16 17:36:01 2013 +0200
main-loop: partial revert of 5e3bc73
This patch reverts part of 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f.
Paolo Bonzini wrote this patch and commented:
"WSAEventSelect is edge-triggered and the event will not be signaled if
the socket handler does not consume all the data in the socket buffer."
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368718561-7816-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8db165b36ef893ac69af0452f20eeb78e7b26b5a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 16 17:36:00 2013 +0200
main-loop: narrow win32 pollfds_fill() event bitmasks
pollfds_fill() and pollfds_poll() translate GPollFD to rfds/wfds/xfds
for sockets on win32. select(2) is the underlying system call which is
used to monitor sockets for activity.
Currently file descriptors that monitor G_IO_ERR will be included in
both rfds and wfds. As a result, select(2) will report writability on
file descriptors where we only really wanted to monitor readability
(with errors).
slirp_pollfds_poll() hit this issue: UDP sockets are blocking sockets so
we hang in sorecvfrom() when G_IO_ERR is set due to the socket being
writable (we only wanted to check for readability).
This patch fixes the slirp_pollfds_poll() hang.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1368718561-7816-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d46895b51103fa26c97ee0e0d895c004e9594d7
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu May 16 19:06:07 2013 +0200
virtio: add virtio_bus_get_dev_path.
This adds virtio_bus_get_dev_path to fix migration id string which is
wrong
since the virtio refactoring.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368723967-21050-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Cc: mdroth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c49fdf137f0ff74804e421f157297ab0ded5d012
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 15 16:38:35 2013 -0500
Update version for 1.5.0-rc2 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6b41659f4eaf1daefd232a7eea6d96885eb52ee7
Merge: 8593e05... ad7f375...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 15 14:57:30 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michael Roth (1) and Zhangleiqiang (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi: fix leak in unit tests
qmp: fix handling of cmd with Equals in qmp-shell
Message-id: 1368625179-27962-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8593e050871c632e245190725b11f1e10c629ff2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 15 17:46:11 2013 +0200
qemu-common: Resolve vector build breakes for AltiVec
On Mac OS X ppc, altivec.h defines "vector", leading to build breakage
when used as variable name, e.g. in tracing code.
Fix this by undefining identifiers after altivec.h inclusion.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1368632771-4328-1-git-send-email-andreas.faerber@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 262f27b93f459ec1dee4100015c109f5e1242091
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 15 15:00:39 2013 +0200
ide-test: Fix endianness problems
The test case passes on big endian hosts now (tested on ppc64)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1368622839-7084-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 913b4b6bf39c97bc503a629b43c66d3270b5f3f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:36 2013 +0100
hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping
Although we try our best to automatically detect broken versions
of Linux which assume the old broken IRQ mapping we used to implement
for our model of the Versatile PCI controller, it turns out that
some particularly new kernels manage to outwit the autodetection.
We therefore provide a property for enabling the old broken IRQ
mapping, so that if users happen to have such a kernel they can
work around its deficiencies with the command line option:
-global versatile_pci.broken-irq-mapping=1
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc04d89165a4be6169cf44f1bdada9d48f8bad4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:35 2013 +0100
hw/pci-host/versatile.c: Update autodetect to detect newer kernels
Newer versatilepb kernels still don't get the IRQ mapping right
for the PCI controller, but they get it differently wrong (they add
a fixed +64 offset to everything they write to PCI_INTERRUPT_LINE).
Update the autodetection to handle these too, and include a more
detailed comment on the various different behaviours that might
be present.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33201b51cbce9f18d6702a56429a4dbbe18a9961
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 16:33:34 2013 +0100
Revert "versatile_pci: Put the host bridge PCI device at slot 29"
This reverts commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6.
It turns out that some kernels incorrectly depend on the
old QEMU behaviour of not putting the host PCI bridge device
where the hardware puts it, because they use a swizzling IRQ
mapping which is incorrect but happens to match up with old
broken QEMU when the slot number mod 4 is zero. Since we
start PCI devices at 11, if we put the host bridge at 29
then the first real PCI device goes at 11 and doesn't work.
Not putting the host bridge at 29 means it defaults to 11,
so the first real PCI device is at 12 and works.
Since continuing with the old behaviour doesn't cause problems
for kernels which do work with hardware, the simplest fix for
this is to revert the change.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368545616-22344-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1405b6290fa2143e02dcede90b116d8d663ae669
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat May 11 21:46:58 2013 +0200
w32: Fix configure test for -march=i486
The latest version of MinGW needs a test for __sync_val_compare_and_swap
to fix a missing symbol linker error.
Reported-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1368301619-32097-2-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2d16c8e9885d4344a264c68feae28ae1e5f1c993
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue May 14 21:36:39 2013 +0100
configure: Detect uuid on MacOSX (fixes compile failure)
Commit 7791dba3ec broke compilation on MacOSX, because it introduced
a new include of util.h. On MacOSX this includes pwd.h which in turn
includes the system uuid/uuid.h, which causes a compile failure if
QEMU was configured without CONFIG_UUID due to a conflict between
the system header and our fallback versions:
block/vdi.c:124:20: error: static declaration of 'uuid_generate'
follows non-static declaration
static inline void uuid_generate(uuid_t out)
^
/usr/include/uuid/uuid.h:63:6: note: previous declaration is here
void uuid_generate(uuid_t out);
^
Fix this breakage by improving configure's check for uuid to work on
MacOSX (where there is no need to link in a separate libuuid).
Note that if the user explicitly runs configure with '--disable-uuid'
on MacOSX then QEMU will fail to compile.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1368563799-22755-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1483adcf6ac978656718d4383d909c96dce395a6
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed May 15 16:20:40 2013 +0800
vnc: Make ledstate comparison before modifiers updated
The ledstate should be compared before modifiers updated,
otherwise the ledstate would be the same as current_led_state.
Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1368606040-11950-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 800ced8cac361c5d492ac82c4aa344ff769ecf2e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed May 15 14:12:50 2013 +0200
virtio-net-x: forward the netclient name and type.
This forwards the name and the type of virtio-net-x to fix the bad
behaviour of "info network" command.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1368619970-23892-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a253ec26ec6eb636c962a47767370f6032b8cf5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed May 15 14:12:49 2013 +0200
virtio-net: add virtio_net_set_netclient_name.
This adds virtio_net_set_netclient_name, which is used to set the
name and type shown in "info network" command.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1368619970-23892-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ad7f375df681503baa6ebef065818868e1216976
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 21:20:57 2013 -0500
qapi: fix leak in unit tests
qmp_output_get_qobject() increments the qobject's reference count. Since
we currently pass this straight into qobject_to_json() so we can feed
the data into a QMP input visitor, we never actually free the underlying
qobject when qmp_output_visitor_cleanup() is called. This causes leaks
on all of the QMP serialization tests.
Fix this by holding a pointer to the qobject and decref'ing it before
returning from qmp_deserialize().
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 74bc9066bc2cf61dd12994ea3b73401d33112656
Author: Zhangleiqiang <zhangleiqiang@xxxxxxxxxx>
Date: Mon May 6 08:31:23 2013 +0000
qmp: fix handling of cmd with Equals in qmp-shell
qmp: fix handling of cmd with equal mark in qmp-shell
qmp-shell splits the argument and value of input command
by equal mark("="). But there are commands whose values
include equal mark themselves, and the json built by
qmp-shell will not correct. For example, when using NBD as
the target of block-backup command, the input
"block-backup target=nbd+unix:///drive0?socket=/tmp/nbd.sock"
will fail, because the json built will be as follows:
{
"execute":"block-backup",
"arguments":{"target":"nbd+unix:///drive0?socket"}
}
Fix it by joining the sections split by equal mark excluding the
first section in __build_cmd function when the length of sections
is larger than two.
Signed-off-by: zhangleiqiang <zhangleiqiang@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 110db9b48c0a6379fca122801c3ae48e349aa6d4
Merge: e7a09b9... f3f4d2c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 14 10:24:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf
# Via Stefan Hajnoczi
* stefanha/block:
block: Add hint to -EFBIG error message
qcow2: Catch some L1 table index overflows
Message-id: 1368543269-29784-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3f4d2c09b9cf46903ba38425ec46c44185162bd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 16:14:34 2013 +0200
block: Add hint to -EFBIG error message
The limit of qcow2 files at least depends on the cluster size. If the
image format has a cluster_size option, suggest to increase it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2cf7cfa1cde6672b8a35bbed3fbc989f28c05dce
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 16:14:33 2013 +0200
qcow2: Catch some L1 table index overflows
This catches the situation that is described in the bug report at
https://bugs.launchpad.net/qemu/+bug/865518 and goes like this:
$ qemu-img create -f qcow2 huge.qcow2 $((1024*1024))T
Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976
encryption=off cluster_size=65536 lazy_refcounts=off
$ qemu-io /tmp/huge.qcow2 -c "write $((1024*1024*1024*1024*1024*1024
- 1024)) 512"
Segmentation fault
With this patch applied the segfault will be avoided, however the case
will still fail, though gracefully:
$ qemu-img create -f qcow2 /tmp/huge.qcow2 $((1024*1024))T
Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976
encryption=off cluster_size=65536 lazy_refcounts=off
qemu-img: The image size is too large for file format 'qcow2'
Note that even long before these overflow checks kick in, you get
insanely high memory usage (up to INT_MAX * sizeof(uint64_t) = 16 GB for
the L1 table), so with somewhat smaller image sizes you'll probably see
qemu aborting for a failed g_malloc().
If you need huge image sizes, you should increase the cluster size to
the maximum of 2 MB in order to get higher limits.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 16:19:56 2013 +0200
osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory
We switched from qemu_memalign to mmap() but then we don't modify
qemu_vfree() to do a munmap() over free(). Which we cannot do
because qemu_vfree() frees memory allocated by qemu_{mem,block}align.
Introduce a new function that does the munmap(), luckily the size is
available in the RAMBlock.
Reported-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1368454796-14989-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6eebf958abf3f3f701116d4524ef88bb9fd6e341
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 13 16:19:55 2013 +0200
osdep, kvm: rename low-level RAM allocation functions
This is preparatory to the introduction of a separate freeing API.
Reported-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1368454796-14989-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d34dc45d34618aa2495e892caba62a4aa521b386
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 14 12:15:54 2013 +0200
readline: Handle xterm escape sequences for Home/End keys
This fixes the Home/End keys in the monitor using the GTK frontend.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1368526554-15866-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7791dba3ec10ab7daa7cfecf84c617594c9776cc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 14:05:21 2013 +0200
portability: pty.h is glibc-specific
This should fix building the GTK+ front-end on BSDs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368533121-30796-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8e846e17cae31bfeee49d4da8a010fad3901cd9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue May 14 14:12:25 2013 +0200
spitz: fix compilation failure due to pty.h namespace pollution
pty.h is polluting the global namespace with a CTRL macro. spitz
thus fails compilation with the patch at
http://article.gmane.org/gmane.comp.emulators.qemu/211337 and
this patch fixes it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368533545-650-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2d3b989529727ccace243b953a181fbae04a30d1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue May 14 14:29:04 2013 +0200
acpi: add dummy write function for acpi timer
Otherwise the guest can crash qemu (NULL pointer dereference).
https://bugzilla.redhat.com/show_bug.cgi?id=947691
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1368534544-11826-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 035873283b3f7514ad77d409870ccfd5f9680d9e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 15:22:24 2013 -0500
qom: aggressively optimize qom casting
This patch adds a small typename cache to ObjectClass. This allows
caching positive casts within each ObjectClass. Benchmarking a
PPC workload provided by Aurelien, this patch eliminates every
single g_hash_table_lookup() happening during the benchmark (which
was about 2 million per-second).
With this patch applied, I get exactly the same performance (within
the margin of error) as with --disable-qom-cast-debug.
N.B. it's safe to cache typenames only from the _assert() macros
because they are always called with string literals.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b087143b4d010451208264b7c841436aafe1cbb1
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri May 10 18:59:45 2013 +0400
ui/gtk.c: do not use gdk_display_warp_pointer when GTK ver >3.0
Commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe "gtk: custom cursor
support"
introduced unconditional usage of gdk_display_warp_pointer(). This
function
is marked as deprecated since GTK-3.0, and triggers warning (error with
-Werror)
during compilation.
Conditionally change gdk_display_warp_pointer() method usage to
gdk_device_warp
usage, as suggested by compiler.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1368197985-44608-1-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9e1c2ec8fd8d9a9ee299ea86c5f6c986fe25e838
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:38:03 2013 +0200
Revert "pc: Kill the "use flash device for BIOS unless KVM" misfeature"
This reverts commit 9953f8822cc316eec9962f0a2858c3439a80adec.
While Markus's analysis is entirely correct, there are 1.6 patches
that fix the bug for real and without requiring machine type hacks.
Let's think of the children who will have to read this code, and
avoid a complicated mess of semantics that differ between <1.5,
1.5, and >1.5.
Conflicts:
hw/i386/pc_piix.c
hw/i386/pc_q35.c
include/hw/i386/pc.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1368189483-7915-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3556c233d931ad5ffa46a35cb25cfc057732ebb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:40 2013 +0200
qom: allow turning cast debugging off
Cast debugging can have a substantial cost (20% or more). Instead of
adding
special-cased "fast casts" in the hot paths, we can just disable it in
releases. The tracing facilities we just added make it easier to analyze
those problems that cast debugging would reveal.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fa131d94a5c00c6bbea39358d4bca7bf98f6c1f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:39 2013 +0200
qom: trace asserting casts
This provides a way to detect the cast that leads to a (reproducible)
crash even when QOM cast debugging is disabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be17f18b8cd438be7f8f65000c0baecdd5b34634
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:38 2013 +0200
qom: pass file/line/function to asserting casts
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 793c96b5403233fd9935c94b2af6d557c297a088
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:37 2013 +0200
qom: add a fast path to object_class_dynamic_cast
For leaf classes, in many cases the callbacks will simply downcast
the object back to the original class. Add this fast path to
object_class_dynamic_cast, object_dynamic_cast will inherit it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf0fda346694db1eddecff1d74ff9f4d5eba3461
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:36 2013 +0200
qom: allow casting of a NULL class
This mimics what we do in object_dynamic_cast_assert.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33bc94eb209864b4aef7f341f0c2b7cd8740396f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 10 14:16:35 2013 +0200
qom: improve documentation of cast functions
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1368188203-3407-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b720018060179b394f8ce736983373ab80dd37c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed May 8 17:31:36 2013 +0200
qga: unlink just created guest-file if fchmod() or fdopen() fails on it
We shouldn't allow guest filesystem pollution on error paths.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8fe6bbca7176c9dfb35083a71bda95c1856e2ed5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed May 8 17:31:35 2013 +0200
qga: distinguish binary modes in "guest_file_open_modes" map
In Windows guests this may make a difference.
Since the original patch (commit c689b4f1) sought to be pedantic and to
consider theoretical corner cases of portability, we should fix it up
where it failed to come through in that pursuit.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f6e136e47a6adc176cb53a24cf5a515ca09f977f
Merge: 879367e... 98b2d19...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 09:44:25 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches-next' into staging
# By Dong Xu Wang (2) and others
# Via Michael Tokarev
* mjt/trivial-patches-next:
osdep.h: include sys/types.h for ssize_t definition
remove double semicolons
clean unnecessary code: don't check g_strdup arg for NULL
docs: mention AddressSpaces in docs/memory.txt
audio: update documentation after removing --audio-card-list option
m25p80.c: Sync Flash chip list with Linux
bsd-user: OS-agnostic 64-bit SYSCTL types
Message-id: 518F61B9.9050803@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 879367efba1f2e9733ff76d03041324b5b76f645
Merge: 38ebb39... 0a2b5e3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 13 09:44:04 2013 -0500
Merge remote-tracking branch 'spice/spice.v70' into staging
# By Hans de Goede
# Via Gerd Hoffmann
* spice/spice.v70:
qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
Message-id: 1368093776-8949-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98b2d199c109c9eabebb70965db0ae24f3f75a79
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri May 10 23:58:21 2013 +0400
osdep.h: include sys/types.h for ssize_t definition
sys/types.h is taken out from "ifdef __OpenBSD__" guard. It should be
safe for other systems, according to following survey:
http://hacks.owlfolio.org/header-survey/
This fixes build for CONFIG_IOVEC-less systems (mingw).
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c7e775e4dda91472ec538101c536ea8950fe1515
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 15:53:50 2013 +0800
remove double semicolons
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7f303adc4f0aaa71b196d9f983150f3ec3367b46
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu May 9 15:53:49 2013 +0800
clean unnecessary code: don't check g_strdup arg for NULL
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2d40178a33293603a06fdf3c0fd9988322bc5fda
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon May 6 18:23:38 2013 +0200
docs: mention AddressSpaces in docs/memory.txt
Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 59d827629360097caa9a4f160680affde84cb4c8
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat May 4 16:17:37 2013 +0200
audio: update documentation after removing --audio-card-list option
Commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c removed the
--audio-card-list option in configure, and commit
8f3b664f6cc4153cc73941c941d54c4e499b7537 always compiled in
the adlib, gus and cs4231a audio cards.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3e758c1df05bcd305cb761beddeb078b67c3ab88
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Wed May 1 10:40:53 2013 -0400
m25p80.c: Sync Flash chip list with Linux
Add new devices for various manufacturers, and re-sort Spansion list to
match the order in Linux, which requires chips with a non-zero extended ID
to come first.
With this commit the outstanding differences to Linux rev 55bf75b are:
- Erase size flag differences in s25sl032p, s25sl064p, s25fl016k,
s25fl064k
(These devices have only some blocks that support small erase sizes.)
- Linux lacks n25q128
- Devices without a Jedec ID have been excluded
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6a3ee5f7981e7df40aa581ebc245fd0a7d3bed0
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Tue Apr 30 09:29:32 2013 -0400
bsd-user: OS-agnostic 64-bit SYSCTL types
Use existence of type as #ifdef condition rather than FreeBSD-specific
version check, as suggested by Patrick Welche.
Also handle the signed (CTLTYPE_S64) case identically to the unsigned
(CTLTYPE_U64) case, per later patches in the FreeBSD ports tree
(emulators/qemu-devel/files/patch-z-arm-bsd-user-001).
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 38ebb396c955ceb2ef7e246248ceb7f8bfe1b774
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu May 9 19:36:41 2013 +0200
target-i386: ROR r8/r16 imm instruction fix
Fix EFLAGS corruption by ROR r8/r16 imm instruction located at the end
of the TB, similarly to commit 089305ac for the non-immediate case.
Reported-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 66e61b55f158ef5628e4c056dd2f233c9351a3f5
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed May 8 22:36:39 2013 +0200
tcg/optimize: fix setcond2 optimization
When setcond2 is rewritten into setcond, the state of the destination
temp should be reset, so that a copy of the previous value is not
used instead of the result.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 23 10:18:16 2013 +0200
qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs
to
know what part of the primary to use for each monitor. If the guest driver
does not support this, the server sends messages to the client for a
single monitor spanning the entire primary.
As soon as the guest calls spice_qxl_monitors_config_async once, the
server
sets the red_worker driver_has_monitors_config flag and stops doing this.
This is a problem when the driver gets unloaded, for example after a
reboot
or when switching to a text vc with usermode mode-setting under Linux.
To reproduce this start a multi-mon capable Linux guest which uses
usermode mode-setting and then once X has started switch to a text vc.
Note
how the client window does not only not resize, if you try to resize it
manually you always keep blackborders since the aspect is wrong.
This patch calls a new spice-server method called spice_qxl_driver_unload
which clears the driver_has_monitors_config flag inside the server,
thereby
fixing this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 47ec15cdd44877e553ed0bd0a16aea8a295dad62
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 8 15:54:47 2013 -0500
Update version for 1.5.0-rc1
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cad2b59c198340a636c5e015fb90e0326a1d3dd7
Merge: 5f5a131... 794d00f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed May 8 15:54:36 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (7) and Fam Zheng (3)
# Via Kevin Wolf
* kwolf/for-anthony:
qemu-iotests: fix 017 018 for vmdk
qemu-iotests: exclude vmdk and qcow from 043
qemu-iotests: exclude vmdk for test 042
qtest/ide-test: Test short and long PRDTs
qtest/ide-test: Add simple DMA read/write test case
qtest: Add IDE test case
libqos/pci: Enable bus mastering
ide: Reset BMIDEA bit when the bus master is stopped
de_DE.po: Add missing leading spaces
ahci: Don't allow creating slave drives
Message-id: 1368023344-29731-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f5a1318653c08e435cfa52f60b6a712815b659d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Tue May 7 13:42:49 2013 +0800
virtio: properly validate address before accessing config
There are several several issues in the current checking:
- The check was based on the minus of unsigned values which can overflow
- It was done after .{set|get}_config() which can lead crash when
config_len
is zero since vdev->config is NULL
Fix this by:
- Validate the address in virtio_pci_config_{read|write}() before
.{set|get}_config
- Use addition instead minus to do the validation
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Petr Matousek <pmatouse@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Petr Matousek <pmatouse@xxxxxxxxxx>
Message-id: 1367905369-10765-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue May 7 15:49:58 2013 +0300
virtio-pci: fix level interrupts
mask notifiers are never called without msix,
so devices with backend masking like vhost don't work.
Call mask notifiers explicitly at
startup/cleanup to make it work.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d551d220c9574b00a318297b8654344e13e0efde
Merge: 554ecc57... 36f48d9...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed May 8 21:02:06 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu:
PPC: Depend behavior of cmp instructions only on instruction encoding
commit 554ecc5774badd181458fe3d6a1624c2ede9f04e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon May 6 19:49:43 2013 +0200
PPC: Fix rldcl
The implementation for rldcl tried to always fetch its
parameters from the opcode, even though the opcode was
already passed in in decoded and different forms.
Use the parameters instead, fixing rldcl.
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 36f48d9c78c438170aa7259bdde67086c9b7e795
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed May 8 15:19:14 2013 +0200
PPC: Depend behavior of cmp instructions only on instruction encoding
When running an L=1 cmp instruction on a 64bit PPC CPU with SF off, it
still behaves identical to what it does when SF is on. Remove the implicit
difference in the code.
Also, on most 32bit CPUs we should always treat the compare as 32bit
compare, as the CPU will ignore the L bit. This is not true for e500mc,
but that's up for a different patch.
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed May 8 13:17:40 2013 +0200
target-mips: fix incorrect behaviour for INSV
Corner case for INSV instruction when size=32 has not been correctly
implemented. The mask for size should be one bit wider, and preparing the
filter variable should be aware of this case too.
The test for INSV has been extended to include the case that triggers the
bug.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 639eadb9a32775e1c70bbf37d347972ca41128d1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed May 8 16:09:04 2013 +0200
target-mips: add missing check_dspr2 for multiply instructions
The emulator needs to check in hflags if DSP unit has been turned off
before
it generates code for MUL_PH, MUL_S_PH, MULQ_S_W, and MULQ_RS_W.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 794d00f71d39e3d18eafade579b2ecb665d6d481
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:05 2013 +0800
qemu-iotests: fix 017 018 for vmdk
017 and 018 use /bin/mv to move base img from t.IMGFMG to t.IMGFMT.base
after filling data, this is not enough for vmdk, when t.IMGFMT is only a
description text file who points to t-{flat,s001,f001,...}.IMGFMT as
data extent, so testing such subformats alway fails on them.
This patch use the trick of temprorily changing TEST_IMG to avoid using
/bin/mv.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbcdd7cb04595cc0015f2dba6be751faa63fab00
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:04 2013 +0800
qemu-iotests: exclude vmdk and qcow from 043
043 tests recursive backing file by changing backing file. VMDK has not
implemented this yet, and qcow1 probably never will.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1afe2726632a3344b92757bacdff57df49ef43e1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue May 7 19:13:03 2013 +0800
qemu-iotests: exclude vmdk for test 042
Zero sized disk is not supported by qemu vmdk driver, exclude vmdk from
the test script.
As tested on vmware-vdiskmanager and vmware workstation, zero sized disk
is not supported by vmware, either.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 948eaed171e0dac541a59b42867f80881399bbd0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 13:30:24 2013 +0100
qtest/ide-test: Test short and long PRDTs
This tests the behaviour of the DMA engine when the given PRDT contains
physical region descriptors for either more or less bytes than the
IDE request is for.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b95739dcf5ae1dfa8cd5b2a5be27d427835e693b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 8 11:34:20 2013 +0200
qtest/ide-test: Add simple DMA read/write test case
This tests that single sectors can be successfully written and correctly
read back.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acbe48013bf1eb9c9a435e76959f409584b35509
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed May 8 11:18:41 2013 +0200
qtest: Add IDE test case
This adds a simple IDE test case and starts by verifying that IDENTIFY
can be successfully used and return the correct serial number, version
and the WCE flag is set for cache=writeback.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f0332b8cf27020d70be92f5e664466f0bcb84ec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 17:00:40 2013 +0100
libqos/pci: Enable bus mastering
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b39f96126549e2834152211a99919917423d2212
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 13 16:53:06 2013 +0100
ide: Reset BMIDEA bit when the bus master is stopped
The device is supposed to reset the Bus Master IDE Active bit in the
status register when 0 is written to the Start/Stop Bus Master bit in
the command register.
In the common cases this happens automatically because bdrv_drain_all()
flushes the requests, but with a large PRDT it could remain set.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3bac85d33716d9024afb8a262a39032bc0bba3ed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue May 7 15:23:41 2013 +0200
de_DE.po: Add missing leading spaces
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0ee20e665840d8a887c145b368ee121cb86a028e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon May 6 15:58:04 2013 +0200
ahci: Don't allow creating slave drives
An IDE bus provided by AHCI can only take a single IDE drive. If you add
a drive as slave, qemu used to accept the command line but the device
wouldn't be actually usable. Catch the situation instead and error out.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15d23fb96656b1ae31bf4305b2108230c29298c6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:50:19 2013 -0500
Update version for qemu-1.5.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b174de51ae397549f58b1b76efa9026b213a1efd
Merge: c689b4f... 4e906d5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:48:31 2013 -0500
Merge remote-tracking branch 'kraxel/usb.82' into staging
# By Gerd Hoffmann (3) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.82:
xhci: handle USB_RET_BABBLE
uhci: Use an intermediate buffer for usb packet data
usb-host: add usb_host_full_speed_compat
usb-host: live migration support for the libusb version
Message-id: 1367920207-1404-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Apr 24 13:13:18 2013 +0200
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:
-rw-rw-rw- 1 root root /var/log/qemu-ga.log
-rw-rw-rw- 1 root root /var/run/qga.state
-rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.
For now mask all file mode bits for "group" and "others" in
become_daemon().
Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d7108d90100d5bac5965abef5ed73f2602adae14
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Apr 26 18:27:40 2013 +0800
virtio-net: properly check the vhost status during status set
Commit 32993698 (vhost: disable on tap link down) tries to disable the
vhost
also when the peer's link is down. But the check was not done properly,
the
vhost were only started when:
1) peer's link is not down
2) virtio-net has already been started.
Since == have a higher precedence than &&, place a brace to make sure
both the
conditions were met then does the check. This fixes the crash when doing
a savem
after set the link off which let qemu crash and complains:
virtio_net_save: Assertion `!n->vhost_started' failed.
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1366972060-21606-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fd8192a5a868ddbb711abbf4a871b09bbb1dae04
Merge: b5803aa... 4458c23...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue May 7 06:32:00 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Eduardo Habkost (6) and others
# Via Andreas Färber
* afaerber/qom-cpu:
target-i386: n270 can MOVBE
target-i386: Introduce generic CPUID feature compat function
target-i386: Change CPUID model of 486 to 8
target-i386: Emulate X86CPU subclasses for global properties
qdev: Introduce qdev_prop_set_globals_for_type()
qdev: Let qdev_prop_parse() pass through Error
target-i386: Add "filtered-features" property to X86CPU
target-i386: Introduce X86CPU::filtered_features field
target-i386: Add "feature-words" property to X86CPU
target-i386: Use FeatureWord loop on filter_features_for_kvm()
target-i386: Add ECX information to FeatureWordInfo
commit 4e906d567a97ee45b4922001bf521dad0bde5268
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 6 12:33:56 2013 +0200
xhci: handle USB_RET_BABBLE
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9822261ce3bfbc7aec8b2a3e378892dc368910ed
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Mon May 6 10:48:57 2013 +0200
uhci: Use an intermediate buffer for usb packet data
Due to various unfortunate reasons we cannot reliable detect a guest
cancelling a packet as soon as it happens, instead we detect cancels
with some delay.
When packets are handled async, and we directly pass the guest memory for
the packet to the usb-device as iovec, this means that the usb-device can
write to guest-memory which the guest has already re-used for other
purposes
-> not good!
This patch fixes this by adding an intermediate buffer and writing back
not
only the result, but also the data, of async completed packets when
scanning
the schedule.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3268cc1135f41264cd26bcb269b3414d3c11453
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon May 6 13:12:16 2013 +0200
usb-host: add usb_host_full_speed_compat
Alloes to pass through usb2 devices on usb1 host controllers if possible.
Brings the libusb implementation to feature-parity with the linux usbfs
code, so the usb-host implementation in 1.5 (libusb) doesn't regress
compared to 1.4 (usbfs).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95efb20c714800de7eaf991f19dab6e7a29d5364
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 14:29:08 2013 +0200
usb-host: live migration support for the libusb version
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5803aa3583e82e5133f7621121bc15ee694f4a1
Merge: fe677fd... 0c1cd0a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 15:45:08 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Marcelo Tosatti
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvmvapic: add ioport read accessor
Message-id: cover.1367844188.git.gleb@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4458c23672904fa131e69897007eeb7c953be7e5
Author: Borislav Petkov <bp@xxxxxxx>
Date: Thu Apr 25 15:43:04 2013 -0300
target-i386: n270 can MOVBE
The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is
needed when booting 3.8 and later linux kernels built with the MATOM
target because we require MOVBE in order to boot properly now.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
[ehabkost: added compat code to disable MOVBE on pc-*-1.4 and older]
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0668af542f99b7bb1d95539829b27d5a1bcecde4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Apr 25 15:43:00 2013 -0300
target-i386: Introduce generic CPUID feature compat function
Introduce x86_cpu_compat_set_features(), that can be used to set/unset
feature bits on specific CPU models for machine-type compatibility.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fe677fd1b3fde96110898fde5101bea4cfe6e063
Merge: e0ff466... 2ddef42...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon May 6 19:56:27 2013 +0200
Merge branch 's390-for-upstream' of git://github.com/agraf/qemu
* 's390-for-upstream' of git://github.com/agraf/qemu:
s390: update s390-ccw.img
S390: BIOS boot from given device
S390: Add virtio-blk boot
S390: Merging s390_ipl_cpu and s390_ipl_reset
S390: BIOS create link to src folder for .img file
S390: BIOS check for file
commit b2a856d99281f2fee60a4313d204205bcd2c4269
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 17:30:51 2013 +0200
target-i386: Change CPUID model of 486 to 8
This changes the model number of 486 to 8 (DX4) which matches the
feature set presented, and actually has the CPUID instruction.
This adds a compatibility property, to keep model=0 on pc-*-1.4 and older.
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
[AF: Add compat_props entry]
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ba2bc7a42e7c7b343f996967484ce3a1543cfebc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 17:05:47 2013 +0200
target-i386: Emulate X86CPU subclasses for global properties
After initializing the object from its x86_def_t and before setting any
additional -cpu arguments, set any global properties for the designated
subclass <name>-{i386,x86_64}-cpu.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 868d378bb087c6003bfa0e431aec0e5871a90ff4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 16:03:19 2013 +0200
qdev: Introduce qdev_prop_set_globals_for_type()
Reuse it in qdev_prop_set_globals().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Renamed from qdev_prop_set_custom_globals()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed May 1 16:10:24 2013 +0200
qdev: Let qdev_prop_parse() pass through Error
Move error reporting to callers.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e5292b553c9ec27e0816abdcb717f87aa6b6a8d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:09 2013 -0300
target-i386: Add "filtered-features" property to X86CPU
This property will contain all the features that were removed from the
CPU because they are not supported by the host.
This way, libvirt or other management tools can emulate the
check/enforce behavior by checking if filtered-properties is all zeroes,
before starting the guest.
Example output where some features were missing:
$ qemu-system-x86_64 -enable-kvm -cpu Haswell,check -S \
-qmp unix:/tmp/m,server,nowait
warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit
12]
warning: host doesn't support requested feature: CPUID.01H:ECX.movbe
[bit 22]
warning: host doesn't support requested feature:
CPUID.01H:ECX.tsc-deadline [bit 24]
warning: host doesn't support requested feature: CPUID.01H:ECX.xsave
[bit 26]
warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit
28]
warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase
[bit 0]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1
[bit 3]
warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit
4]
warning: host doesn't support requested feature: CPUID.07H:EBX.avx2
[bit 5]
warning: host doesn't support requested feature: CPUID.07H:EBX.smep
[bit 7]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2
[bit 8]
warning: host doesn't support requested feature: CPUID.07H:EBX.erms
[bit 9]
warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid
[bit 10]
warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit
11]
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 4025
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 356519936
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Example output when no feature is missing:
$ qemu-system-x86_64 -enable-kvm -cpu Nehalem,enforce -S \
-qmp unix:/tmp/m,server,nowait
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 0
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 034acf4a581b03fc10cba772f731ae521e00fcd8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:08 2013 -0300
target-i386: Introduce X86CPU::filtered_features field
This field will contain the feature bits that were filtered out because
of missing host support.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8e8aba5054c043027445c880fcb9dbc8f6a217f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon May 6 13:20:07 2013 -0300
target-i386: Add "feature-words" property to X86CPU
This property will be useful for libvirt, as libvirt already has logic
based on low-level feature bits (not feature names), so it will be
really easy to convert the current libvirt logic to something using the
"feature-words" property.
The property will have two main use cases:
- Checking host capabilities, by checking the features of the "host"
CPU model
- Checking which features are enabled on each CPU model
Example output:
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=feature-words
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 101
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 563346425
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 2155880449
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 126614521
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd87d2a2c05569a28768648b069cbc24c40f4fb8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:18 2013 -0300
target-i386: Use FeatureWord loop on filter_features_for_kvm()
Instead of open-coding the filtering code for each feature word, change
the existing code to use the feature_word_info array, that has exactly
the same CPUID eax/ecx/register values for each feature word.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04d104b61198615c259d1851684b2713213dcf99
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:16 2013 -0300
target-i386: Add ECX information to FeatureWordInfo
FEAT_7_0_EBX uses ECX as input, so we have to take that into account
when reporting feature word values.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ddef429d14136a0156a75b1d77b72cb3bdad18f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed May 1 04:50:05 2013 +0200
s390: update s390-ccw.img
Now that we have boot device selection support, update the firmware
blob accordingly.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ff151f4ec977c38266b79ebfbb6e8689f2121d4f
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:58 2013 +0000
S390: BIOS boot from given device
Use the passed device, if there is no device, use the first applicable
device.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba1509c0a99ad4c852c22cbd46d244ec7dc90402
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:57 2013 +0000
S390: Add virtio-blk boot
If no kernel IPL entry is specified, boot the bios and pass if available
device information for the first boot device (as given by the boot index).
The provided information will be used in the next commit from the BIOS.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2c4c71ee3a904bd07141c6499e5834818e6757f1
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 30 07:15:56 2013 +0000
S390: Merging s390_ipl_cpu and s390_ipl_reset
There is no use in have this splitted in two functions.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e89e33e12e4185fa056a5d7ae6d2e8e7f5400a20
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 04:52:06 2013 +0000
S390: BIOS create link to src folder for .img file
For *.img files, there will be a link created directly to the src folder,
like for all other blobs.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f7de853306499b83e627a09b15281fd6d566a51
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 04:52:05 2013 +0000
S390: BIOS check for file
Add a check if the BIOS blob exists before trying to load.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0ff466c86bfb3b865865431bf8aa67287691917
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu May 2 20:22:03 2013 +0000
spapr_llan: fix device reenabling
Normally, the "tap" device is polled by QEMU if a guest NIC can
receive packets. If a guest NIC is stopped during transfer (rmmod or
ifdown), it may still have packets in a queue which have to be send
to the guest before QEMU enables polling of a "tap" interface via
tap_update_fd_handler().
However the spapr_llan device was missing the qemu_flush_queued_packets()
call so the tap_send_completed() callback was never called and therefore
"tap" interface polling was not enabled ever.
The patch fixes this problem.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 43d03f299a017186e00f47c5b10f732492d496a6
Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Date: Wed May 1 15:22:59 2013 +0000
PPC: e500: correct params->ram_size with ram_size
We should sync params->ram_size after we fixup memory size on
a alignment boundary. Otherwise Guest would exceed the actual
memory region.
Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 04559d5210860ea5853db09c75ea8ff2f8843e16
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed May 1 00:44:51 2013 +0000
target-ppc: Add read and write of PPR SPR
Recent Linux kernels save and restore the PPR across exceptions
so we need to handle it.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c05541ee191107eb35093fb693e4ec038e60d2c0
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed May 1 00:43:59 2013 +0000
target-ppc: Fix invalid SPR read/write warnings
Invalid and privileged SPR warnings currently print the wrong
address. While fixing that, also make it clear that we are
printing both the decimal and hexadecimal SPR number.
Before:
Trying to read invalid spr 896 380 at 0000000000000714
After:
Trying to read invalid spr 896 (0x380) at 0000000000000710
Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 126a79300971ab9314925c3ebbbd6c776bebf3f1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu May 2 00:27:51 2013 +0200
PPC: Add MMU type for 2.06 with AMR but no TB pages
When running -cpu on a POWER7 system with PR KVM, we mask out the 1TB
MMU capability from the MMU type mask, but not the AMR bit.
This leads to us having a new MMU type that we don't check for in our
MMU management functions.
Add the new type, so that we don't have to worry about breakage there.
We're not going to use the TCG MMU management in that case anyway.
The long term fix for this will be to move all these MMU management
functions to class callbacks.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4807ab4f36740b64a0dfa30ae90fe2e8a7d96fbb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Apr 30 03:42:23 2013 +0000
pseries: Update SLOF firmware image
Minor SLOF fixes which are required for libvirtd to function properly:
* vio-vscsi: vscsi-report-luns can return 0
* vio-vscsi: added a proper lun parser
* SLOF: vio-vscsi: fixed bug with reported luns
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cefd3cdbdd9fc9a7d5ab324291904074d2aa69a0
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Mon Apr 29 04:40:56 2013 +0000
PPC: e500: initialize GPRs as per epapr
ePAPR defines the initial values of cpu registers.
This patch initialize the GPRs as per ePAPR specification.
This resolves the issue of guest reboot/reset (guest hang on reboot).
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: add whitespace line]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b55519a0f29fca0ef7ebc5d87ee4bfa7304dc219
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 18:33:52 2013 +0000
pseries: Fix debug message for out-of-bounds address in H_PUT_TCE
Due to a brain outage, this message says "out-of-boards" instead of
"out-of-bounds".
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d4261662b67b48e52f747ee1e3c31cf873c5c982
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 18:33:51 2013 +0000
pseries: Factor out check for out-of-bounds LIOBN
PAPR defines LIOBNs (Logical IO Bus Numbers) to be 32-bit, and we check
for
values that aren't in the code for H_PUT_TCE. This patch factors the
check
into spapr_tce_find_by_liobn(), which already checks if a 32-bit LIOBN
actually exists. This will become more important as future patches add
other hypercalls which need to look up a LIOBN.
At the same time we fix the typo in the message.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0c1cd0ae2a4faabeb948b9a07ea1696e853de174
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Sun May 5 17:51:49 2013 -0300
kvmvapic: add ioport read accessor
Necessary since memory region accessor assumes read and write
methods are registered. Otherwise reading I/O port 0x7e segfaults.
https://bugzilla.redhat.com/show_bug.cgi?id=954306
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 8e515b125d5f7849167dbee6cbe6ef61636607d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat May 4 21:57:51 2013 +0100
configure: Check that "libtool" is not the MacOSX one
The "libtool" binary on MacOSX is not GNU libtool, and doesn't support
anything like the same set of command line options. Test whether we
have accidentally picked this up (by looking for whether it handles
the GNU --version switch), and discard it if so. The fallback machinery
for the "we don't have a libtool" case will work fine. This fixes a
failure in "make install" on MacOSX.
Reported-by: Peter Cheung <mcheung63@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1367701071-6630-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4b006b7a5bce59d4f692d5da04eede5f6d0f31c
Merge: 1e65fe5... b6f54b3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 06:49:51 2013 -0500
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
# By Andreas Färber (1) and others
# Via Andreas Färber
* afaerber-or/prep-up:
prep: Make System I/O port 0092 read/write
prep: Add ELF support for -bios
prep: Fix NIP reset value
commit 1e65fe536782132316ddae0a92f3c4e4f563cafb
Merge: 467b346... 462566f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon May 6 06:47:28 2013 -0500
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Jean-Christophe DUBOIS
# Via Peter Maydell
* pmaydell/arm-devs.next:
i.MX: implement a more correct version of EPIT timer.
Message-id: 1367603215-5120-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b6f54b31e7cfb2e88b76fc6cfc5334a26d1b9e53
Author: Julio Guerra <guerr@xxxxxxxx>
Date: Sun May 5 23:29:48 2013 +0200
prep: Make System I/O port 0092 read/write
Port 0x0092 is documented as read/write, so for now return the
endianness state instead of hardcoded 0x00.
Signed-off-by: Julio Guerra <guerr@xxxxxxxx>
[AF: Extracted from larger port 0092 patch]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 97c42c3c93d58e14960bfd78771ed154a860acf8
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Apr 27 21:23:23 2013 +0200
prep: Add ELF support for -bios
This prepares for switching from OpenHack'Ware to OpenBIOS.
While touching the error handling code, switch from aborting hw_error()
to fprintf()+exit() and suppress failing without -bios for qtest.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 88432756ead526d9c321c20f10fafdbe40e5eaba
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Apr 30 17:07:04 2013 +0200
prep: Fix NIP reset value
The value was changed by commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c
"PPC: fix hreset_vector for 60x, ...".
Change it back for prep machine to unbreak OpenHack'Ware.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 467b34689d277fa56c09ad07ca0f08d7d7539f6d
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun May 5 09:53:22 2013 +0000
Update OpenBIOS images
Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from
submodule.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f7a87c42a05e5ecaa4ed9167178624f870106091
Merge: 120dc38... 536f25e...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun May 5 09:05:34 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Fix incorrect check of kvm_vcpu_ioctl return value
commit 536f25e4c77592b936e50728c83894c23f4f61c8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri May 3 18:47:22 2013 +0100
target-arm: Fix incorrect check of kvm_vcpu_ioctl return value
kvm_vcpu_ioctl() returns -ETHING on error, not ETHING -- correct
an incorrect check in kvm_arch_init_vcpu(). This would not have
had any significant ill-effects -- we would just have propagated
the less useful ENOENT up to the caller rather than the more
accurate EINVAL in the unlikely case that the kernel didn't
have VFP-D32 support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 462566fc5e3e10a44e212fdbc67b9e4948179b14
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Fri May 3 18:21:02 2013 +0100
i.MX: implement a more correct version of EPIT timer.
This patch is providing a complete version of the EPIT timer.
Note, however that the GPT timer in the same file is still not
complete.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Message-id: 1365624982-15647-1-git-send-email-jcd@xxxxxxxxxxxxxxx
Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
[PMM: wrapped an overly long line]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 120dc38f6113b676ecef0a2c9e42fc08cace5bdb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri May 3 15:25:36 2013 +0200
qdev: skip bus check for bus-less devices in qdev_unplug()
Since commit 2f7bd829db "qdev: Fix device_add bus assumptions"
it's possible to device_add bus-less device, but if such device is
unplugged it will dereference NULL parent_bus in qdev_unplug().
Fix it by taking in account that parent_bus might be NULL and
skipping bus check.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Message-id: 1367587536-14964-1-git-send-email-imammedo@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f32a6b47ef4247ad14dad63c6ee231fdce4c5e9
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:51 2013 +0200
virtio-scsi: fix the command line compatibility.
The bus name is wrong since the refactoring.
This keeps the behaviour of the command line.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 80270a19685dd20eda017b0360c743b3e3ed6f57
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:50 2013 +0200
virtio-serial: fix command line compatibility.
The bus name is wrong since the refactoring.
This keeps the behaviour of the command line.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 11fc853c4cb5ab9db46d7859da191966199b588f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:49 2013 +0200
scsi: add bus_name parameter to scsi_bus_new.
This adds the possibility to create a scsi-bus with a specified name.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1034e9cf4d0740c4c845d79998ac53a5b23e534d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:48 2013 +0200
virtio: add virtio_device_set_child_bus_name.
Add virtio_device_set_child_bus_name function.
It will be used with virtio-serial-x and virtio-scsi-x to set the
child bus name before calling virtio-x-device's init.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f4dd69aa4ce96196b3d84cd3d3e14a79ea029630
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 30 16:08:47 2013 +0200
virtio-x-bus: force bus name to virtio-bus.
When the proxy id is set, this bus takes the name "id.0" which is expected
to be the virtio-device's first bus.
So force this name to "virtio-bus" as it is an internal bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1367330931-12994-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0057a0d59006d00c294de0b012d9a290eb1a5c80
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Tue Apr 23 16:33:01 2013 +0200
TLS support for VNC Websockets
Added TLS support to the VNC QEMU Websockets implementation.
VNC-TLS needs to be enabled for this feature to be used.
The required certificates are specified as in case of VNC-TLS
with the VNC parameter "x509=<path>".
If the server certificate isn't signed by a rooth authority it needs to
be manually imported in the browser because at least in case of Firefox
and Chrome there is no user dialog, the connection just gets canceled.
As a side note VEncrypt over Websocket doesn't work atm because TLS can't
be stacked in the current implementation. (It also didn't work before)
Nevertheless to my knowledge there is no HTML 5 VNC client which supports
it and the Websocket connection can be encrypted with regular TLS now so
it should be fine for most use cases.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366727581-5772-1-git-send-email-thardeck@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f3b664f6cc4153cc73941c941d54c4e499b7537
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed May 1 16:14:34 2013 +0200
audio: Enable all cards
...or they will bitrot to death.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 5181234A.6060504@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fba90ac1d614c333c6a15c39cac555a12a04cee1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed May 1 18:30:15 2013 +0200
win32: fix compilation again
While commit c02817e5bfbb27955cac970019e6670dc427bc41 fixed compilation
without an installed libtool, moving the dependencies to rules.mak does
not work because the version-*-y variables are not defined yet. Building
in a clean tree thus fails.
Revert the commit and remove the dummy /bin/false assignment to LIBTOOL.
This makes the build work, at the price of slightly worse errors when
there are Makefile bugs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367425815-15083-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc9936a32f91c107a2a7655af4feeee3f4de5d12
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu May 2 15:56:26 2013 +0200
libqos: Relocate I2C files
Commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 (qtest: add libqos
including PCI support) created a libqos/ subdirectory but left the
existing I2C libqos files libi2c*.[hc] in tests/. Clean this up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367502986-15104-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 743bddb4b35ceaaf6f95aea581a4130dcae6205a
Merge: a612925... e64dd5e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:15 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Eiichi Tsukata (2) and Kazuya Saito (2)
# Via Stefan Hajnoczi
* stefanha/tracing:
trace: document ftrace backend
trace: Add ftrace tracing backend
kvm-all: add kvm_run_exit tracepoint
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
Message-id: 1367582485-15579-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a612925b4184fa7aa37092db4fef816030640922
Merge: 25565e8... 7873df4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:07 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong (1) and Jason Wang (1)
# Via Stefan Hajnoczi
* stefanha/net:
tap: properly initialize vhostfds
net: make network client name unique
Message-id: 1367582254-15060-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25565e8595322b04902a09ebf877d80532f22fd1
Merge: c9e53a4... 86abefd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri May 3 11:20:02 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (8) and others
# Via Stefan Hajnoczi
* stefanha/block:
qemu-iotests: Filter out 'adapter_type'
nbd: support large NBD requests
nbd: use g_slice_new() instead of a freelist
qemu-iotests: Filter out vmdk creation options
vmdk: add bdrv_co_write_zeroes
vmdk: store fields of VmdkMetaData in cpu endian
vmdk: change magic number to macro
vmdk: Add option to create zeroed-grain image
vmdk: add support for â??zeroedâ??grainâ?? GTE
vmdk: named return code.
blockdev: Replace "undefined error" in qmp_block_resize
block: add read-only support to VHDX image format.
block: initial VHDX driver support framework - supports open and probe
block: vhdx header for the QEMU support of VHDX images
qemu: add castagnoli crc32c checksum algorithm
commit e64dd5efb2c6d522a3bc9d096cd49a4e53f0ae10
Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Date: Thu Apr 11 20:25:16 2013 +0900
trace: document ftrace backend
Add documentation of ftrace backend.
Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 781e9545dbe54d2f0a530edbf48fd0ac1e77244c
Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Date: Thu Apr 11 20:25:15 2013 +0900
trace: Add ftrace tracing backend
This patch adds a ftrace tracing backend which sends trace event to
ftrace marker file. You can effectively compare qemu trace data and
kernel(especially, kvm.ko when using KVM) trace data.
The ftrace backend is restricted to Linux only.
To try out the ftrace backend:
$ ./configure --trace-backend=ftrace
$ make
if you use KVM, enable kvm events in ftrace:
# sudo echo 1 > /sys/kernel/debug/tracing/events/kvm/enable
After running qemu by root user, you can get the trace:
# cat /sys/kernel/debug/tracing/trace
Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b76ac80a5ca9f2e19405419172c0dcaf0370d4f5
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 29 13:27:52 2013 +0900
kvm-all: add kvm_run_exit tracepoint
This patch enable us to know exit reason of KVM_RUN. It will help us
know where the trouble is caused.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9c7757290c6d80c2f5bde6fa71d2c9fe2b331c8c
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 29 13:27:05 2013 +0900
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
This patch adds tracepoints at ioctl to kvm. Tracing these ioctl is
useful for clarification whether the cause of troubles is qemu or kvm.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7873df408dd44eb92840b108211d5aa5db7db526
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Apr 19 15:11:15 2013 +0800
tap: properly initialize vhostfds
Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were
forgot, this will lead qemu to ignore all fds passed by management through
vhostfds, and tries to create vhost_net device itself. Fix by adding this
check
also.
Reportyed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Cc: Michal Privoznik <mprivozn@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c963530a5b3e3e0f7304841adfe84416d82f59f6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Apr 15 18:55:19 2013 +0800
net: make network client name unique
assign_name() creates a name MODEL.NUM, where MODEL is the client's model,
and NUM is the number of MODELs that already exist.
Markus added NIC naming for non-VLAN clients in commit 53e51d85.
commit d33d93b2 incorrectly added a judgement of net-hub. It caused
net clients created with -netdev get same names.
eg:
# qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
-device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
(qemu) info network
virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ h1:
index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
\ h2:
index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
This patch removed the check of nic-hub, and created unique names for
all net clients that have same model.
v2: update commitlog & comments
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 86abefd61e23325162e59e5bfb8f0346eda62541
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri May 3 15:31:16 2013 +0800
qemu-iotests: Filter out 'adapter_type'
Filter out vmdk creation option 'adapter_type' for vmdk. So that tests
with an explicit './check -o adapter_type=XXX' will not fail.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d8214885942becb8f4371a66d6f8c9a9580108a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 2 14:23:08 2013 +0200
nbd: support large NBD requests
The Linux nbd driver recently increased the maximum supported request
size up to 32 MB:
commit 078be02b80359a541928c899c2631f39628f56df
Author: Michal Belczyk <belczyk@xxxxxxxxxxxxx>
Date: Tue Apr 30 15:28:28 2013 -0700
nbd: increase default and max request sizes
Raise the default max request size for nbd to 128KB (from 127KB) to
get it
4KB aligned. This patch also allows the max request size to be
increased
(via /sys/block/nbd<x>/queue/max_sectors_kb) to 32MB.
QEMU's 1 MB buffers are too small to handle these requests.
This patch allocates data buffers dynamically and allows up to 32 MB per
request.
Reported-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1adb27a83f19799c454cead7bf930a0b3f2bb28
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu May 2 14:23:07 2013 +0200
nbd: use g_slice_new() instead of a freelist
Use GLib's efficient slice allocator instead of open-coding the request
freelist. This patch simplifies the NBDRequest code.
Now we qemu_blockalign() the req->data buffer each time but the next
patch switches from a fixed size buffer to a dynamic size anyway.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c9e53a4cf116dae72d779c7748153cedd2e84228
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Apr 29 08:08:23 2013 -0700
tcg-arm: Use movi32 in exit_tb
Avoid the mini constant pool for armv7, and avoid replicating
the test for pre-v7.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8ddaeb1be66246225fe5aeeec33e4e7b82762694
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Apr 29 08:08:22 2013 -0700
tcg-arm: Fix 64-bit tlb load for pre-v6
Found by inspection, since the effect of the bug was simply to
send all memory ops through the slow path.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 29851ee7c8bd3fb8542e21cd0270c73132590350
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Sun Apr 28 03:18:36 2013 +0200
target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB
This change corrects and simplifies how discard is calculated for shift
left logical vector instructions. It is used to detect overflow and set
bit
22 in the DSPControl register.
The existing tests (shll_ph.c, shll_qb.c) are extended with the corner
cases
that expose incorrectness in the previous implementation.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 50522d969be315457e3296d8a32990b58a203902
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri May 3 09:31:40 2013 +0800
qemu-iotests: Filter out vmdk creation options
Cover new image creation options for vmdk, so we can use '-o
zeroed_grain=XXX' and '-o subformat=XXX' to run the tests successfully.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cdeaf1f15909e2e8af38f45aea7cfa467a729c52
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:27 2013 +0800
vmdk: add bdrv_co_write_zeroes
Use special offset to write zeroes efficiently, when zeroed-grain GTE is
available. If zero-write an allocated cluster, cluster is leaked because
its offset pointer is overwritten by "0x1".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e304e8e5a05bc54c71c5f6fc76abd47410e59857
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:26 2013 +0800
vmdk: store fields of VmdkMetaData in cpu endian
Previously VmdkMetaData.offset is stored little endian while other
fields are cpu endian. This changes offset to cpu endian and convert
before writing to image.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 95b0aa4231dfc827ddc189138d6502cbca66d2b6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:25 2013 +0800
vmdk: change magic number to macro
Two hard coded flag bits are changed to macros.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69e0b6dfa455924842bfcbfa810fde34899f1350
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:24 2013 +0800
vmdk: Add option to create zeroed-grain image
Add image create option "zeroed-grain" to enable zeroed-grain GTE
feature of vmdk sparse extents. When this option is on, header version
of newly created extent will be 2 and VMDK4_FLAG_ZERO_GRAIN flag bit
will be set.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 14ead646fe7d5163c342ebd1e0aeb556ecf343a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:23 2013 +0800
vmdk: add support for â??zeroedâ??grainâ?? GTE
Introduced support for zeroed-grain GTE, as specified in Virtual Disk
Format 5.0[1].
Recent VMware hosted platform products support a new
â??zeroedâ??grainâ??
grain table entry (GTE). The zeroedâ??grain GTE returns all zeros on
read. In other words, the zeroedâ??grain GTE indicates that a grain
in the child disk is zeroâ??filled but does not actually occupy space
in storage. A sparse extent with zeroedâ??grain GTE has the following
in its header:
* SparseExtentHeader.version = 2
* SparseExtentHeader.flags has bit 2 set
Other than the new flag and the possibly zeroedâ??grain GTE, version 2
sparse extents are identical to version 1. Also, a zeroedâ??grain GTE
has value 0x1 in the GT table.
[1] Virtual Disk Format 5.0,
http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 65f7472577f9409d285b0216fae76c7c3f03fc41
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu May 2 10:25:22 2013 +0800
vmdk: named return code.
Internal routines in vmdk.c previously return -1 on error and 0 on
success. More return values are useful for future changes such as
zeroed-grain GTE. Change all the magic `return 0` and `return -1` to
macro names:
* VMDK_OK 0
* VMDK_ERROR (-1)
* VMDK_UNALLOC (-2)
* VMDK_ZEROED (-3)
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8732901e1b8a5add02a2b747875202133413d565
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu May 2 15:32:55 2013 +0200
blockdev: Replace "undefined error" in qmp_block_resize
We have an errno value that can be displayed, so we should just do that.
An easy way to reproduce this case is to resize a raw image to a size
that is too large for the host file system.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 059e2fbbca484a68ac7fd99d1d76409294551586
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:19 2013 -0400
block: add read-only support to VHDX image format.
This adds in read-only support to the VHDX image format. This supports
reads for fixed-size, and dynamic sized VHDX images.
Differencing files are still unsupported.
The image must be opened without BDRV_O_RDWR set, because we do not
yet update the headers. I.e., pass 'readonly=on' in the drive image
options from the QEMU commandline.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e8d4e5ffdb015959551726a5700c19b5d772ada4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:18 2013 -0400
block: initial VHDX driver support framework - supports open and probe
This is the initial block driver framework for VHDX image support
(i.e. Hyper-V image file formats), that supports opening VHDX files, and
parsing the headers.
This commit does not yet enable:
- reading
- writing
- updating the header
- differencing files (images with parents)
- log replay / dirty logs (only clean images)
This is based on Microsoft's VHDX specification:
"VHDX Format Specification v0.95", published 4/12/2012
https://www.microsoft.com/en-us/download/details.aspx?id=29681
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 203cdba3bc6fb6022dbece90483fe03ed33bcffb
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:17 2013 -0400
block: vhdx header for the QEMU support of VHDX images
This is based on Microsoft's VHDX specification:
"VHDX Format Specification v0.95", published 4/12/2012
https://www.microsoft.com/en-us/download/details.aspx?id=29681
These structures define the various header, metadata, and other
block structures defined in the VHDX specification.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e1b02b8ef2eefcb2ff3855531d7bc2ea71e1fb4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Apr 29 14:48:16 2013 -0400
qemu: add castagnoli crc32c checksum algorithm
This adds the Castagnoli CRC32C algorithm, using the 0x11EDC6F41
polynomial.
This is extracted from the linux kernel cryptographic crc32.c module.
The algorithm is based on:
Castagnoli93: Guy Castagnoli and Stefan Braeuer and Martin Herrman
"Optimization of Cyclic Redundancy-Check Codes with 24
and 32 Parity Bits", IEEE Transactions on Communication,
Volume 41, Number 6, June 1993
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8ca27ce2e1150486ea2db4116a03706b28294f16
Merge: 0db4c32... e7bdf65...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 2 10:57:01 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Igor Mammedov (21) and others
# Via Andreas Färber
* afaerber/qom-cpu: (29 commits)
Drop redundant resume_all_vcpus() from main()
cpus: Fix pausing TCG CPUs while in vCPU thread
target-i386: Replace cpuid_*features fields with a feature word array
target-i386: Break CPUID feature definition lines
target-i386/kvm.c: Code formatting changes
target-i386: Group together level, xlevel, xlevel2 fields
pc: Implement QEMUMachine::hot_add_cpu hook
QMP: Add cpu-add command
Add hot_add_cpu hook to QEMUMachine
target-i386: Move APIC to ICC bus
target-i386: Attach ICC bus to CPU on its creation
target-i386: Introduce ICC bus/device/bridge
cpu: Move cpu_write_elfXX_note() functions to CPUState
kvmvapic: Make dependency on sysbus.h explicit
target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE
target-i386: Do not allow to set apic-id once CPU is realized
target-i386: Introduce apic-id CPU property
target-i386: Introduce feat2prop() for CPU properties
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
cpu: Add helper cpu_exists(), to check if CPU with specified id exists
...
commit 0db4c324a8c6f2b1b8a118146f9b0fc8c4210719
Merge: e9016ee... 6e860b5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu May 2 10:56:07 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Andreas Färber (1) and others
# Via Michael Tokarev
* mjt/trivial-patches:
pvscsi: fix compilation on 32 bit hosts
Trivial grammar and spelling fixes
configure: Pick up libseccomp include path
commit e7bdf659c16e1cefd61f53648503d8c060668d6b
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Aug 20 20:11:36 2012 +0200
Drop redundant resume_all_vcpus() from main()
VCPUs are either resumed directly via vm_start(), after the incoming
migration is done, or when a continue command is issued. We don't need
the explicit resume before entering main_loop().
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1085819368e8693f08307e72f0082d759f67ef03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu May 2 11:22:05 2013 +0200
cpus: Fix pausing TCG CPUs while in vCPU thread
Due to a preceding while loop, no CPU would've been put into stopped
state. Reinitialize the variable.
This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use
pause_all_vcpus from VCPU context) for non-KVM case.
While at it, change a 0 to false, amending commit
4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to
CPUState).
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0514ef2fbb3882afe410ba7800c79fd0ef5dbf00
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:15 2013 -0300
target-i386: Replace cpuid_*features fields with a feature word array
This replaces the feature-bit fields on both X86CPU and x86_def_t
structs with an array.
With this, we will be able to simplify code that simply does the same
operation on all feature words (e.g. kvm_check_features_against_host(),
filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit
property lookup/registration, and the proposed "feature-words" property)
The following field replacements were made on X86CPU and x86_def_t:
(cpuid_)features -> features[FEAT_1_EDX]
(cpuid_)ext_features -> features[FEAT_1_ECX]
(cpuid_)ext2_features -> features[FEAT_8000_0001_EDX]
(cpuid_)ext3_features -> features[FEAT_8000_0001_ECX]
(cpuid_)ext4_features -> features[FEAT_C000_0001_EDX]
(cpuid_)kvm_features -> features[FEAT_KVM]
(cpuid_)svm_features -> features[FEAT_SVM]
(cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX]
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27861ecc47cf9dc35961ac901e26abbd898c377c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:14 2013 -0300
target-i386: Break CPUID feature definition lines
Break lines on kvm_check_features_against_host(), kvm_cpu_fill_host(),
and builtin_x86_defs, so they don't get too long once the *_features
fields are replaced by an array.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fc7a504c0126b16aa2bd50d92584e9cc08f636a3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:13 2013 -0300
target-i386/kvm.c: Code formatting changes
Add appropriate spaces around operators, and break line where it needs
to be broken to allow feature-words array to be introduced without
having too-long lines.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90e4b0c3de2b3927e71f23d95c3c27d60e5c89cc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Apr 22 16:00:12 2013 -0300
target-i386: Group together level, xlevel, xlevel2 fields
Consolidate level, xlevel, xlevel2 fields in x86_def_t and CPUX86State.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e860b5db4c76c66d7e02f93c9e22e0384bd3c6c
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Wed May 1 07:41:26 2013 +0200
pvscsi: fix compilation on 32 bit hosts
This fixes the following error:
In file included from qemu/include/trace.h:4:0,
from trace/generated-events.c:3:
./trace/generated-tracers.h: In function â??trace_pvscsi_get_sg_listâ??:
./trace/generated-tracers.h:4271:9: error: format â??%luâ?? expects
argument of
type â??long unsigned intâ??, but argument 4 has type â??size_tâ??
[-Werror=format]
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 805a25050272fe7cbbc2e9ce911612fc86c7b9a9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Apr 28 11:49:57 2013 +0200
Trivial grammar and spelling fixes
similiar -> similar
recieve -> receive
transfered -> transferred
preperation -> preparation
Most changes are in comments, one modifies a parameter name in a function
prototype.
The spelling fixes were made using codespell.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 372e47e9b5e31c493823d7f512716644fb02d0fd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Apr 28 16:27:26 2013 +0200
configure: Pick up libseccomp include path
openSUSE 12.3 has seccomp.h in /usr/include/libseccomp-1.0.1,
so add `pkg-config --cflags libseccomp` output to QEMU_CFLAGS.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c649983b582687bbdb4019e308f015913e31065e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 18:00:53 2013 +0200
pc: Implement QEMUMachine::hot_add_cpu hook
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 69ca3ea5e192251f27510554611bcff6f036a00b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:25 2013 +0200
QMP: Add cpu-add command
Adds "cpu-add id=xxx" QMP command.
cpu-add's "id" argument is a CPU number in a range [0..max-cpus)
Example QMP command:
-> { "execute": "cpu-add", "arguments": { "id": 2 } }
<- { "return": {} }
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 30 15:41:24 2013 +0200
Add hot_add_cpu hook to QEMUMachine
Hook should be set by machines that implement CPU hot-add
via cpu-add QMP command.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53a89e262bd3e97b2da3afec0a60e5466770ae8c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 19:03:01 2013 +0200
target-i386: Move APIC to ICC bus
It allows APIC to be hotplugged.
* map APIC's mmio at board level if it is present
* do not register mmio region for each APIC, since
only one is used/mapped
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62fc403f11523169eb4264de31279745f48e3ecc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 18:54:13 2013 +0200
target-i386: Attach ICC bus to CPU on its creation
X86CPU should have parent bus so it could provide bus for child APIC.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f0513d2c0156799e0c75a108ab9a049eea4f9607
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Apr 29 17:02:50 2013 +0200
target-i386: Introduce ICC bus/device/bridge
Provides a hotpluggable bus for APIC and CPU.
* icc-bridge will serve as a parent for icc-bus and provide
mmio mapping services to child icc-devices.
* icc-device will replace SysBusDevice as a parent of APIC
and IOAPIC devices.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c72bf468259935a80ea185f2cbe807c3da9c1bbd
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 19 16:45:06 2013 +0200
cpu: Move cpu_write_elfXX_note() functions to CPUState
Convert cpu_write_elfXX_note() functions to CPUClass methods and pass
CPUState as argument. Update target-i386 accordingly.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[AF: Retain stubs as CPUClass' default method implementation; style
changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5f8df3ce6e0a057ec23cea74b6e629e59e085ac4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:30 2013 +0200
kvmvapic: Make dependency on sysbus.h explicit
Allows kvmvapic to compile if sysbus.h is removed from apic_internal.h,
from which it is indirectly included.
sysbus.h will be removed from apic_internal.h after converting
APICs to ICCDevice.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baaeda08ff34ad17150b50a6f52d0faec9f3db36
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:29 2013 +0200
target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE
Put APIC_SPACE_SIZE in a public header so that it can be
reused elsewhere later.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d6d4980c9421f3b9d1800dbc320da6a0bf754bd
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 26 19:51:52 2013 +0200
target-i386: Do not allow to set apic-id once CPU is realized
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 310509304e1a83c1926471f1984c1cbf7d813631
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:26 2013 +0200
target-i386: Introduce apic-id CPU property
The property is used from board level to set APIC ID for CPUs it
creates. Do so in a new pc_new_cpu() helper, to be reused for hot-plug.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 72ac2e876ddc6158f5b6d5f758d4e38c436010ed
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 26 18:04:32 2013 +0200
target-i386: Introduce feat2prop() for CPU properties
This helper replaces '_' with '-' in a uniform way.
As a side effect, even custom mappings must use '-' now.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
[AF: Split off; operate on NUL-terminated string rather than '='
delimiter]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8622725cf0196f672f272922b0941dc8ba1c408
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:25 2013 +0200
acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest
* introduce processor status bitmask visible to guest at 0xaf00 addr,
where ACPI asl code expects it
* set bit corresponding to APIC ID in processor status bitmask on
receiving CPU hot-plug notification
* trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 69e5ff067ae724155fd7465119ee6db5721288b6
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 25 16:05:24 2013 +0200
cpu: Add helper cpu_exists(), to check if CPU with specified id exists
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a37677c32bb313f5ba48aaf89f81cdc10c23ce56
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:42 2013 +0200
cpus: Use qemu_for_each_cpu() in TCG thread
Replaces an open-coded loop and hides unused CPUArchState.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d6b9e0d60cc511eca210834428bb74508cff3d33
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 24 22:58:04 2013 +0200
cpu: Add qemu_for_each_cpu()
Wrapper to avoid open-coded loops and to make CPUState iteration
independent of CPUArchState.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 997395d3888fcde6ce41535a8208d7aa919d824b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:41 2013 +0200
cpu: Introduce get_arch_id() method and override it for X86CPU
get_arch_id() adds possibility for generic code to get a guest-visible
CPU ID without accessing CPUArchState.
If derived classes don't override it, it will return cpu_index.
Override it on target-i386 in X86CPU to return the APIC ID.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8b7456d6ab7edb450ae5ec6473d3cd9a80412f4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:40 2013 +0200
pc: Update rtc_cmos on CPU hot-plug
It provides updated currently available CPUs count to BIOS on reboot.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 066e9b2710be887f435e0e899fa71f1f4314f702
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:39 2013 +0200
cpu: Introduce CPU hot-plug notifier
Hot-add CPU event will be distributed to acpi_piix4 and rtc_cmos.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6afb4721f3e45da727110470a61aafcd6682395e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:38 2013 +0200
cpu: Resume CPU from DeviceClass::realize() if hot-plugged
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2993683b0fde0f836777c945baaddcaa5937903f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:37 2013 +0200
cpu: Introduce cpu_resume(), for single CPU
Also add a stub for it, to make possible to use it in qom/cpu.c,
which is shared with user emulators.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 13eed94ed5617b98e657163490584dc2a0cc4b32
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:36 2013 +0200
cpu: Call cpu_synchronize_post_init() from DeviceClass::realize()
If hotplugged, synchronize CPU state to KVM.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c4cfef5e8a6371aa5e6577f2b980315c2dc46cfb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Apr 23 10:29:35 2013 +0200
cpu: Make kvm-stub.o available outside softmmu
It will provide stubs for *-user targets once softmmu-specific calls
are attempted from common CPU code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e9016ee2bda1b7757072b856b2196f691aee3388
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Apr 25 15:26:54 2013 +0800
virtio-net: count VIRTIO_NET_F_MAC when calculating config_len
Commit 14f9b664 (hw/virtio-net.c: set config size using host features)
tries to
calculate config size based on the host features. But it forgets the
VIRTIO_NET_F_MAC were always set for qemu later. This will lead a zero
config
len for virtio-net device when both VIRTIO_NET_F_STATUS and
VIRTIO_NET_F_MQ were
disabled form command line. Then qemu will crash when user tries to read
the
config of virtio-net.
Fix this by counting VIRTIO_NET_F_MAC and make sure the config at least
contains
the mac address.
Cc: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1366874814-2658-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f032464c06c563fe0df49eac9caaaa90a68a219
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 30 12:41:50 2013 +0300
sysemu: drop register_devices from header
No user in sight.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 20130430094149.GA29094@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit beb54a87ba74dfac00906b4c876945c6602cd293
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 29 10:52:52 2013 -0500
libqtest: only call fclose() on open files
libqtest.c can segfault when calling fclose() if the pidfile wasn't
opened successfully. This patch fixes the issue.
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1367250772-17928-1-git-send-email-jlarrew@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08eb8c85e3967b97865d46acadf26dc908fbb094
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Apr 26 11:24:47 2013 +0800
Wire up disabled wait a panicked event on s390
On s390 the disabled wait state indicates a state of attention.
For example Linux uses that state after a panic. Lets
put the system into panicked state.
An alternative implementation would be to state
disabled-wait <address> instead of pause in the action field.
(e.g. z/OS, z/VM and other classic OSes use the address of the
disabled wait to indicate an error code).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id:
6cf41156322e27e81a727b69f03728dbc225d5bb.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab135f3462af4c523a4b5969f9d6c67b2ac427a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:46 2013 +0800
pvpanic: create pvpanic by default for machine 1.5
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
f840042f0e1205041f8feaf0d39ca639884f3a00.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b42ffe60d8b510cd2f76ef50f6a1057f91a3dd34
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:45 2013 +0800
pvpanic: add document of pvpanic
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
a5db4ce406647e8f4663b639eae62d880531df8b.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10a584b2875a391d1036adac18955a892e56f5e3
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:44 2013 +0800
pvpanic: pass configurable ioport to seabios
This lets seabios patch the corresponding SSDT entry.
Also add fw_cfg object to /machine/fw_cfg so we can reference
it elsewhere.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
60c65d95fe2b23b12bea67099126566010a11a1a.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1dfe5057e5cf45b296ae67a7f84bdc6fa618d602
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:43 2013 +0800
fw_cfg: add required header files
If fw_cfg.h is included alone, gcc gives error messages like these:
error: unknown type name â??uint32_tâ??
error: unknown type name â??size_tâ??
error: unknown type name â??hwaddrâ??
...
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
d63f8bcdbfbec8135b1b57f9247c513a3e25762c.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eec3d2adc98dd9ef7352823ce6597f88a51cf7cb
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:42 2013 +0800
introduce a new qom device to deal with panicked event
pvpanic device is used to send guest panic event from guest to qemu.
When guest panic happens, pvpanic device driver will write a event
number to IO port 0x505(which is the IO port occupied by pvpanic device,
by default). On receiving the event, pvpanic device will pause guest
cpu(s), and send a qmp event QEVENT_GUEST_PANICKED.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
b66077a40235b3531632a05a6ff373850afc7d2e.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c401a8a5156a2596b285586002d544c595d40cf7
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:41 2013 +0800
add a new qevent: QEVENT_GUEST_PANICKED
This event will be emited when qemu detects guest panic.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
cf0bc45ecf9ecd3699bc72dc39f8cbab8ed79d8c.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ede085b3fedfde36cb566968c4efcfbad4845af1
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Apr 26 11:24:40 2013 +0800
add a new runstate: RUN_STATE_GUEST_PANICKED
The guest will be in this state when it is panicked.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id:
0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cffc5113a421feba767af57ec87fdd53a29e9f9c
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Apr 29 14:35:08 2013 +0200
qdev: Report errors collected during device realization
Better than just releasing the error object silently.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 517E68FC.6030400@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7e7da8e35827abf602fa886fda1af9b001c20d3e
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Mon Apr 29 22:52:12 2013 +0800
rules.mk: Fix build breakage
The following error occurs when building dtc module:
CHK version_gen.h
CC libfdt/fdt.o
cc1: error: dtc: No such file or directory [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [libfdt/fdt.o] Error 1
make: *** [subdir-dtc] Error 2
In rules.mak, "-I$(<D) -I$(@D)" was expanded to "-Idtc -I." when
building submodule dct. Due to the using of "-Wmissing-include-dirs,
a warning would be rarsed. To avoid it, add "-I$(<D) -I$(@D)" to
QEMU_INCLUDES instead of QEMU_CFLAGS so that QEMU_CFLAGS does not
contain the "-Idtc".
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367247132-19622-1-git-send-email-riegamaths@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ab880b3a2f4b80bd5d8b18a312b3afed65dc036
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 30 15:02:16 2013 +0200
QOM: Fail casts for unknown types
When we try to cast an object to an unknown type, fail the cast. Today
we would simply run into an assert().
This fixes a bug on qemu-system-s390x for me that gets triggered by the
audio code looking for PCI and ISA buses.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367326936-28539-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b7da6c60814a5c8703e9fa0d943ec3240e9d94ab
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 30 16:00:32 2013 +0200
pc_piix: remove undesired change in pc_init1
Introduced when applying commit f81222b (audio: look for the ISA and
PCI buses, 2013-04-18).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1367330432-14417-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b3e6d591b05538056d665572f3e3bbfb3cbb70e7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:04 2013 +0200
audio: enable PCI audio cards for all PCI-enabled targets
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-9-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f81222bc0cf68464fe82117521917cc1533c3ff4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:03 2013 +0200
audio: look for the ISA and PCI buses
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-8-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2e1103f60a871923ecd390804aba07b6031e0dc0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:02 2013 +0200
qom: do not return root for empty path
An empty path will return the sole object of that type in the
QOM tree. This is different from "/", which returns the root.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-7-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:01 2013 +0200
audio: replace audio card configuration with default-configs
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-6-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f6547f07d41491d74179e8dd100f7477abdd43b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:44:00 2013 +0200
audio: remove CONFIG_* symbols
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ffa48cf5ab719e1e181e51b87bc0f5d397b791fa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:59 2013 +0200
audio: remove HAS_AUDIO
Several targets can have wavcapture/-soundhw support via PCI cards.
HAS_AUDIO is a useless limitation, remove it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36cd6f6f20724d49aac1910e310f81a43e0cb657
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:58 2013 +0200
audio: remove the need for audio card CONFIG_* symbols
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c444a1978fd9956c9712572d9ad0b83bbbc0a63
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 18 18:43:57 2013 +0200
adlib: qdev-ify
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366303444-24620-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7504ae690c7320f3852890974708795cf5469895
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:12 2013 +0800
doc: document the Pseudo-encoding of LED state
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-5-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7b2aaccd94a68c7927cae7ca47ced1bddc4f448
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:11 2013 +0800
vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-4-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab99e5c1d9f6a3f6fc2ce3b77b712221c647c7a5
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:10 2013 +0800
vnc: Support for LED state extension
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96f3d174bdfcc7d6205fa223ddc2cb01186dcd8f
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 25 13:29:09 2013 +0800
vnc: Add SCROLL lock key to kbd_leds
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366867752-11578-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a63e059de2f2936d2066532b9f8ca22675cf11c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Apr 28 18:45:47 2013 +0200
libqos: Convert fw_cfg values to host endianness
The fw_cfg ABI is Little Endian, so byte-swap the generically read
byte array to host endianness.
This unbreaks the fw_cfg tests on ppc.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367167547-19931-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61e477f4c731c4ff3f1a44dbfc55c8a5903c8d52
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:55 2013 +0200
wdt_ib700: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-21-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f02317ad4eca65a9a79b474b6d2d77ba87a57185
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:54 2013 +0200
vmport: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Drop reserved underscore from struct name while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-20-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3b7fbead827623ce521c8056a80050e8b35c578
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:53 2013 +0200
vmmouse: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of(). Prepares for ISA realizefn.
Remove reserved underscore from struct name while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-19-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a72dc5fc67cd2412be35dc17698a4eb4f7e00a0c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:52 2013 +0200
vga-isa: QOM'ify ISA VGA
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of(). Prepares for ISA realizefn.
Unify function naming scheme while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-18-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b582b5a398975d875d7e0b1c8f90817d01a8b20a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:51 2013 +0200
sga: QOM'ify
Introduce type constant and cast macro.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-17-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eeceb0849de2126185cf71860a449667fac2f0d7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:50 2013 +0200
serial: QOM'ify ISA serial
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-16-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 399f05a6e181c07611a93ac73025605cf24c4a6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:49 2013 +0200
sb16: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-15-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d367ece5e51d4f48687813eb5fe8d2a0e2e728d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:48 2013 +0200
pcspk: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-14-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2e0b863ebec1c9ceea9b7aab022a6378ea74136
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:47 2013 +0200
pckbd: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-13-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a0881c64081f750be2e44a9b7000e18e4cea065e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:46 2013 +0200
pc: QOM'ify port 92
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-12-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b0dc5ee6bd0b16986a0f45ca778f3ead2398b2ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:45 2013 +0200
parallel: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-11-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe6f5deb6611c512abcb4cb46a275756295b3e79
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:44 2013 +0200
ne2000-isa: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-10-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0e41271ec4944ea5b63c98b8e497618709e954c3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:43 2013 +0200
mc146818rtc: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-9-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2772c70a9617c73875c5ee915b32ccb50f0bf90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:42 2013 +0200
m48t59: QOM'ify ISA M48T59 NVRAM
Introduce type constant and cast macro to obsolete DO_UPCAST() and
container_of().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-8-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2f12688b9310a0001330df71d22ad6dc9f39dd29
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:41 2013 +0200
ide: QOM'ify ISA IDE
Introduce type constant and cast macro to obsolete DO_UPCAST().
Add missing braces.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-7-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 29bb5317cb7b23422b2612025d56055bbf0bbd02
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:40 2013 +0200
i8259: QOM cleanups
Eliminate DO_UPCAST() for PICCommonState. Prepares for ISA realizefn.
Also give the i8259_common type registration functions unique names
while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-6-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eb1440e7ec522784f4351bb5e88436cc3cd9abd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:39 2013 +0200
i82374: QOM'ify
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-5-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 020c8e7602fc6bf6a6ce62d99fb0a0882877ccd1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:38 2013 +0200
fdc: QOM'ify ISA floppy controller
Introduce type constant and cast macro to obsolete DO_UPCAST().
Reuse type constant for PC machine compatibility settings.
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-4-git-send-email-afaerber@xxxxxxx
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d4c2f175510a447f1aa6641e1a2337958a7c6af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:37 2013 +0200
cirrus_vga: QOM'ify ISA Cirrus VGA
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 82407b6c347db5298e18a716e386d12569479e3d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Apr 27 22:18:36 2013 +0200
applesmc: QOM'ify
Add a typedef for the state struct and rename from Status to State.
Add type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1367093935-29091-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ec57db1630f9cdcd13c8c55acbc8daf5237aabf1
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Apr 25 15:24:23 2013 +0800
virtio-net: unbreak the minix guest
Multiqueue patchset conditionally add control vq only when guest
negotiate the
feature. Though the spec is not clear on this but it breaks the minix
guest
since it will identify the ctrl vq even if it does not support it. Though
this
behavior seems a violation on the spec "If the VIRTIO_NET_F_CTRL_VQ
feature bit
is negotiated, identify the control virtqueue.", to keep the backward
compatibility, always add the ctrl vq at end of the queues.
Reported-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1366874663-2566-1-git-send-email-jasowang@xxxxxxxxxx
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b48df71c916478ff658d143d0742e85c78348fad
Merge: 45dddd9... 9adea5f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 29 08:26:47 2013 -0500
Merge remote-tracking branch 'bonzini/migration-writev' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/migration-writev:
win32: add readv/writev emulation
win32: generate console executable again
win32: move Makefile dependencies on version-obj-y to rules.mak
win32: add generic RC rules to rules.mak
Message-id: 1367230284-24612-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 45dddd90c339254d1ebc34ef719d84f3495c151b
Merge: 903ce9f... ae12e3a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 29 08:26:39 2013 -0500
Merge remote-tracking branch 'alon/libcacard_ccid.2' into staging
# By Cole Robinson
# Via Alon Levy
* alon/libcacard_ccid.2:
ccid: Fix crash when backend isn't specified
Message-id: 20130426234357.GA12457@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9adea5f7f7a23ef4a1231289a36a94c52347b142
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Apr 21 12:01:06 2013 +0200
win32: add readv/writev emulation
Commit e9d8fbf (qemu-file: do not use stdio for qemu_fdopen, 2013-03-27)
introduced a usage of writev, which mingw32 does not have. Even though
qemu_fdopen itself is not used on mingw32, the future-proof solution is
to add an implementation of it. This is simple and similar to how we
emulate sendmsg/recvmsg in util/iov.c.
Some files include osdep.h without qemu-common.h, so move the definition
of iovec to osdep.h too, and include osdep.h from qemu-common.h
unconditionally (protection against including files when NEED_CPU_H is
defined is not needed since the removal of AREG0).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 903ce9fefacd828bbcadd656ddaed8984139be29
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:13 2013 +0200
sparc64: use direct interrupt mapping for PCI devices
Every PCI Slot in PBM has 4 directly mapped IRQ lines.
Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number)
described in Section 19.3.3 of UltraSPARCâ?¢-IIi User's Manual.
Please note that this patch requires the OpenBIOS counterpart patch.
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9625036d14bdcc908fa06cd45599115258452c46
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:12 2013 +0200
sparc64: fix loosing interrupts
- clear interrupts only on writing to the interrupt clear registers
- don't overwrite a currently active interrupt request
- use the correct addresses for the interrupt clear registers
(section 19.3.3.3 of the UltraSPARCâ?¢-IIi Userâ??s Manual)
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 852e82f303884139ba59f7f26e761d937a25fa55
Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Date: Sat Apr 27 07:55:11 2013 +0200
sparc64: allow 64 IRQ lines
According to UltraSPARCâ?¢-IIi Userâ??s Manual, PBM has 64 IRQ lines.
Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 96fbd7de3656583d647c204c4138bbdcc3e35d2b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 23 13:07:40 2013 -0700
tcg-arm: Remove long jump from tcg_out_goto_label
Branches within a TB will always be within 16MB.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit df5e0ef711cdd2ebfd4bdf420bfde17aa28df8b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 13 15:24:33 2013 -0700
tcg-arm: Convert to CONFIG_QEMU_LDST_OPTIMIZATION
Move the slow path out of line, as the TODO's mention.
This allows the fast path to be unconditional, which can
speed up the fast path as well, depending on the core.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 302fdde73f88fd958acfa18b670eed092eab21a0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 13 13:40:43 2013 -0700
tcg-arm: Use movi32 + blx for calls on v7
Work better with branch predition when we have movw+movt,
as the size of the code is the same. Perhaps re-evaluate
when we have a proper constant pool.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 595b5397cc589d694ec3af660b21f483e8142f69
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 23 08:38:50 2013 -0700
tcg-arm: Delete the 'S' constraint
After the previous patch, 's' and 'S' are the same.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 702b33b1d5f8fee7e5799af450375671264a9ebd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 23:18:30 2013 -0700
tcg-arm: Improve scheduling of tcg_out_tlb_read
The schedule was fully serial, with no possibility for dual issue.
The old schedule had a minimal issue of 7 cycles; the new schedule
has a minimal issue of 5 cycles.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cee87be80a6e9cc853e07a4d3afc694604c9ac8d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 18:18:07 2013 -0700
tcg-arm: Split out tcg_out_tlb_read
Share code between qemu_ld and qemu_st to process the tlb.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9feac1d77010b371501728256be96bf91b641985
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 15:06:53 2013 -0700
tcg-arm: Cleanup most primitive load store subroutines
Use even more primitive helper functions to avoid lots of duplicated code.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34358a12c8a8f2f85a1420fa0a1112de1c6a55af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 10:34:18 2013 -0700
tcg-arm: Cleanup multiply subroutines
Make the code more readable by only having one copy of the magic
numbers, swapping registers as needed prior to that. Speed the
compiler by not applying the rd == rn avoidance for v6 or later.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13dd6fb962930a4b1d74f9b22342d1eb15e9194e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 09:50:25 2013 -0700
tcg-arm: Use R12 for the tcg temporary
R12 is call clobbered, while R8 is call saved. This change
gives tcg one more call saved register for real data.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4346457a47732cc0bd3a8f36d743624dc277ea55
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 09:49:04 2013 -0700
tcg-arm: Use TCG_REG_TMP name for the tcg temporary
Don't hard-code R8.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0637c56c99be1c73f5814c7f02c0735242b757e5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 22:11:30 2013 -0700
tcg-arm: Implement division instructions
An armv7 extension implements division, present on Cortex A15.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b6b24cb031d1d6e6f50abf0c8bdc1c309e549156
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 21:12:30 2013 -0800
tcg-arm: Implement deposit for armv7
We have BFI and BFC available for implementing it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e86e0f2807fbadee09d9e06f11df69339cbbd94c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 23:16:24 2013 -0800
tcg-arm: Improve constant generation
Try fully rotated arguments to mov and mvn before trying movt
or full decomposition. Begin decomposition with mvn when it
looks like it'll help. Examples include
-: mov r9, #0x00000fa0
-: orr r9, r9, #0x000ee000
-: orr r9, r9, #0x0ff00000
-: orr r9, r9, #0xf0000000
+: mvn r9, #0x0000005f
+: eor r9, r9, #0x00011000
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2df3f1ee68269d40f5dcb5e8d9aba0869e150896
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 19:51:56 2013 -0700
tcg-arm: Handle constant arguments to add2/sub2
We get to re-use the _rIN and _rIK subroutines to handle the various
combinations of add vs sub. Fold the << 21 into the opcode enum values
so that we can explicitly add TO_CPSR as desired.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d53b4c93caf16531e65a95a9b5c93228fe48f8b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 18:21:59 2013 -0700
tcg-arm: Use tcg_out_dat_rIN for compares
This allows us to emit CMN instructions.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9fda57549877045aa0ec91d2a067a67cb41a29f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 11 18:04:14 2013 -0700
tcg-arm: Allow constant first argument to sub
This allows the generation of RSB instructions.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9a86ae95d24c587285856405dffc9cacdf2b683
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 22:06:21 2013 -0800
tcg-arm: Handle negated constant arguments to and/sub
This greatly improves code generation for addition of small
negative constants.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19b62bf4148d834c709c464f6fb1c6b72f906250
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 21:36:45 2013 -0800
tcg-arm: Use bic to implement and with constant
This greatly improves the code we can produce for deposit
without armv7 support.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d6b64b2b606fe0fe5f2208e84ff7a28445de666a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Mar 31 13:15:19 2013 -0700
tcg: Log the contents of the prologue with -d out_asm
This makes it easier to verify changes to the code
generating the prologue.
[Aurelien: change the format from %i to %zu]
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ae12e3a643c66575c77211e1226ada041e56b889
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Sun Apr 14 16:06:59 2013 -0400
ccid: Fix crash when backend isn't specified
Reproducer:
./x86_64-softmmu/qemu-system-x86_64 -device usb-ccid,id=ccid0 -usb
-device ccid-card-emulated -monitor stdio
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit fc4d60ee16e9c20404e9970b421ac3e96df4c214
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 12 17:11:40 2013 -0700
tcg-arm: Fix local stack frame
We were not allocating TCG_STATIC_CALL_ARGS_SIZE, so this meant that
any helper with more than 4 arguments would clobber the saved regs.
Realizing that we're supposed to have this memory pre-allocated means
we can clean up the tcg_out_arg functions, which were trying to do
more stack allocation.
Allocate stack memory for the TCG temporaries while we're at it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ed605126a8d826e60587cc21d9e7b95e8c49b6f6
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Apr 21 00:42:56 2013 +0200
tcg: fix deposit_i64 op on 32-bit targets
On 32-bit TCG targets, when emulating deposit_i64 with a mov_i32 +
deposit_i32, care should be taken to not overwrite the low part of
the second argument before the deposit when it is the same the
destination.
This fixes the shld instruction in qemu-system-x86_64, which in turns
fixes booting "system rescue CD version 2.8.0" on this target.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 27 00:37:46 2013 +0200
target-ppc: slightly optimize lfiwax
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 076bfd7c65ce08c18d0c375e3779be25206ee2b7
Merge: 75f6e8b... 7d08d85...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 27 00:33:23 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (30 commits)
target-ppc: add support for extended mtfsf/mtfsfi forms
target-ppc: emulate store doubleword pair instructions
target-ppc: emulate load doubleword pair instructions
target-ppc: emulate lfiwax instruction
target-ppc: emulate fcpsgn instruction
target-ppc: emulate prtyw and prtyd instructions
target-ppc: emulate cmpb instruction
target-ppc: add instruction flags for Book I 2.05
disas: Disassemble all ppc insns for the guest
target-ppc: optimize fabs, fnabs, fneg
PPC: Fix dcbz for linux-user on 970
powerpc: correctly handle fpu exceptions.
pseries: Generate device paths for VIO devices
pseries: Convert VIO code to QOM style type safe(ish) casts
target-ppc: Synchronize VPA state with KVM
pseries: Fix some small errors in XICS logic
target-ppc: Add more stubs for POWER7 PMU registers
pseries: Fixes and enhancements to L1 cache properties
pseries: Fix incorrect calculation of RMA size in certain configurations
PPC: Fix compile with profiling enabled
...
commit c12915e638a31010923b8dbbf8ce06f564a175f9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 24 22:57:59 2013 +0200
win32: generate console executable again
The -mwindows option is not anymore in LIBS at this point of the Makefile,
it is only in libs_softmmu. Check the right variable.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c02817e5bfbb27955cac970019e6670dc427bc41
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Apr 27 00:27:48 2013 +0200
win32: move Makefile dependencies on version-obj-y to rules.mak
This makes the test on $(LIBTOOL) work. Otherwise, LIBTOOL
is /bin/false by the time the test is done.
Fixes Win32 compilation without a working cross-libtool.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6821cdc7c857c6af47277e98dde24cc99ddc0531
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Apr 27 00:25:31 2013 +0200
win32: add generic RC rules to rules.mak
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7d08d85645def18eac2a9d672c1868a35e0bcf79
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:22 2013 +0000
target-ppc: add support for extended mtfsf/mtfsfi forms
Power ISA 2.05 adds support for extended mtfsf/mtfsfi form, with a new
W field to select the upper part of the FPCSR register.
For that the helper is changed to handle 64-bit input values and mask with
up to 16 bits. The mtfsf/mtfsfi instructions do not have the W bit
marked as invalid anymore. Instead this is checked in the helper, which
therefore needs to access to the insns/insns_flags2. They are added in
the DisasContext struct. Finally change all accesses to the opcode fields
through extract helpers, prefixed with FP for consistency.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 44bc0c4d3e90bfa1fafdbcc19d023d2d4b119eed
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:21 2013 +0000
target-ppc: emulate store doubleword pair instructions
Needed for Power ISA version 2.05 compliance. The check for odd register
pairs is done using the invalid bits.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05050ee8049f9fe75ffcac4a5aa053b5631653bf
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:20 2013 +0000
target-ppc: emulate load doubleword pair instructions
Needed for Power ISA version 2.05 compliance. The check for odd register
pairs is done using the invalid bits.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 199f830d19576c77a5ed8fec81c218258d73f1dd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:19 2013 +0000
target-ppc: emulate lfiwax instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[agraf: fix tcg debug error]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f03328882f8008fc299d5f8ae33b9a80571fea3c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:18 2013 +0000
target-ppc: emulate fcpsgn instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 725bcec2885d4f6df78e24fb54459c9efb97abd5
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:17 2013 +0000
target-ppc: emulate prtyw and prtyd instructions
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[agraf: fix 32-bit host compile, simplify code]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcfda20f2f5df30d88d087d443c1c08649df8827
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:16 2013 +0000
target-ppc: emulate cmpb instruction
Needed for Power ISA version 2.05 compliance.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c2627b09d1bdee8a58730bbf48c76be48bd659f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:15 2013 +0000
target-ppc: add instruction flags for Book I 2.05
.. and enable it on POWER7 CPU.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88770fec6c8daeb96c1f5cdbedff9df173431fd6
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:14 2013 +0000
disas: Disassemble all ppc insns for the guest
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf45a2e67cab8fcccb24e389bbd4ef68866a1cff
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 20 08:56:13 2013 +0000
target-ppc: optimize fabs, fnabs, fneg
fabs, fnabs and fneg are just flipping the bit sign of an FP register,
this can be implemented in TCG instead of using softfloat.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 414f5d1448fef9aad6d37f1d40d1158396573447
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Apr 26 09:18:58 2013 +0200
PPC: Fix dcbz for linux-user on 970
The default with linux-user for dcbz on 970 is to emulate 32 byte clears.
However, redoing the dcbzl support we added a check to not honor the bit
in HID5 that sets this.
Remove the #ifdef check on linux user, so that we get 32 byte clears
again.
Reported-by: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit db72c9f256ae70b30c5d5985234f085df4226c55
Author: Tristan Gingold <gingold@xxxxxxxxxxx>
Date: Tue Apr 9 05:00:55 2013 +0000
powerpc: correctly handle fpu exceptions.
Raise the exception on the first occurence, do not wait for the next
floating point operation.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4eda5b7234265313b09c2c9f9fdd3a960db97db
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:17 2013 +0000
pseries: Generate device paths for VIO devices
This patch implements a get_dev_path qdev hook for the pseries paravirtual
VIO bus. With upcoming savevm support, this will become very important
for
scsi disks hanging of VIO virtual SCSI adapters. scsibus_get_dev_path
uses the get_dev_path of the parent adapter if available, but otherwise
just uses a local channel/target/lun number to identify the device. So if
two disks are present in the system having the same target and lun on
seperate VIO scsi adapters, savevm cannot distinguish them. Since the
conventional way of using VSCSI adapters is to have just one disk per
adapter, such a conflict is very likely.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fd506b4f61cd22793f8c54a9adf5c69345792501
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:16 2013 +0000
pseries: Convert VIO code to QOM style type safe(ish) casts
Curerntly the pseries VIO device code contains quite a few explicit
uses of DO_UPCAST and plain C casts. This is (obviously) type unsafe,
and not the conventional way of doing things in the QOM model. This
patch converts the code to use the QOM convention of per-type macros
to do verified casts with OBJECT_CHECK().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9b00ea4906a618756bcd10f09d432780eab87782
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:22 2013 +0000
target-ppc: Synchronize VPA state with KVM
For PAPR guests, KVM tracks the various areas registered with the
H_REGISTER_VPA hypercall. For full emulation, of course, these are
tracked
within qemu. At present these values are not synchronized. This is a
problem for reset (qemu's reset of the VPA address is not pushed to KVM)
and will also be a problem for savevm / migration.
The kernel now supports accessing the VPA state via the ONE_REG interface,
this patch adds code to qemu to use that interface to keep the qemu and
KVM ideas of the VPA state synchronized.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e03c902cb617414dae49d77a810f6957ff7affac
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:21 2013 +0000
pseries: Fix some small errors in XICS logic
Under certain circumstances the emulation for the pseries "XICS" interrupt
controller was clearing a pending interrupt from the XISR register,
without
also clearing the corresponding priority variable. This will cause
problems later when can trigger sanity checks in the under-development
in-kernel XICS implementation.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 702763fa322ea69dde92517735507e0ac3879b5d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:20 2013 +0000
target-ppc: Add more stubs for POWER7 PMU registers
In addition to the performance monitor registers found on nearly all
6xx chips, the POWER7 has two additional counters (PMC5 & PMC6) and an
extra control register (MMCRA). This patch adds stub support for them to
qemu - the registers won't do anything, but with this change won't cause
illegal instruction traps accessing them. They're also registered with
their ONE_REG ids, so their value will be kept in sync with KVM where
appropriate.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0cbad81f70546b58f08de3225f1eca7a8b869b09
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:19 2013 +0000
pseries: Fixes and enhancements to L1 cache properties
PAPR requires that the device tree's CPU nodes have several properties
with information about the L1 cache. We already create two of these
properties, but with incorrect names - "[id]cache-block-size" instead
of "[id]-cache-block-size" (note the extra hyphen).
We were also missing some of the required cache properties. This
patch adds the [id]-cache-line-size properties (which have the same
values as the block size properties in all current cases). We also
add the [id]-cache-size properties.
Adding the cache sizes requires some extra infrastructure in the
general target-ppc code to (optionally) set the cache sizes for
various CPUs. The CPU family descriptions in translate_init.c can set
these sizes - this patch adds correct information for POWER7, I'm
leaving other CPU types to people who have a physical example to
verify against. In addition, for -cpu host we take the values
advertised by the host (if available) and use those to override the
information based on PVR.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f36951c19f15f3c053a31234bd2c297d86c1a052
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 7 19:08:18 2013 +0000
pseries: Fix incorrect calculation of RMA size in certain configurations
For the pseries machine, we need to advertise to the guest the size of its
RMA - that is the amount of memory it can access with the MMU off. For HV
KVM, this is constrained by the hardware limitations on the virtual RMA of
one hash PTE per PTE group in the hash page table. We already had code to
calculate this, but it was assuming the VRMA page size was the same as the
(host) backing page size for guest RAM.
In the case of a host kernel configured for 64k base page size, but
running
on hardware (or firmware) which only allows 4k pages, the hose will do all
its allocations with a 64k page size, but still use 4k hardware pages for
actual mappings. Usually that's transparent to things running under the
host, but in the case of the maximum VRMA size it's not.
This patch refines the RMA size calculation to instead use the largest
available hardware page size (as reported by the SMMU_INFO call) which is
less than or equal to the backing page size. This now gives the correct
RMA size in all cases I've tested.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c8ff5daa09516272117eb23cd00da5d188ba73eb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Apr 19 02:35:08 2013 +0200
PPC: Fix compile with profiling enabled
When using profiling, we rely on profile_getclock() being available
at our disposal. Somehow that function got moved from an indirect
include we used to have in translate-init.c, so that we were now
left not properly compiling anymore.
Add an explicit include to timer.h which defines profile_getclock,
so that we can compile again.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 20f649dd22dae13301c906c27a8768a318591ae8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 4 18:45:07 2013 +0200
PPC: mac newworld: fix cpu NIP reset value
On -M mac99, we can run 970 CPUs. However, these CPUs define the initial
instruction pointer they start execution at as part of their bootup
protocol,
so effectively it's up to the board to decide where they start.
This went unnoticed, because they used to boot at the same location our
flash
was mapped to, but due to the recent reset changes our 970 CPUs want to
reset
to 0x100 now, which is always a 0 instruction.
Set the initial IP to something reasonable for -M mac99.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
commit 31f2cb8ff415e376b05335dcf63ba38c00f29e5e
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Sun Feb 24 18:16:21 2013 +0000
Enable kvm emulated watchdog
Enable the KVM emulated watchdog if KVM supports (use the
capability enablement in watchdog handler). Also watchdog exit
(KVM_EXIT_WATCHDOG) handling is added.
Watchdog state machine is cleared whenever VM state changes to running.
This is to handle the cases like return from debug halt etc.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: rebase to current code base, fix non-kvm cases]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cae7f586419ad261f55ef8700bf8f3fa5b4879d4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 4 15:40:44 2013 +0200
linux-headers: Update to kvm/queue
Based on kvm.git queue branch with commit e1e2e605.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 752d634ecc74c76eb5e32db0e536d84c2d6aa3d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Apr 3 10:56:45 2013 +0000
target-ppc: Fix narrow-mode add/sub carry output
Broken in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a, the carry itself was
fixed in 79482e5ab38a05ca8869040b0d8b8f451f16ff62. But we still need to
produce the full 64-bit addition.
Simplify the conditions at the top of the functions for when we need a
new temporary. Only plain addition is important enough to warrent
avoiding
the temporary, and the extra tcg move op that would come with it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2bc173224adc0fc318f2bd6fcf65dfdbc7d51123
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Wed Apr 3 04:03:38 2013 +0000
PPC: Add breakpoint registers for 603 and e300
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 29 02:06:28 2013 +0000
PPC: fix hreset_vector for 60x, 7x0, 7x5, G2, MPC8xx, MPC5xx, 7400 and
7450
According to the different user's manuals, the vector offset for system
reset (both /HRESET and /SRESET) is 0x00100.
This patch may break support of some executables, as the power-on start
address may change. For a specific board, if the power-on start address
is different than HRESET vector (i.e. 0x00000100 or 0xfff00100), this
should be fixed in board's initialization code.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e7a6db96566fe4162edaeb3e8b62fc8004d1598
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 14:33:16 2013 +0000
target-ppc: fix nego and subf*o instructions
The overflow computation of nego and subf*o instructions has been broken
in commit ffe30937. Contrary to other targets, the instruction is subtract
from an not subtract on PowerPC.
This patch fixes the issue by using the correct argument in the xor
computation. Thanks to Peter Maydell for the hint.
With this change the PPC emulation passes the Gwenole Beauchesne
testsuite again.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2cf3eb6df552cee74b52de9989e270b74e42847e
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 29 02:06:27 2013 +0000
PPC: Remove env->hreset_excp_prefix
This value is not needed if we use correctly the MSR[IP] bit.
excp_prefix is always 0x00000000, except when the MSR[IP] bit is
implemented and set to 1, in that case excp_prefix is 0xfff00000.
The handling of MSR[IP] was already implemented but not used at reset
because the value of env->msr was changed "manually".
The patch uses the function hreg_store_msr() to set env->msr, this
ensures a good handling of MSR[IP] at reset, and therefore a good value
for excp_prefix.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3b961124bf8a0b490e4fc3a6a39e004500ae6967
Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Date: Sat Mar 30 06:40:49 2013 +0000
PPC: e500: advertise 4.2 MPIC only if KVM supports EPR
Older KVM versions don't support EPR which breaks guests when we announce
MPIC variants that support EPR.
Catch that case and expose only MPIC version 2.0 which tells the guest
that
we don't support the EPR capability yet.
Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
[agraf: Add comment, route cap check through kvm_ppc.c]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e71ec2e93dad4446d245031382e30b377640d9ca
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 05:06:23 2013 +0000
target-ppc: Enable ISEL on POWER7
ISEL is a Power ISA 2.06 instruction and thus is available on POWER7.
Given this is trapped and emulated by the Linux kernel, I guess it went
unnoticed.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 75f6e8b0f121beeee6a95eb9e35d88ec1f01824f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Sun Apr 14 03:14:49 2013 +0000
virtio-rng-s390: add properties.
I don't see any reason why these properties are missing.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Note: Need to apply virtio-rng-refactoring first!
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3474b679486caa8f6448bae974e131370f360c13
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Thu Apr 25 04:25:51 2013 +0000
Utilize selective runtime reg sync for hot code paths
Make use of new kvm_s390_get_registers_partial() for
kvm_handle_css_inst() and
handle_hypercall() since they only need registers from the partial set
and they
are called quite frequently.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 420840e58b85f7f4e5493dca3f273566f261090a
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Thu Apr 25 04:25:50 2013 +0000
Allow selective runtime register synchronization
We want to avoid expensive register synchronization IOCTL's on the hot
path so
a new kvm_s390_get_registers_partial() is introduced as a compliment to
kvm_arch_get_registers(). The new function is called on the hot path, and
kvm_arch_get_registers() is called when we need the complete runtime
register
state.
kvm_arch_put_registers() is updated to only sync the partial runtime set
when
we've only dirtied the partial runtime set. This is to avoid sending bad
data
back to KVM if we've only partially synced the runtime register set.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7dc5af5545bb72e1343cc959b3f0e5cdd8758f1f
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 26 02:12:49 2013 +0000
Common: Add quick access to first boot device
Instead of manually parsing the boot_list as character stream,
we can access the nth boot device, specified by the position in the
boot order.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba747cc8f31a1de7e0a20e7f0cf97965be338e70
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:12:54 2013 +0200
S390: CCW: Use new, working firmware by default
Since we now have working firmware for s390-ccw in the tree, we can
default to it on our s390-ccw machine, rendering it more useful.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0c1fecdd5234ba4bb0406362d38f8806a5be8fcc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:10:50 2013 +0200
S390: ccw firmware: Add compiled blob
Now that we have all the source code ready, add a compiled blob into
the QEMU source tree, so that people without access to an s390 compiler
can run the s390-ccw firmware.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit abbbe3de4aea92319f77cc9d402e983513d08539
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:55 2013 +0000
s390-ccw.img: Get queue config from host.
Ask the host about the configuration instead of guessing it.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0f3f1f302fd2021a5ce6cb170321d0a0d35bdec5
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:54 2013 +0000
s390-ccw.img: Rudimentary error checking.
Try to handle at least some of the errors that may happen.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 776e7f0f215dd11dde85277723408fae3d319143
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:53 2013 +0000
s390-ccw.img: Enhance drain_irqs().
- Use tpi + tsch to get interrupts.
- Return an error if the irb indicates problems.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 22d67ab55aad82383a0e5628b902a1a0556b2fc9
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Apr 26 02:12:52 2013 +0000
s390-ccw.img: Detect devices with stsch.
stsch is the canonical way to detect devices. As a bonus, we can
abort the loop if we get cc 3, and we need to check only the valid
devices (dnv set).
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dc03640b5851d3115448493f0eee2b7f539de81a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:04 2013 +0000
s390-ccw.img: Fix compile warning in s390 ccw virtio code
Lets fix this gcc warning:
virtio.c: In function â??vring_send_bufâ??:
virtio.c:125:35: error: operation on â??vr->next_idxâ?? may be undefined
[-Werror=sequence-point]
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6328801f19b08302377e812c454fd2b837f669e3
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:05 2013 +0000
s390-ccw.img: Take care of the elf->img transition
We have to call strip with s390-ccw.elf as input and
s390-ccw.img as output
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9933c30509f97e04be0a348659f38b5f53c1ad5c
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:03 2013 +0000
s390-ccw.img: build s390-ccw rom on s3900 system by default
Lets build the s390-ccw rom if on s390. Also fix the separate build
folder case.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f61cbc108dd16df9a53649d53f26143ad506fe1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Apr 23 01:23:02 2013 +0000
s390-ccw.img: replace while loop with a disabled wait on s390 bios
dont waste cpu power on an error condition. Lets stop the guest
with a disabled wait.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b462fcd57c0949e4dfd457fafa91db17e0e99113
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:03:39 2013 +0200
S390: ccw firmware: Add Makefile
This patch adds a makefile, so we can build our ccw firmware. Also
add the resulting binaries to .gitignore, so that nobody is annoyed
they might be in the tree.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 685d49a63e0665f609973ffe4ba34f06981e1b03
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:02:49 2013 +0200
S390: ccw firmware: Add bootmap interpreter
On s390, there is an architected boot map format that we can read to
boot a certain entry off the disk. Implement a simple reader for this
that always boots the first (default) entry.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c9c39d3b5ea870073703141ba04813c7a8779b02
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:01:49 2013 +0200
S390: ccw firmware: Add glue header
Like all great programs, we have to call between different functions in
different object files. And all of them need a common ground of defines.
Provide a file that provides these defines.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e17c2c15b354a1e6c1d1ad41bb17f7bf146e9ba
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 21:01:00 2013 +0200
S390: ccw firmware: Add virtio device drivers
In order to boot, we need to be able to access a virtio-blk device through
the CCW bus. Implement support for this.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0369b2eb0707970c5f031b3ece84ccda953a8375
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:59:25 2013 +0200
S390: ccw firmware: Add sclp output
In order to communicate with the user, we need an I/O mechanism that he
can read. Implement SCLP ASCII support, which happens to be the default
in the s390 ccw machine.
This file is missing read support for now. It can only print messages.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 92f2ca38b01578075208799dd2f060fcc3638ed4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:57:58 2013 +0200
S390: ccw firmware: Add main program
This C file is the main driving piece of the s390 ccw firmware. It
provides a search for a workable block device, sets it as the default
to boot off of and boots from it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80fea6e8930384d7d8adae0eb1a00acb7647f7ec
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 20:56:08 2013 +0200
S390: ccw firmware: Add start assembly
We want to write most of our code in C, so add a small assembly
stub that jumps straight into C code for us to continue booting.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d0249ce5a8d11564958262fd567d1ea770358134
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:52:53 2013 +0200
S390: IPL: Use different firmware for different machines
We have a virtio-s390 and a virtio-ccw machine in QEMU. Both use vastly
different ways to do I/O. Having the same firmware blob for both doesn't
really make any sense.
Instead, let's parametrize the firmware file name, so that we can have
different blobs for different machines.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3325995640e0a598c4c350a1a02357b422e90973
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:47:32 2013 +0200
S390: IPL: Support ELF firmware
Our firmware blob is always a raw file that we load at a fixed address
today.
Support loading an ELF blob instead that we can map high up in memory.
This way we don't have to be so conscious about size constraints.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74ad2d22c1f6e2b24412f6b2adea7d6f9a719047
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 22 16:44:39 2013 +0200
S390: Make IPL reset address dynamic
We can have different load addresses for different blobs we boot with.
Make the reset IP dynamic, so that we can handle things more flexibly.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf9b255f484fd61cbaa91faeff254140a0ecd18c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:48:46 2013 -0500
gtk: refactor menu creation
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c34688f9015c5dacc81efc4f2a0df5742d9c927c
Merge: 186b027... 859e555...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:32:17 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Liu Yuan (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
sheepdog: fix loadvm operation
sheepdog: resend write requests when SD_RES_READONLY is received
sheepdog: add helper function to reload inode
sheepdog: add SD_RES_READONLY result code
sheepdog: cleanup find_vdi_name
rbd: Fix use after free in rbd_open()
block: Disable driver-specific options for 1.5
sheepdog: implement .bdrv_co_is_allocated()
sheepdog: use BDRV_SECTOR_SIZE
sheepdog: add discard/trim support for sheepdog
block/ssh: Require libssh2 >= 1.2.8.
Message-id: 1366976682-10251-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 186b027d98a3c91c1c6dee631a027d5b2a0fce25
Merge: a1bff71... 6ea8430...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 26 08:32:13 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Ed Maste (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
bsd-user: Track change in FreeBSD SYSCTL(9) types
virtio: Fix compilation without CONFIG_VHOST_SCSI
qemu-doc: Option -ignore-environment removed.
s390x: use CONFIG_INT128 to detect __uint128_t
linux-user: fix compile error due to stray colon at end of #ifdef line
Message-id: 1366975563-16216-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 859e5553a428225de6b8ef302cdcfd68d140b926
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Thu Apr 25 20:49:39 2013 +0800
sheepdog: fix loadvm operation
Currently the 'loadvm' opertaion works as following:
1. switch to the snapshot
2. mark current working VDI as a snapshot
3. rely on sd_create_branch to create a new working VDI based on the
snapshot
This works not the same as other format as QCOW2. For e.g,
qemu > savevm # get a live snapshot snap1
qemu > savevm # snap2
qemu > loadvm 1 # This will steally create snap3 of the working VDI
Which will result in following snapshot chain:
base <-- snap1 <-- snap2 <-- snap3
^
|
working VDI
snap3 was unnecessarily created and might be annoying users.
This patch discard the unnecessary 'snap3' creation. and implement
rollback(loadvm) operation to the specified snapshot by
1. switch to the snapshot
2. delete working VDI
3. rely on sd_create_branch to create a new working VDI based on the
snapshot
The snapshot chain for above example will be:
base <-- snap1 <-- snap2
^
|
working VDI
Cc: qemu-devel@xxxxxxxxxx
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c31de2fdd534c065ce4710f6e8df3921e98c4f
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:54 2013 +0900
sheepdog: resend write requests when SD_RES_READONLY is received
When a snapshot is taken from out side of qemu (e.g. qemu-img
snapshot), write requests to the current vdi return SD_RES_READONLY.
In this case, the sheepdog block driver needs to update the current
inode to the latest one and resend the write requests.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ff53a0eb89afacfa1ba56b009d40be942d3bd63
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:53 2013 +0900
sheepdog: add helper function to reload inode
This adds a helper function to update the current inode state with the
specified vdi object.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a0b5490338ed0fdf55c43062c88dd7638f05d6d
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:52 2013 +0900
sheepdog: add SD_RES_READONLY result code
Sheepdog returns SD_RES_READONLY when qemu sends write requests to the
snapshot vdi. This adds the result code and makes sd_strerror() print
its error reason.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 982dcbf4cbe80fa362c1edc37b2ced1cb8bcf37b
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Apr 26 01:19:51 2013 +0900
sheepdog: cleanup find_vdi_name
This makes 'filename' and 'tag' constant variables, and renames
'for_snapshot' to 'lock' to clear how it works.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3ca988d2b0ee94dc8d53eff4b1c2de4ac06a270
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 25 15:59:27 2013 +0200
rbd: Fix use after free in rbd_open()
Commit a9ccedc3 frees the QemuOpts for the driver-specific options
immediately, even though it still needs the filename string that is
contained there. This doesn't work. Move the deletion of the QemuOpts to
the end of the function where its content isn't needed any more.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 24 15:29:29 2013 +0200
block: Disable driver-specific options for 1.5
We don't want to commit to the API yet before everything is worked out.
Disable it for the 1.5 release. This commit is meant to be reverted
after the 1.5 release.
The disabling of the driver-specific options is achieved by applying the
old checks while parsing the command line.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8d71c63137600a41b5b959217c0492278536b3dc
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:35 2013 +0800
sheepdog: implement .bdrv_co_is_allocated()
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e8bfaa2faeb7c9585a5586aafaad5f3affc37814
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:34 2013 +0800
sheepdog: use BDRV_SECTOR_SIZE
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cac8f4a60fc5c372bacd59eeff0646955fb4f246
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Apr 23 14:03:33 2013 +0800
sheepdog: add discard/trim support for sheepdog
The 'TRIM' command from VM that is to release underlying data storage for
better thin-provision is already supported by the Sheepdog.
This patch adds the TRIM support at QEMU part.
For older Sheepdog that doesn't support it, we return 0(success) to upper
layer.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4fc16838b8392a29644d4d2c01495e6ff447a6f0
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Fri Apr 19 09:16:39 2013 +0100
block/ssh: Require libssh2 >= 1.2.8.
libssh2 >= 1.2.8 is required to enable this block device (because
that version introduced the libssh2_session_handshake call).
Change the test to use pkg-config exclusively. If the user requests
--enable-libssh2 and the minimum version is not available, then the
following error is displayed:
$ ./configure --enable-libssh2
ERROR: libssh2 >= 1.2.8 required for --enable-libssh2
If --enable-libssh2 is not specified, then the feature is silently
disabled if sufficiently new libssh2 is not available.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6ea8430d98c48eb67e47d14dfe8c0fdb86413555
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 13:59:41 2013 -0400
bsd-user: Track change in FreeBSD SYSCTL(9) types
Originally from Garrett Cooper in FreeBSD PR ports/155558
http://www.freebsd.org/cgi/query-pr.cgi?pr=155558
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b702d2aebeb6b1392f42262f537f70e6890233a7
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 13:38:28 2013 -0400
virtio: Fix compilation without CONFIG_VHOST_SCSI
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 48c75f484de13d59df6ae0e6becfe4ad4cd41ad5
Author: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
Date: Thu Apr 25 18:41:16 2013 +0200
qemu-doc: Option -ignore-environment removed.
Has been removed in commit fc9c54124d134dbd76338a92a91804dab2df8166.
Signed-off-by: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d49b8e0b299df3f0472945eb6d33b8413d102046
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Apr 23 18:15:12 2013 +0100
s390x: use CONFIG_INT128 to detect __uint128_t
Target s390x uses ad-hoc macro magic to guess if the compiler
supports the GCC extension __uint128_t. This patch uses the
the dedicated macro CONFIG_INT128 defined by configure instead.
This fixes compilation with the CIL source code analyzer, which
uses GCC as a preprocessor but does not support __uint128_t.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7edd2cf1a2eace84e3f8753e912449ae8871802f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Apr 21 13:30:03 2013 +0100
linux-user: fix compile error due to stray colon at end of #ifdef line
Remove a stray colon from the end of a #ifdef line. Some versions
of gcc complain about this:
linux-user/syscall.c: In function â??do_syscallâ??:
linux-user/syscall.c:7606:28: error: extra tokens at end of #ifdef
directive [-Werror]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-By: Riku Voipio <riku.voipio@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a1bff71c56f2d1048244c829b63797940dd4ba0e
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Apr 23 14:27:09 2013 +0200
microblaze: Add internal base vectors reg
Configurable at CPU synthesis/instantiation.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e3351000cd682200835763caca87adf708ed1c65
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Apr 22 14:41:28 2013 +1000
Makefile: Use QEMU_FLAGS for DTC compilation
Build DTC as QEMU is built. Fixes the issue with mingw build which can't
handles DTC's default CFLAGS.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9005a51b096272e1834638f8e184706548ee7364
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Apr 22 14:40:49 2013 +1000
Makefile: Don't build shared libfdt
The submodule DTC should just build and use DTC as static (the whole
motivation for using submod is lack of widespread distro support).
The .so causes build failures on some platforms, so adjust the make
target to just build the static lib.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 5257144a7860313c8cf19271c85f76fcbd123c39
Merge: 79f2007... 1f8f987...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Apr 25 15:57:27 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: introduce query-command-line-options
Message-id: 1366922656-32545-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 79f2007578a0a205e25a6f299cc52d6732337089
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Apr 25 13:53:02 2013 +0200
qemu-char: Set foo_tag = 0 when returning FALSE from callbacks
While reviewing some patches I found this problem where tcp_chr_accept
does not clear listen_tag when returning FALSE, leading to a double
g_source_remove of the underlying source. Not really a problem unless the
id
gets re-used in between, but still something we should fix.
While at it I've also reviewed all the other code in qemu-char.c for
similar problems and found that pty_chr_timer has the same problem.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1366890782-10311-1-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4dcd8ace175a1a6bfb8945d8ae1906be051b36b
Author: Ed Maste <emaste@xxxxxxxxxxx>
Date: Thu Apr 25 12:17:11 2013 -0400
Remove unnecessary FreeBSD #include
sys/param.h was included to define __FreeBSD_version, but the conditional
using it was removed by commit d05ef160453e98546a4197496dc8a3cb2defac53
(Brad Smith, "Allow clock_gettime() monotonic clock to be utilized on more
OS's"), so the include is no longer needed here.
Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1366906631-2680-1-git-send-email-emaste@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d3002b0463727bf8110833b9d1a6efaa28990c28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 25 09:33:19 2013 +0200
console: add dummy surface for guests without graphic card
So users get a notification instead of a crash.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5209089fcd1373c363dc424827593ffaced12203
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 23 15:44:31 2013 +0200
console: zap ds arg from register_displaychangelistener
We don't have multiple DisplayStates any more,
so passing it in as argument is not needed.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cdd5b9375744130e2f49548a3cac7be176a931ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 23 13:26:59 2013 +0200
console: switch ppm_save to qemu_open
... so it works with fdset.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 14a936490bf90df32ab83d13563efe4b4c768c3c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 07:30:40 2013 +0200
console: add qemu_console_lookup_by_device
Look up the QemuConsole for a given device, using the new link.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aa2beaa1f57ca329cfceece08cc19d52368e6a8f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 17 10:21:27 2013 +0200
console: add device link to QemuConsoles
So it is possible to figure which qemu console displays which device.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95be0669a353d7f4093876a8fe94474e39c7af9d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 17 09:45:10 2013 +0200
console: qom-ify QemuConsole
Just the minimal bits to turn QemuConsoles into Objects.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1f8f987d349f8f1bace4b47a83323b68ab0e084c
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Apr 25 17:50:35 2013 +0800
monitor: introduce query-command-line-options
Libvirt has no way to probe if an option or property is supported,
This patch introduces a new qmp command to query command line
option information. hmp command isn't added because it's not needed.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
CC: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
CC: Osier Yang <jyang@xxxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7c4869761d7f2e0a3f806a5359eea5d2473ec5d5
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Apr 23 17:15:19 2013 +0200
virtio-ccw: Check indicators location.
If a guest neglected to register (secondary) indicators but still runs
with notifications enabled, we might end up writing to guest zero;
avoid this by checking for valid indicators and only writing to the
guest and generating an interrupt if indicators have been setup.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 9953f8822cc316eec9962f0a2858c3439a80adec
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:03 2013 +0200
pc: Kill the "use flash device for BIOS unless KVM" misfeature
Use of a flash memory device for the BIOS was added in series "[PATCH
v10 0/8] PC system flash support", commit 4732dca..1b89faf, v1.1.
Flash vs. ROM is a guest-visible difference. Thus, flash use had to
be suppressed for machine types pc-1.0 and older. This was
accomplished by adding a dummy device "pc-sysfw" with property
"rom_only":
* Non-zero rom_only means "use ROM". Default for pc-1.0 and older.
* Zero rom_only means "maybe use flash". Default for newer machines.
Not only is the dummy device ugly, it was also retroactively added to
the older machine types! Fortunately, it's not guest-visible (thus no
immediate guest ABI breakage), and has no vmstate (thus no immediate
migration breakage). Breakage occurs only if the user unwisely
enables flash by setting rom_only to zero. Patch review FAIL #1.
Why "maybe use flash"? Flash didn't (and still doesn't) work with
KVM. Therefore, rom_only=0 really means "use flash, except when KVM
is enabled, use ROM". This is a Bad Idea, because it makes enabling/
disabling KVM guest-visible. Patch review FAIL #2.
Aside: it also precludes migrating between KVM on and off, but that's
not possible for other reasons anyway.
Fix as follows:
1. Change the meaning of rom_only=0 to mean "use flash, no ifs, buts,
or maybes" for pc-i440fx-1.5 and pc-q35-1.5. Don't change anything
for older machines (to remain bug-compatible).
2. Change the default value from 0 to 1 for these machines.
Necessary, because 0 doesn't work with KVM. Once it does, we can flip
the default back to 0.
3. Don't revert the retroactive addition of device "pc-sysfw" to older
machine types. Seems not worth the trouble.
4. Add a TODO comment asking for device "pc-sysfw" to be dropped once
flash works with KVM.
Net effect is that you get a BIOS ROM again even when KVM is disabled,
just like for machines predating the introduction of flash.
To get flash instead, use "--global pc-sysfw.rom_only=0".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd028f64f662c801fd5a54d0e3a1d2baeee93ea
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:02 2013 +0200
pc: Split pc_init_pci_1_0() off pc_init_pci_1_2()
Just to make the next commit easier to review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 36afbc5135062ccd7d0166ffc3ddbca052d05c71
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Apr 12 17:25:01 2013 +0200
pc: Inline pc_init_pci_1_3() into pc_init_pci_1_2()
Just to make the commit after next easier to review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365780303-26398-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1bfffe21a686ab273abce5ef12e8d2a3de320023
Merge: f3aa844... 57f9783...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 24 13:23:26 2013 -0500
Merge remote-tracking branch 'alon/libcacard_ccid.1' into staging
# By Alon Levy (15) and others
# Via Alon Levy
* alon/libcacard_ccid.1: (28 commits)
libcacard/cac: change big switch functions to single return point
dev-smartcard-reader: empty implementation for Mechanical (fail
correctly)
libcacard: move atr setting from macro to function
libcacard/vreader: add debugging messages for apdu
dev-smartcard-reader: copy atr protocol to ccid parameters
dev-smartcard-reader: change default protocol to T=0
dev-smartcard-reader: define structs for CCID_Parameter internals
ccid-card-passthru, dev-smartcard-reader: add debug environment
variables
ccid-card-passthru: add atr check
libcacard: change default ATR
dev-smartcard-reader: reuse usb.h definitions
dev-smartcard-reader: support windows guest
dev-smartcard-reader: remove aborts (never triggered, but just in case)
dev-smartcard-reader: nicer debug messages
dev-smartcard-reader: white space fixes
libcacard: remove default libcoolkey loading
libcacard: remove sql: prefix
libcacard: teach vscclient to use GMainLoop for portability
libcacard: vscclient to use QemuThread for portability
libcacard: split vscclient main() from socket reading
...
Message-id: 921423767.1475937.1366790789930.JavaMail.root@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f3aa844bbb2922a5b8393d17620eca7d7e921ab3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 16 10:50:38 2013 +0200
build: include config-{, all-}devices.mak after defining CONFIG_SOFTMMU
and CONFIG_USER_ONLY
Moving the inclusions closer to Makefile, and before rules.mak, makes
Makefile and Makefile.target more consistent with each other.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1366102238-12374-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fca0a70cdb629b1184f80a7531def457f528b4ca
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:23 2013 +0200
virtio: drop unused function prototypes.
This removes the unused prototypes in virtio.h.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a1a8cc7af5741a4221e1c5bc80c41390d896ff5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:22 2013 +0200
virtio: cleanup: init and exit function.
This clean the init and the exit functions and rename
virtio_common_cleanup
to virtio_cleanup.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c819449836b926d6f9db860127211ef092da88e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:21 2013 +0200
virtio: remove virtiobindings.
This remove virtio-bindings, and use class instead.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 181103cd52710b987799ae980bb92407994243bc
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:20 2013 +0200
virtio: remove the function pointer.
This remove the function pointer in VirtIODevice, and use only
VirtioDeviceClass function pointer.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a2f1078b70b6cfc98ed795f17f9d975b1dec1f65
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:19 2013 +0200
virtio-pci: cleanup.
This remove the init, exit functions as they are no longer used.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d51fcfac8aca37f5f10981d2229681474de6304d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:18 2013 +0200
virtio-bus: make virtio_x_bus_new static.
virtio_x_bus_new are only used in file scope.
So this make them static.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5d448f9dac460d0adf7d7549a9c324f50f1dd1e2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:21:17 2013 +0200
virtio-bus: add new functions.
This add two functions:
* virtio_bus_set_vdev_config.
* virtio_bus_set_vdev_feature.
Needed by virtio-ccw.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366791683-5350-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 611aa333b472c3fee5d4aed3b7e007621797e895
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:08:01 2013 +0200
virtio-rng: cleanup: use QOM casts.
As the virtio-rng-pci, virtio-rng-s390 and virtio-rng-ccw are
switched to the new API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 65f3b678f5b825010a1d167e82dca26ca84a199d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:08:00 2013 +0200
virtio-rng: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 46a5a89d654573425b63f8a7a613833973955f35
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:59 2013 +0200
virtio-rng: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2db26d4ca240bc0f04898253b9469a2435665084
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:58 2013 +0200
virtio-rng-ccw: switch to the new API.
Here the virtio-rng-ccw is modified for the new API. The device
virtio-rng-pci extends virtio-pci. It creates and connects a
virtio-rng-device
during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0bca1f531312037ab988b883ea3df85ddd2cc5b1
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:57 2013 +0200
virtio-rng-s390: switch to the new API.
Here the virtio-rng-s390 is modified for the new API. The device
virtio-rng-s390 extends virtio-s390-device as before. It creates and
connects a virtio-rng during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 59ccd20a9ac719cff82180429458728f03ec612f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:56 2013 +0200
virtio-rng-pci: switch to the new API.
Here the virtio-rng-pci is modified for the new API. The device
virtio-rng-pci extends virtio-pci. It creates and connects a
virtio-rng-device
during the init. The properties are not changed.
The virtio_pci_reset function, is removed as no longer used.
The virtio_pci_rst function, is renamed virtio_pci_reset.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6eac8aec02b1e9c5a626820bcca7654cb7d006a7
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:55 2013 +0200
virtio-rng: add virtio-rng device.
Create virtio-rng-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit af1a8ad6467eb7056573bc3580d3d1824a05224a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Apr 24 10:07:54 2013 +0200
virtio-rng: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-rng properties. So *conf is replaced by conf.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1366790881-3026-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5a37532d0897de488c35ab2db6d86647bd2a1b6f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 12:08:38 2013 +0200
input: introduce keyboard handler list
Add a linked list of keyboard handlers. Added handlers will go
to the head of the list. Removed handlers will be zapped from
the list. The head of the list will be used for events.
This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events
will be re-routed to the ps/2 kbd instead of being discarded.
[ v2: fix cut+paste bug found my Markus ]
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1366798118-3248-3-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72711efb58c13e28c89813490120b32947a2d719
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 12:08:37 2013 +0200
input: make QEMUPutLEDEntry + QEMUPutMouseEntry private
There is no need for anybody outside ui/input.c to access the
struct elements. Move the definitions, leaving only the typedefs
in the header files.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1366798118-3248-2-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3ac6b53d4e8ed6fa2ca1af87c68a8b7d5535220
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed Apr 24 18:37:22 2013 +0800
ich9: kill cmos_s3
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366799842-18550-1-git-send-email-hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57f97834efe0c208ffadc9d2959f3d3d55580e52
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 21:43:36 2013 +0200
libcacard/cac: change big switch functions to single return point
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 58aeda15abb963196faaa4a0f23c5af45840f1b0
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 17:31:10 2013 +0200
dev-smartcard-reader: empty implementation for Mechanical (fail correctly)
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 0b6a16c1a47b622b1a692ab179013d9e30e9cf3b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 16:27:43 2013 +0200
libcacard: move atr setting from macro to function
Only because qemu's checkpatch complains about it.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 7a6858962457c54be44715d6562504c765d9ea76
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:32:19 2013 +0200
libcacard/vreader: add debugging messages for apdu
Using g_debug with log domain libcacard
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 2f8f916b6d4482976bb5cf179f65aa2cfcd1aec9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:58:29 2013 +0200
dev-smartcard-reader: copy atr protocol to ccid parameters
Adds todos.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d7d218ef02d87c637d20d64da8f575d434ff6f78
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Mar 27 10:14:15 2013 +0200
dev-smartcard-reader: change default protocol to T=0
We don't support T=1 so we shouldn't advertise it by default.
Two independent changes:
* Default ATR
sets T=0. This gets overwritten by the client provided ATR later.
* Class descriptor
changes dwAdvertise dwProtocols.PPPP to 0x1 and dwProtocols.RRRR=0 per
spec.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 4942d6c39477f441a106430ab11f85806b4532f5
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:57:45 2013 +0200
dev-smartcard-reader: define structs for CCID_Parameter internals
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit b16352acf3105000e14f194b556e159d5d06cff9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:41:28 2013 +0200
ccid-card-passthru, dev-smartcard-reader: add debug environment variables
Introduces a new utility function: parse_debug_env to avoid code
duplication.
This overrides whatever debug value is set on the corresponding devices
from the command line, and is meant to ease the usage with any
management stack. For libvirt you can set environment variables by
extending the dom namespace, i.e:
<domain type='kvm' id='3'
xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<qemu:commandline>
<qemu:env name='QEMU_CCID_PASSTHRU_DEBUG' value='4'/>
<qemu:env name='QEMU_CCID_DEBUG' value='4'/>
</qemu:commandline>
</domain>
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 0e61400c1941aabc9f45d5ff961b57337c7caac6
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:39:09 2013 +0200
ccid-card-passthru: add atr check
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit a26dfd95d33d650f9f9f93b6ee6f03be925db1a8
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:35:24 2013 +0200
libcacard: change default ATR
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 693e47738d05463b2743b0a652412d33cf254977
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 5 15:31:26 2013 +0200
dev-smartcard-reader: reuse usb.h definitions
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit c5cd7c875608911ec74817d24cd12b825014ba19
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 21:40:53 2013 +0200
dev-smartcard-reader: support windows guest
By not advertising USB wakeup support (which we don't).
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 47bf53af7507986fc473cb308324340448fd85e7
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:55:07 2013 +0200
dev-smartcard-reader: remove aborts (never triggered, but just in case)
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 7e1ac5abe3fbbfee4ddfc2d9971a644bd787e055
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:50:33 2013 +0200
dev-smartcard-reader: nicer debug messages
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit 4543d43c6181d90f86fb528430f250810dde03d5
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Mar 4 18:45:49 2013 +0200
dev-smartcard-reader: white space fixes
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit ad2181f2b612cd8bf0a790faa2a1b51559f7234b
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Mar 20 14:07:49 2013 +0100
libcacard: remove default libcoolkey loading
Use only the modules defined in the NSS database.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 667e0b4b6806d53e0b46e29a15d24427ef958c78
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Mar 20 14:07:48 2013 +0100
libcacard: remove sql: prefix
For some reason, with sql:/ prefix, the PKCS11 modules are not loaded.
This patch goes on top of Alon smartcard series.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit c9495ee9eb57786f5a60d4591bb186b23f6b6bef
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:16 2013 +0100
libcacard: teach vscclient to use GMainLoop for portability
This version handles non-blocking sending and receiving from the
socket.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 930c8ad472ec00d40cfbf1e9b1395946bf0dd392
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:15 2013 +0100
libcacard: vscclient to use QemuThread for portability
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit a50b831ae1fe039b7c22793f307e0b8afdf50589
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:14 2013 +0100
libcacard: split vscclient main() from socket reading
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 5354e4d242175e067bb70732f694ae9322a81351
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:13 2013 +0100
libcacard: fix mingw64 cross-compilation
Compile and link with version.lo
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit 37746c5eacf309fa019ea0fa45f776c36c561457
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:12 2013 +0100
build-sys: must link with -fstack-protector
It is needed to give that flag to the linker as well, but latest
libtool 2.4.2 still swallows that argument, so let's pass it with
libtool -Wc argument.
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to
`__stack_chk_guard'
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit d3bf825e59125bc6a0accec0dca119ea0155cb82
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Mon Feb 25 23:31:11 2013 +0100
util: move socket_init() to osdep.c
vscclient needs to call socket_init() for portability.
Moving to osdep.c since it has no internal dependency.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e2d9c5e769d59f2bca649b8286892d49bdcfc2b1
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Feb 27 21:08:06 2013 +0100
libcacard: use system config directory for nss db on win32
It's a bit nicer to look for default database under
CSIDL_COMMON_APPDATA\pki\nss rather that /etc/pki/nss.
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit da000a4867749434e03896a5072321771736352a
Author: Jim Meyering <meyering@xxxxxxxxxx>
Date: Mon May 21 21:51:33 2012 +0200
ccid: declare DEFAULT_ATR table to be "static const"
Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d18c7117467aa5fae95a7c6eaffcf50618197e79
Author: Jim Meyering <meyering@xxxxxxxxxx>
Date: Mon May 21 21:56:20 2012 +0200
ccid: make backend_enum_table "static const" and adjust users
Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
commit d0ebd78890fba2ab458ec34763dae8566ccb1b72
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Wed Nov 21 14:16:08 2012 +0100
ccid-card-emul: do not crash if backend is not provided
Program received signal SIGSEGV, Segmentation fault.
__strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164
164 movdqu (%rsi), %xmm2
(gdb) bt
at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:477
at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:503
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e2fd2115ce26049335d66ae0ae5e5c0ad06fb498
Author: Marc-André Lureau <mlureau@xxxxxxxxxx>
Date: Sun Dec 2 22:00:55 2012 +0100
libcacard: correct T0 historical bytes size
The VCARD_ATR_PREFIX macro adds a prefix of 6 characters only.
pcsc_scan was complaining before the patch:
+ Historical bytes: 56 43 41 52 44 5F 4E 53 53
ERROR! ATR is truncated: 2 byte(s) is/are missing
Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit bb71623811686ce3c34ce724f073f5c5dd95f51b
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 22 10:41:39 2013 -0400
Move TPM passthrough specific command line options to backend structure
Move the TPM passthrough specific command line options to the passthrough
backend implementation and attach them to the backend's interface
structure.
Add code to tpm.c for validating the TPM command line options.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryan <coreyb@xxxxxxxxxxxxxxxxxx>
Message-id: 1366641699-21420-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 13daf6cad05a65970381cd8b876426d55133aadf
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:43 2013 +0200
virtio-9p: cleanup: QOM casts.
As the virtio-9p-pci is switched to the new API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e8111e50557761b0d86cd5c90fe7a272aeddd7a3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:42 2013 +0200
virtio-9p: cleanup: init function.
This remove old init function as it is no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 234a336f9e308ae60ad8ef8f2662eb0a93d7ff00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:41 2013 +0200
virtio-9p-pci: switch to the new API.
Here the virtio-9p-pci is modified for the new API. The device
virtio-9p-pci extends virtio-pci. It creates and connects a
virtio-9p-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e7303c43031302279ee7b5d6ea7031bf81e2e2d9
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 23 11:08:40 2013 +0200
virtio-9p: add the virtio-9p device.
Create virtio-9p-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1366708123-19626-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 93b971c4ff0881349d4fa5a1394cc3d6faf351c3
Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Date: Tue Apr 23 13:04:16 2013 +0300
ui/gtk: Add Turkish translations
Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Message-id: 1366711456-1935-1-git-send-email-ozancag@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 571253d410d6050637ccd3b6c122a3ad61e2ab25
Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Date: Tue Apr 23 13:03:22 2013 +0300
ui/gtk: Use gtk_widget_get_window() to support both gtk2 and gtk3
This fixes build with gtk+-3.0.
Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx>
Message-id: 1366711402-1750-1-git-send-email-ozancag@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2cfd5cc06ab14879964c8bbd5595d416490605ea
Merge: 4567367... 3f5cc97...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 23 10:33:45 2013 -0500
Merge remote-tracking branch 'kraxel/usb.81' into staging
# By Gerd Hoffmann (3) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.81:
usb-host: raise libusbx minimum version to 1.0.13
usb: better speed mismatch error reporting
ehci_free_packet: Discard finished packets when the queue is halted
xhci: remove XHCIRing->base (unused)
Message-id: 1366705929-11251-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3f5cc97e2ba00b34fd20a5553ed9d2fecf32f7e3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 12:16:44 2013 +0200
usb-host: raise libusbx minimum version to 1.0.13
Allows to remove one FIXME. Makes LIBUSB_LOG_LEVEL_WARNING build errors
go away. And starting with that version libusb has a LIBUSBX_API_VERSION
define which allows to easily #ifdef version dependencies should that
need arrive in the future.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3b7e759a4110690c9617b1ffa6a7c96a343a330d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 18 11:57:21 2013 +0200
usb: better speed mismatch error reporting
Report the supported speeds for device and port in the error message.
Also add the speeds to the tracepoint. And while being at it drop
the redundant error message in usb_desc_attach, usb_device_attach will
report the error anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e449f26bed42b1d8c6efefcd8dc768f23f19458f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 9 10:24:22 2013 +0200
ehci_free_packet: Discard finished packets when the queue is halted
With pipelining it is possible to encounter a finished packet when
cleaning
the queue due to a halt. This happens when a non stall error happens while
talking to a real device. In this case the queue on the usb-host side will
continue processing packets, and we can have completed packets waiting in
the queue after an error condition packet causing a halt.
There are 2 reasons to discard the completed packets at this point, rather
then trying to writing them back to the guest:
1) The guest expect to be able to cancel and/or change packets after the
packet with the error without doing an unlink, so writing them back may
confuse the guest.
2) Since the queue does not advance when halted, the writing back of these
packets will fail anyways since p->qtdaddr != q->qtdaddr, so the
ehci_verify_qtd call in ehci_writeback_async_complete_packet will fail.
Note that 2) means that then only functional change this patch introduces
is the printing of a warning when this scenario happens.
Note that discarding these packets means that the guest driver and the
device
will get out of sync! This is unfortunate, but should not be a problem
since
with a non stall error (iow an io-error) the 2 are out of sync already
anyways.
Still this patch adds a warning to signal this happening.
Note that sofar this has only been seen with a DVB-T receiver, which gives
of a MPEG-2 stream, which allows for recovering from lost packets, see:
https://bugzilla.redhat.com/show_bug.cgi?id=890320
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d04c2b75562664a28612d7481f328ee4ec51dda
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 13:03:08 2013 +0200
xhci: remove XHCIRing->base (unused)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 456736710df19c2275192269fe67a3f0b2583835
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Apr 22 17:48:40 2013 +0200
block: Fix build with tracing enabled
filename was still uninitialised when it's used as a parameter to a
tracing function, so let's move the initialisation. Also, commit c2ad1b0c
forgot to add a NULL check, which this patch adds while we're at it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366645720-11384-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e36d6ca34243fdc9f48f4bdbe5fca2b19162bfa
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 16 17:08:36 2013 -0400
tpm: Simplify creation of cancel path
Simplify the creation of the cancel path given the TPM's device path.
Given the path /dev/tpm0 build the path
/sys/class/misc/tpm0/device/cancel.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1366146516-23814-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 56863d4f19c854acc5ebf5f5c1b590eb8164851a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Apr 21 14:30:03 2013 +0100
qtest: Handle addresses and values for {in, out}[bwl] as unsigned
Handle the addresses and values for {in,out}[bwl] as unsigned (ie
with strtoul), as per the protocol specification comment. This fixes
a test failure in test_i440fx_defaults on 32-bit hosts where the test
tries to write 0x80000000 and qtest was instead writing 0x7fffffff.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1366551003-16649-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 888a6bc63c94ef34026399117ebf6a1fa0e7a29a
Author: Satoru Moriya <satoru.moriya@xxxxxxx>
Date: Fri Apr 19 16:42:06 2013 +0200
Add option to mlock qemu and guest memory
In certain scenario, latency induced by paging is significant and
memory locking is needed. Also, in the scenario with untrusted
guests, latency improvement due to mlock is desired.
This patch introduces a following new option to mlock guest and
qemu memory:
-realtime mlock=on|off
Signed-off-by: Satoru Moriya <satoru.moriya@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366382526-26146-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2b316774f60291f57ca9ecb6a9f0712c532cae34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:09 2013 +0200
qemu-char: do not operate on sources from finalize callbacks
Due to a glib bug, the finalize callback is called with the GMainContext
lock held. Thus, any operation on the context from the callback will
cause recursive locking and a deadlock. This happens, for example,
when a client disconnects from a socket chardev.
The fix for this is somewhat ugly, because we need to forego polymorphism
and implement our own function to destroy IOWatchPoll sources. The
right thing to do here would be child sources, but we support older
glib versions that do not have them. Not coincidentially, glib developers
found and fixed the deadlock as part of implementing child sources.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Message-id: 1366385529-10329-5-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdbf6e165988ab9d7c01da03b9e27bb8ac0c76aa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:08 2013 +0200
qemu-char: correct return value from chr_read functions
Even if a CharDriverState's source is blocked by the front-end,
it must not be dropped. The IOWatchPoll that wraps it will take
care of adding and removing it to the main loop. Only remove
the source when the channel is closed; and in that case, make sure
that the wrapping IOWatchPoll is removed too.
These should just be theoretical bugs.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-4-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85a67692d04e15a6b7d5a0e2b9d573d8bffbe108
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:07 2013 +0200
qemu-char: simplify pty polling
There is no need to use a timer and pty_chr_read to detect a connected
pty. It is simpler to just call g_poll periodically and check for
POLLHUP.
It is done once per second, and only if the pty is disconnected, so it
is cheap enough.
Tested with "-monitor pty" and "-serial mon:pty", both of which work
correctly and do not freeze QEMU. (How to test ptys? "socat -,raw,echo=0
/dev/pts/4,raw").
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 910b63682ea72f34307b8797c4cc81a1f2a0c47f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 17:32:06 2013 +0200
qemu-char: use consistent idiom for removing sources
Always check that the source is active, and zero the tag afterwards.
The occurrence in pty_chr_state will trigger with the next patch, the
others are just theoretical.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366385529-10329-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0aa09897571c55292703b7a099d7ea79baa09950
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 22 17:42:50 2013 +1000
translate-all: fix compiler warning and linked error
The code did use profile_getclock() but did not include
include/qemu/timer.h where this function is defined. The patch fixes this.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1366616571-4321-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1ab7a5acf08dcc11638b22660ed87d5f6d633c2
Merge: 2569073... 7da94ca...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:08:22 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (16) and Stefan Hajnoczi (4)
# Via Kevin Wolf
* kwolf/for-anthony:
qemu-iotests: add 053 unaligned compressed image size test
block: Allow overriding backing.file.filename
block: Remove filename parameter from .bdrv_file_open()
vvfat: Use bdrv_open options instead of filename
sheepdog: Use bdrv_open options instead of filename
rbd: Use bdrv_open options instead of filename
iscsi: Use bdrv_open options instead of filename
gluster: Use bdrv_open options instead of filename
curl: Use bdrv_open options instead of filename
blkverify: Use bdrv_open options instead of filename
blkdebug: Use bdrv_open options instead of filename
raw-win32: Use bdrv_open options instead of filename
raw-posix: Use bdrv_open options instead of filename
block: Enable filename option
block: Add driver-specific options for backing files
block: Fail gracefully when using a format driver on protocol level
qemu-iotests: Fix _filter_qemu
qemu-img: do not zero-pad the compressed write buffer
qcow: allow sub-cluster compressed write to last cluster
qcow2: allow sub-cluster compressed write to last cluster
Message-id: 1366630294-18984-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 25690739f1f067b6d8b2e616d87b1d976db0db92
Merge: 6165daa... 97ebbab...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:05:14 2013 -0500
Merge remote-tracking branch 'bonzini/nbd-next' into staging
# By Stefan Hajnoczi
# Via Paolo Bonzini
* bonzini/nbd-next:
nbd: set TCP_NODELAY
nbd: use TCP_CORK in nbd_co_send_request()
nbd: unlock mutex in nbd_co_send_request() error path
Message-id: 1366381830-11267-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6165daa4c8431d9d60382352864b46f34dd61ab4
Merge: d639498... d6e5191...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:05:05 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (5) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
vhost-scsi: new device supporting the tcm_vhost Linux kernel module
virtio: simplify Makefile conditionals
virtio-scsi: create VirtIOSCSICommon
vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
scsi: VMWare PVSCSI paravirtual device implementation
scsi: avoid assertion failure on VERIFY command
Message-id: 1366381460-6041-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d639498852773a6019cf1b970dd8dc2f3791c45b
Merge: 68c0aa6... dcc6cef...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 22 08:04:21 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
monitor: fix the wrong order of releasing keys
Message-id: 1366375833-995-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7da94ca741e01a80afd65e107cc2cee160d1b2d2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 11:14:23 2013 +0200
qemu-iotests: add 053 unaligned compressed image size test
Test that qemu-img convert -c works when input image length is not a
multiple of the cluster size.
Previously an error message would be produced:
qemu-img: error while compressing sector 0: Input/output error
Now that qcow2 and qcow handle this case the test passes successfully.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1cb6f506444ddf00bb163e5ffa28ab1051b65642
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 20:27:07 2013 +0200
block: Allow overriding backing.file.filename
If a filename is passed in the driver-specific options from the command
line, the backing file path from the image is ignored now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 56d1b4d21d444619302d3f1291a133b1c2b9b072
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 20:02:37 2013 +0200
block: Remove filename parameter from .bdrv_file_open()
It is unused now in all block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ad9be64e8ac17811ff358279ef7193cc623da1a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 19:42:04 2013 +0200
vvfat: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c8c96350e0127c1d3d55c5f16978f1f5201c52e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 18:10:49 2013 +0200
sheepdog: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a9ccedc3daa06723821663c6b3b02c1760035bb9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 18:05:35 2013 +0200
rbd: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 60beb3412dfa9a6341338c93d0ef44312a9c4f66
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 17:59:59 2013 +0200
iscsi: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b489477653702ae2beb919084644a6c8b0b72c36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 12 17:50:16 2013 +0200
gluster: Use bdrv_open options instead of filename
This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8e6d58cd5b695045dd4a203176d2a57138e7f02a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 15:31:33 2013 +0200
curl: Use bdrv_open options instead of filename
As a bonus, going through the QemuOpts QEMU_OPT_SIZE parser for the
readahead option gives us proper error reporting that the previous use
of atoi() lacked.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 16c790926b0dda0535187a82d1b00fde19580571
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 14:40:28 2013 +0200
blkverify: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f468121290c2f632cb91f7b5e8184101e1ee0ab6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 13:37:33 2013 +0200
blkdebug: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8a79380b8ef1b02d2abd705dd026a18863b09020
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 10 11:34:56 2013 +0200
raw-win32: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c66a615723914405e4307e5f13a28fd6b910150e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 10:47:40 2013 +0200
raw-posix: Use bdrv_open options instead of filename
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 035fccdf7993a5b9a40f9dec22a663d4d6edb36b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 14:34:19 2013 +0200
block: Enable filename option
This allows using the file.filename option instead of the string that
comes from -drive file=... and is passed around as a separate parameter.
The goal is to get rid of this parameter and use the options QDict more
consistently.
With this option you can access not only the top-level image, but
specify a filename for the backing file (currently only if no backing
file exists, but we'll allow overriding it later)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 31ca6d077c24b7aaa322d8930e3e5debbdb4a047
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 28 15:29:24 2013 +0100
block: Add driver-specific options for backing files
Options starting in "backing." are passed to the backing file now. If
you don't need to specify the filename for the backing file, you can add
it on the command line instead of in the image file:
$ qemu-nbd -t /tmp/test.img
$ qemu-img create -f qcow2 empty.qcow2 1G
$ qemu-system-x86_64 -drive file=empty.qcow2,backing.file.driver=nbd,\
backing.file.host=localhost
Note that this doesn't override the backing filename from the image. If
the image has one, this will fail because NBD doesn't want the options
and a filename at the same time.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 2af5ef70af9fdc823407ddc4ae14766806d4837a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 13:19:18 2013 +0200
block: Fail gracefully when using a format driver on protocol level
Specifying the wrong driver could fail an assertion:
$ qemu-system-x86_64 -drive file.driver=qcow2,file=x
qemu-system-x86_64: block.c:721: bdrv_open_common: Assertion `file !=
((void *)0)' failed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bdda92324dad963e85589e9ea74b2f2620319304
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 16 11:22:36 2013 +0200
qemu-iotests: Fix _filter_qemu
$QEMU_PROG happens to be 'qemu' in my setup, so this sed command
replaces a bit too much. Restrict it to the start of the line and to
when it's followed by a colon, i.e. the form used by error messages.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 54f106d5fd51fcf385bab2ddf125477e83758038
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:33 2013 +0200
qemu-img: do not zero-pad the compressed write buffer
bdrv_write_compressed() does not allow requests that span the end of the
device. Therefore it is useless to zero-pad the last cluster and
thereby exceed the end of the device.
Let image formats handle zero-padding the final compressed cluster, if
necessary.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 16b3c5cd9f27678bc9d6707664640653b47533b9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:32 2013 +0200
qcow: allow sub-cluster compressed write to last cluster
Compression in qcow requires image length to be a multiple of the
cluster size. Lift this requirement by zero-padding the final cluster
when necessary. The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.
Note that this is almost identical to the qcow2 version of this code.
qcow2's compression code is drawn from qcow.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f4d38bef7cc79018e2aa789b0e4c23c3a8cdfca5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 17:17:31 2013 +0200
qcow2: allow sub-cluster compressed write to last cluster
Compression in qcow2 requires image length to be a multiple of the
cluster size. Lift this requirement by zero-padding the final cluster
when necessary. The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 68c0aa6e02f79f8825c0c5dc4c7ed25d524aaa8b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Apr 17 09:16:35 2013 +0000
ui/cocoa.m: Fix recent compile breakage
Fix failures to compile introduced by recent console commits
1dbfa00503, 81c0d5a6) which removed is_graphic_console() and
vga_hw_update() without updating the cocoa UI backend to match.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 089305ac0a273e64c9a5655d26da7fe19ecee66f
Author: Pavel Dovgaluk <Pavel.Dovgaluk@xxxxxxxxx>
Date: Mon Apr 15 10:59:15 2013 +0400
i386 ROR r8/r16 instruction fix
Fixed EFLAGS corruption by ROR r8/r16 instruction located at the end of
the TB.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 21e5181f9552e3a876b488c77dc5cfeccff66414
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 20 14:48:28 2013 +0100
qdev: Drop taddr properties
Drop all the infrastructure for taddr properties (ie ones which
are 'hwaddr' sized). These are now unused, and any further desired
use would be rather questionable since device properties shouldn't
generally depend on a type that is conceptually variable based on
the target CPU. 32 or 64 bit integer properties should be used instead
as appropriate for the specific device.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 19298eca060036c3697b0fd9ae77a3ba715cc9c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 20 14:48:27 2013 +0100
hw/sm501: Use correct setter for sysbus-ohci dma-address property
The sysbus-ohci dma-address property is declared as a HEX64
property, not a TADDR, so use the correct setter for it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f4374c82b158b36bd40a5055bffa60796569a300
Merge: 32370db... af9277e...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:39:08 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
versatile_pci: Expose PCI memory space to system
arm/realview: Fix mapping of PCI regions
versatile_pci: Implement the PCI controller's control registers
versatile_pci: Implement the correct PCI IRQ mapping
versatile_pci: Put the host bridge PCI device at slot 29
versatile_pci: Use separate PCI I/O space rather than system I/O space
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
versatile_pci: Update to realize and instance init functions
versatile_pci: Expose PCI I/O region on Versatile PB
versatile_pci: Fix hardcoded tabs
commit 32370db3fb8433259435397c4d60006164c0d198
Merge: 87885c8... e91f229...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:38:48 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Correctly restore FPSCR
target-arm: Add some missing CPU state fields to VMState
target-arm: port ARM CPU save/load to use VMState
target-arm: Reinsert missing return statement in ARM mode SRS decode
commit 87885c8e57db38669dad2aa1a83577fe95f481be
Merge: f691df5... 03903ff...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 20 11:38:29 2013 +0000
Merge branch 'linux-user-for-upstream' of
git://git.linaro.org/people/rikuvoipio/qemu
* 'linux-user-for-upstream' of
git://git.linaro.org/people/rikuvoipio/qemu:
linux-user: fix setgroups/getgroups for non-UID16 archs
linux-user: fix undefined shift in copy_to_user_fdset
linux-user: change do_semop to return target errno when unsuccessful
commit d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ccf6916c843edd30ea4ecfaaac68faa865529c97
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 16:16:50 2013 +0200
vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 50787628ee343d3c149eb35c206b68429d1cfdf4
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5e9be92d775208cf6cc9bf9a592853888046239e
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 29 01:08:16 2013 +0000
vhost-scsi: new device supporting the tcm_vhost Linux kernel module
The WWPN specified in configfs is passed to "-device vhost-scsi-pci".
The tgpt field of the SET_ENDPOINT ioctl is obsolete now, so it is not
available from the QEMU command-line. Instead, I hardcode it to zero.
Changes in Patch-v2:
- Add vhost_scsi_get_features() in order to determine feature bits
supports by host kernel (mst + nab)
- Re-enable usage of DEFINE_VIRTIO_COMMON_FEATURES, and allow
EVENT_IDX to be disabled by host in vhost_scsi_get_features()
- Drop unused hotplug bit in DEFINE_VHOST_SCSI_PROPERTIES
Changes in Patch-v1:
- Set event_idx=off by default (nab, thanks asias)
- Disable hotplug feature bit for v3.9 tcm_vhost kernel code, need to
re-enable in v3.10 (nab)
- Update to latest qemu.git/master HEAD
Changes in WIP-V3:
- Drop ioeventfd vhost_scsi_properties (asias, thanks stefanha)
- Add CONFIG_VHOST_SCSI (asias, thanks stefanha)
- Add hotplug feature bit
Changes in WIP-V2:
- Add backend guest masking support (nab)
- Bump ABI_VERSION to 1 (nab)
- Set up set_guest_notifiers (asias)
- Set up vs->dev.vq_index (asias)
- Drop vs->vs.vdev.{set,clear}_vhost_endpoint (asias)
- Drop VIRTIO_CONFIG_S_DRIVER check in vhost_scsi_set_status (asias)
Howto:
Use the latest seabios, at least commit b44a7be17b
git clone git://git.seabios.org/seabios.git
make
cp out/bios.bin /usr/share/qemu/bios.bin
qemu -device vhost-scsi-pci,wwpn=naa.6001405bd4e8476d,event_idx=off
...
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
[ Rebase on top of VirtIOSCSICommon patch, fix bugs in feature
negotiation and irqfd masking - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e9cd423fa833533612beaa7674f988954bccb801
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 19 10:45:25 2013 +0200
virtio: simplify Makefile conditionals
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 292c8e50d540735c601886acc13eb0c117ee94f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 29 01:08:15 2013 +0000
virtio-scsi: create VirtIOSCSICommon
This patch refactors existing virtio-scsi code into VirtIOSCSICommon
in order to allow virtio_scsi_init_common() to be used by both internal
virtio_scsi_init() and external vhost-scsi-pci code.
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f691df528340807d42247fe79a89ea88e6303e1d
Merge: 5dff24b... ad6b40f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:38:16 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Stefan Weil (3) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
m25p80: Remove bogus include of devices.h
ssh: Remove unnecessary use of strlen function.
block/ssh: Add missing gcc format attributes
linux-user: change do_semop to return target errno when unsuccessful
w64: Fix compiler warnings (wrong format specifier)
Remove unneeded type casts
virtio.h: drop unused function prototypes
bswap: fix compiler warning
Message-id: 1366371241-23430-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dff24bebae5103810002ea76b1d03927e2148f2
Merge: b6c99f8... 22773d6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:38:05 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci: add pci test device
This adds a new device that we can use for testing PCI PIO and MMIO, with
and
without ioeventfd in different configurations. FAST_MMIO will be added
if/when
kvm supports it. Also included are minor cleanups in kvm APIs that it
needs.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 15 Apr 2013 05:42:24 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
pci: add pci test device
kvm: support non datamatch ioeventfd
kvm: support any size for pio eventfd
kvm: remove unused APIs
Message-id: cover.1366272004.git.mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b6c99f8a6d66c5fa01a60483d9b012eb2b0932f2
Merge: 09dada4... 007e986...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 19 08:37:58 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Jan Kiszka (4) and Marcelo Tosatti (1)
# Via Marcelo Tosatti
* qemu-kvm/uq/master:
vmxcap: Update according to SDM of January 2013
target-i386: kvm: save/restore steal time MSR
vmxcap: Report APIC register emulation and RDTSCP control
vmxcap: Augment reported information
vmxcap: Open MSR file in unbuffered mode
Message-id: cover.1366253306.git.mtosatti@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dcc6ceffc066745777960a1f0d32f3a555924f65
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Apr 18 11:53:32 2013 -0400
virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
Because dev->actual is uint32_t, the expression 'dev->actual <<
VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when
dev->actual >= 1048576.
To reproduce:
1. Start a VM with a QMP socket and 5G of RAM
2. Connect to the QMP socket, negotiate capabilities and issue:
{ "execute":"balloon", "arguments": { "value": 1073741824 } }
3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be:
{ "timestamp": { "seconds": 1366228965, "microseconds": 245466 },
"event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } }
To fix it this commit casts it to ram_addr_t, which is ram_size's type.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 153d02e338a063ad5c51ff0725d5d88285f44121
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Apr 16 13:47:32 2013 +0800
monitor: fix the wrong order of releasing keys
(qemu) sendkey ctrl_r-scroll_lock-scroll_lock
Executing this command could not let Windows guest panic, it caused by
the wrong order of releasing keys. This problem was introduced by
commit e4c8f004c55d9da3eae3e14df740238bf805b5d6.
The right release order should be starting from last item.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e91f229a253f489f6d12b946ad7bdcdc158c5b67
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: Correctly restore FPSCR
Use the helper functions to save and restore the FPSCR, so that
we correctly propagate rounding mode and flushing behaviour into
the float_status fields. This also allows us to stop saving the
vector length/stride fields separately.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 602131e944f513f85ffa5593b020d263599cb2cd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: Add some missing CPU state fields to VMState
A number of CPU state fields were accidentally omitted from
our migration state: some OMAP specific cp15 registers, and
some related to state for load/store exclusive insns. Add them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3cc1d20823e8677038c5bb5db10910f6271b1883
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Apr 19 12:24:19 2013 +0100
target-arm: port ARM CPU save/load to use VMState
Port the ARM CPU save/load code to use VMState. Some state is
saved in a slightly different order to simplify things -- for
example arrays are saved one after the other rather than 'striped',
and we always save all 32 VFP registers even if the CPU happens
to only have 16.
Use one subsection for each feature. This means that we don't need to
bump the version field each time that a new feature gets introduced.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
[PMM: fixed conflicts, updated to use cpu_class_set_vmsd(), updated
with new/removed fields since original patch, changed to use custom
VMStateInfo for cpsr rather than presave/postload hooks, corrected
subsection names so vmload doesn't fail]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b3284486be6898937395fac3ddbd2e68c5cb52f
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Fri Apr 19 12:24:18 2013 +0100
target-arm: Reinsert missing return statement in ARM mode SRS decode
Since patch
81465888c5306cd94abb9847e560796fd13d3c2f
target-arm: factor out handling of SRS instruction
the ARM mode SRS instruction has not worked in QEMU.
The problem is a missing return directive that was removed in the
refactoring, so after decoding the instruction, qemu would fall through
to generate an UNDEF exception for an illegal instruction.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af9277e69df688ebb8ccccb7edecc45f0f85ea51
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:21 2013 +0100
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
Drop the vpb_pci_config_addr() function -- it is unnecessary since
the size of the memory regions means the hwaddr is always within
the 24 bit size. (This function was probably a leftover from when
read/write functions were called with absolute addresses rather
than relative ones.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 89a32d32fb573b32bbe129421602c2b3c3c247ec
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
versatile_pci: Expose PCI memory space to system
The VersatilePB's PCI controller exposes the PCI memory space to the
system via three regions controlled by the mapping control registers.
Implement this so that guests can actually use MMIO-BAR PCI cards.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit a2bff788d2316c037ce5ab72468b3fda1a0527a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
arm/realview: Fix mapping of PCI regions
Fix the mapping of the PCI regions for the realview board, which were
all incorrect. (This was never noticed because the Linux kernel
doesn't actually include a PCI driver for the realview boards.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 7468d73ac9a514b33c0c2797a1238db11163b23b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:20 2013 +0100
versatile_pci: Implement the PCI controller's control registers
The versatile_pci PCI controller has a set of control registers which
handle the mapping between PCI and system address spaces. Implement
these registers (though for now they have no effect since we don't
implement mapping PCI space into system memory at all).
The most natural order for our sysbus regions has the control
registers at the start, so move all the others down one.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 66a96d7018b9cbabb73c9b87b62a37e4cc46580a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:19 2013 +0100
versatile_pci: Implement the correct PCI IRQ mapping
Implement the correct IRQ mapping for the Versatile PCI controller; it
differs between realview and versatile boards, but the previous QEMU
implementation was correct only for the first PCI card on a versatile
board, since we weren't swizzling IRQs based on the slot number.
Since this change would otherwise break any uses of PCI on Linux kernels
which have an equivalent bug (since they have effectively only been
tested against QEMU, not real hardware), we implement a mechanism
for automatically detecting those broken kernels and switching back
to the old mapping. This works by looking at the values the kernel
writes to the PCI_INTERRUPT_LINE register in the config space, which
is effectively the interrupt number the kernel expects the device
to be using.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:19 2013 +0100
versatile_pci: Put the host bridge PCI device at slot 29
On real hardware the host bridge appears as a PCI device in slot 29,
so make QEMU put its host bridge in that slot too.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 967c2607496087abf84904c82e6de0cd320a3831
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Use separate PCI I/O space rather than system I/O space
Rather than overloading the system I/O space (which doesn't even make
any sense on ARM) for PCI I/O, create an memory region in the PCI
controller and use that to represent the I/O space.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 0688810b416a5a4a41aa480132e89d65f81dafc6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally
handle PCI in a more QOM-like fashion.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:18 2013 +0100
versatile_pci: Update to realize and instance init functions
Update the Versatile PCI controller to use a realize function rather
than SysBusDevice::init. To reflect the fact that the 'realview_pci'
class is taking most of its implementation from 'versatile_pci' (and
to make the QOM casts work) we make 'realview_pci' a subclass of
'versatile_pci'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit 5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:17 2013 +0100
versatile_pci: Expose PCI I/O region on Versatile PB
Comments in the QEMU source code claim that the version of the PCI
controller on the VersatilePB board doesn't support the PCI I/O
region, but this is incorrect; expose that region, map it in the
correct location, and drop the misleading comments.
This change removes the only currently implemented difference
between the realview-pci and versatile-pci models; however there
are other differences in not-yet-implemented functionality, so we
retain the distinction between the two device types.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit c5c86c5346e927f55918ffdf1b09742fee7a5d8d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 19 11:15:17 2013 +0100
versatile_pci: Fix hardcoded tabs
There is just one line in this source file with a hardcoded tab
indent, so just fix it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx>
commit ad6b40f471cf8bf7b106032145b1b2ac105f99cf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Apr 19 12:18:05 2013 +1000
m25p80: Remove bogus include of devices.h
I think in the early revisions of this we had an instantiation helper
for the device in devices.h. This was later removed and this header was
left over. Removed
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c7a101f5297442de7cbee44f7a31428f0e85a09f
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Thu Apr 18 22:09:33 2013 +0100
ssh: Remove unnecessary use of strlen function.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6ae7d660a089502ec5f5cea133e5fd93fd82f3a8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Apr 18 22:21:05 2013 +0200
block/ssh: Add missing gcc format attributes
Now gcc will check whether format string and variable arguments match.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40508bb424971d9f39f3fb3b455a1765aa7799ee
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu Mar 21 18:57:36 2013 +0100
linux-user: change do_semop to return target errno when unsuccessful
do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f1721dfb7d3a9e464ba59a7d5f76761fd8a3ab9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Apr 13 22:45:50 2013 +0200
w64: Fix compiler warnings (wrong format specifier)
GetLastError() returns a DWORD value which is unsigned long,
so the correct format specifier is %lu.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1fe50dcb3c86e25ce482a7f67f2ac5405bced8a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Apr 12 20:53:58 2013 +0200
Remove unneeded type casts
cpu_physical_memory_read, cpu_physical_memory_write take any pointer
as 2nd argument without needing a type cast.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd1ca7e0d5f76c6787428171355bcde49133c9c1
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Apr 12 09:12:55 2013 -0400
virtio.h: drop unused function prototypes
They are unused since commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ea44910eefc3661af6b80442858102a4f8cd8034
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Apr 15 11:47:56 2013 +1000
bswap: fix compiler warning
The bswap functions use memcpy but the bswap.h header itself does not
seem to
include it in some configuration such as cross compiling for powerpc64
on x86_64 machine.
The patch explicitly includes string.h.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit af60314291af3cabda18d27f928b0e0ff899cc76
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Wed Apr 3 09:15:11 2013 +0000
vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
This patch follows MST's recommendation to move checks for
vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations
from MemoryListener->region_[add,del]() -> vhost_set_memory() into
final MemoryListener->commit() -> vhost_commit() callback.
It addresses the case where virtio-scsi vq ioport RAM re-mapping
to read-only SeaBIOS ROM triggers a cpu_physical_memory_map()
NIL MemoryRegionSection pointer failure.
Also save vhost_dev->mem_changed_[start,end]_addr values in
vhost_set_memory() for final ranges_overlap checks. (Thanks Paolo!)
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 881d588a98bf0dce98ddb65c15aa0854c0ac41ed
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 19 10:05:46 2013 +0300
scsi: VMWare PVSCSI paravirtual device implementation
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
[ Rename files to vmw_pvscsi, fix setting of hostStatus in
pvscsi_request_cancelled - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ef8489d45927a6d35b214365e4b39ab311b48f2a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 18:50:15 2013 +0200
scsi: avoid assertion failure on VERIFY command
A verify command is not an actual read (we do not implement
compare mode) and thus does not have an AIOCB attached. Do
not crash in scsi_dma_complete.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 03903ffcfb5a7c75e52da97d00eb9d0bb0660f28
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Apr 9 05:41:33 2013 +0000
linux-user: fix setgroups/getgroups for non-UID16 archs
Don't assume target_id is a short.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9ab709be595bef9956ea550a95e14e157cb5704e
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Apr 9 01:02:34 2013 +0000
linux-user: fix undefined shift in copy_to_user_fdset
If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of
int.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit c7128c9fd58ee92cae70c7cd1d53acc529cebbbb
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Thu Mar 21 07:57:36 2013 +0000
linux-user: change do_semop to return target errno when unsuccessful
do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 09dada400328d75daf79e3eca1e48e024fec148d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:47 2013 +0200
configure: remove duplicate test
We already had a test to add -march=i486 when needed. Make the
existing test independent of vhost-net, so that it is also used
under Win32.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 15c08efebde85a564b68285a4b6999f673ce422f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:46 2013 +0200
configure: CONFIG_NO_XEN is duplicated
We already define it in Makefile.target. But we need to avoid a
curious double negation in order to eliminate it.
Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 2b6b7099fb17ab9efa51c430e348ee88d6fbcef2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:45 2013 +0200
configure: eliminate target_libs_softmmu
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f544a488e55d3c504b65b6209199a977df9b24b9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:44 2013 +0200
configure: move common libraries to config-host.mak
Move -lm to the end of the line, so that it can be picked up as a
dependency by pixman in the static build case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 727e52838c709f542d4306849567bf3d8c64479e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:43 2013 +0200
configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 918fc54caff20b1810c633a63bf6d6c5499bd5dd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:42 2013 +0200
elfload: use abi_llong/ullong instead of target_llong/ullong
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 6cfd9b5251c1d03c60f9ebc95fa98670db8f3e09
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:41 2013 +0200
elfload: only give abi_long/ulong the alignment specified by the target
Previously, this was done for target_long/ulong, and propagated to
abi_long/ulong via a typedef. But target_long/ulong should not
have any specific alignment, it is never used to access guest
memory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f8fd4fc4cd9138576cb1cec15c6ac9416e51eeb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:40 2013 +0200
elfload: use abi_int/uint instead of target_int/uint
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 1ddd592fd3b00227a61d5cd890c51b51847a415b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:39 2013 +0200
elfload: use abi_short/ushort instead of target_short/ushort
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 86cd7b2d486b6c80df41f48dffbdcc055a85faa1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:38 2013 +0200
elfload: use tswapreg consistently in elf_core_copy_regs
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a29f998d04a515e389ec4d5aa76ba5f585f4e540
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:37 2013 +0200
elfload: fix size of registers for N32
Registers are 64-bit in size for the MIPS n32 ABI. Define
target_elf_greg_t accordingly, and use the correct function
to do endian swaps.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit ca98ac830f4e3a7d7729ec1ff22d54d97c86dcbd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:36 2013 +0200
elfload: fix size of ABI-dependent fields in core dumps
Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32,
sparc32plus). Use abi_long/ulong for those.
Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert
them.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 5b5e30370147ce3495b7509238e88ef9a6d873ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 17 16:26:35 2013 +0200
configure: QEMU_INCLUDES are the same for all subtargets
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a540f158db41205c3f7bad8b214f9738dc00724d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:47:31 2013 +1000
configure/Make: Build libfdt from submodule DTC
Configure to use the DTC submodule to build libfdt when no system libfdt
is found. Prompt to install the DTC submodule if --enable-fdt is set but
no DTC can be found.
DTC has no out-of-tree build capability, so the configure will symlink
the Makefile and scripts directory in the out of tree build directory
and pass in all the needed DTC arguments to make out of tree build happen.
Ideally we fix the DTC make to support out of tree, but did it this way to
avoid commits to DTC.
Signed-off-by: David Holsgrove <david.holsgrove@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 98f6360569b1fbc1d94f6c8d7808577e4e5e0100
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:46:53 2013 +1000
dtc: add submodule
Add dtc submodule as a fallback for old distros.
Picking version 1.3.0. as this is the most recently tagged stable version.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 79f3b12f7072d592dcddfe71dd846eab3be310ea
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 18 14:46:14 2013 +1000
configure: Put cross compile flags in EXTRA_CFLAGS
The cross compile CFLAGS are needed to properly build pixman (and any
other
submodules). Only the EXTRA_CFLAGS set is passed to submodules not
QEMU_CFLAGS,
so put the cross compile flags in EXTRA_CFLAGS instead.
Signed-off-by: Peter Crosthwaite peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 007e986ff2dd140348e76feb21cde1a51ce6c5b4
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 17 11:45:50 2013 +0100
vmxcap: Update according to SDM of January 2013
This adds reporting of VMCS shadowing, #VE, IA32_SMBASE, unrestricted
VMWRITE and fixes the range of the MSEG revision ID.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 917367aa968fd4fef29d340e0c7ec8c608dffaab
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 19 23:27:20 2013 -0300
target-i386: kvm: save/restore steal time MSR
Read and write steal time MSR, so that reporting is functional across
migration.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 614413f7f9a88d97ab40ecabd1c7920fb288f820
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Feb 18 07:56:54 2013 +0100
vmxcap: Report APIC register emulation and RDTSCP control
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit ea4ee28399f8ffee4eed2d724c28d2d9879b22fa
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 13 12:44:06 2013 +0100
vmxcap: Augment reported information
Parse the Basic VMX Information MSR and add the bit for the new posted
interrupts.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit f505a4d74aae6fc8bb5502a6038b5f671aa97713
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 13 12:43:10 2013 +0100
vmxcap: Open MSR file in unbuffered mode
Python may otherwise decide to to read larger chunks, applying the seek
only on the software buffer. This will return results from the wrong
MSRs.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 1773d9ee6e7138e3956081670215e8bc0ae14828
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:02 2013 +0200
virtio-net: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17a0ca55657114c055cb407291c1163e09b29973
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:01 2013 +0200
virtio-net: cleanup: use QOM cast.
As the virtio-net-pci and virtio-net-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 89334c8b6baebb1e84cd9bb6e796683e53391769
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:30:00 2013 +0200
virtio-net-ccw: switch to the new API.
Here the virtio-net-ccw is modified for the new API. The device
virtio-net-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-net-device during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74b4fe3d79098b72813e461af565557bb5d35649
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:59 2013 +0200
virtio-net-s390: switch to the new API.
Here the virtio-net-s390 is modified for the new API. The device
virtio-net-s390 extends virtio-s390-device as before. It creates and
connects a virtio-net-device during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e37da3945fa2fde161e1b217f937fc318c4b7639
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:58 2013 +0200
virtio-net-pci: switch to the new API.
Here the virtio-net-pci is modified for the new API. The device
virtio-net-pci extends virtio-pci. It creates and connects a
virtio-net-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 17ec5a8686143da66208273d355f2eeb09807614
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:57 2013 +0200
virtio-net: add the virtio-net device.
Create virtio-net-device which extends virtio-device, so it can be
connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Apr 11 16:29:56 2013 +0200
virtio: add two functions to VirtioDeviceClass.
Recent changes need two functions to VirtioDevice. This just add them
into VirtioDeviceClass.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1365690602-22729-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e6f53fd514bbdcf63a5905536ff4d0effc146742
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Apr 16 13:51:06 2013 +0200
Fix warnings suppressors to honor --disable-werror
Replace
#pragma GCC diagnostic ignored FOO
[Troublesome code...]
#pragma GCC diagnostic error FOO
by
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored FOO
[Troublesome code...]
#pragma GCC diagnostic pop
Broken in commit 3f4349d, commit 092bb30, and commit c95e308.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1366113066-1340-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf2a38d41e304ccd92191327248fd32f14ff11d2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:21 2013 -0500
fw_cfg: add qtest test case
This validates some basic characteristics of fw_cfg.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-8-git-send-email-aliguori@xxxxxxxxxx
commit a875711af9518f0878e084aef00c323098b8f972
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:20 2013 -0500
i440fx-test: add test for PAM functionality
This tests PAM settings for the i440fx. This test does a lot of
byte MMIO which is fairly slow with qtest today. But the test
does complete in under 2 seconds.
We don't fully emulate PAM largely because of limitations with
KVM so we #if 0 that part of the test case.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-7-git-send-email-aliguori@xxxxxxxxxx
commit 9bda413c96c3c7cced25ee4509c74d71e40f094d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:19 2013 -0500
i440fx-test: add test to compare default register values
This test compares all of the default register values against the
spec. It turns out we deviate in quite a few places. These
places are really only visible to the BIOS though which is why
this hasn't created any problems.
The deviation actually happens in the core PCI layer so I suspect
it's not a simple fix if we really care to fix it. For now, just
disable the affected checks.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-6-git-send-email-aliguori@xxxxxxxxxx
commit 8a0743cf747c659a3443e722a832c8f21f1cc774
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:18 2013 -0500
libqos: add malloc support
This is a very simple allocator for the PC platform. It should
be possible to add backends for other platforms.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-5-git-send-email-aliguori@xxxxxxxxxx
commit 234c69c5f92f18d7692e859d2784edb17a88873f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:17 2013 -0500
libqos: add fw_cfg support
fw_cfg is needed to get the top of memory which is necessary for
doing PCI allocation and allocating RAM for DMA.
Add a PC version of fw_cfg and enough abstraction to support other
platforms.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-4-git-send-email-aliguori@xxxxxxxxxx
commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:16 2013 -0500
qtest: add libqos including PCI support
This includes basic PCI support for the PC platform. Enough
abstraction should be present to support non-PC platforms too.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-3-git-send-email-aliguori@xxxxxxxxxx
commit 8a8fd63734944bf6f7111596bd9cc9db6afb9b7c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 09:45:15 2013 -0500
qtest: don't use system command to avoid double fork
Currently we waitpid on the child process we spawn off that does
nothing more than system() another process. While this does not
appear to be incorrect, it's wasteful and confusing so get rid of
it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1366123521-4330-2-git-send-email-aliguori@xxxxxxxxxx
commit 4aead69241e010c3cda624084e3872aa9f7dcaef
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Tue Apr 16 15:50:41 2013 -0600
migration: reflect incoming failure to shell
Management apps like libvirt don't know to pay attention to
stderr unless there is a non-zero exit status.
* migration.c (process_incoming_migration_co): Exit with non-zero
status on failure.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1366149041-626-1-git-send-email-eblake@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 95e2af98d4edb59780e47da2085ea9133f6466bb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Apr 17 17:49:00 2013 +1000
qbus: remove wrong error messages
The existing code shows the "Bus '%s' is full" message even if name
is specified and different from bus->name (i.e. match=0).
The patch excludes unnecessary error message.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1366184940-13516-1-git-send-email-aik@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bd5ac20325ed67eb8f1af719d76aad6ad80e5697
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 17 16:46:54 2013 +0800
chardev: remove the headers of Memory chardev driver
Memory chardev driver is no longer used, and Commit:
4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 has droped
it but the headers, so clean it up.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Message-id: 1366188414-24214-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 20781f9c0057bc00cc74b684b3dc57730cdf83f0
Merge: e0a83fc... e9d8fbf...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 17 10:14:07 2013 -0500
Merge remote-tracking branch 'bonzini/migration-writev' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/migration-writev:
qemu-file: do not use stdio for qemu_fdopen
iov: handle partial writes from sendmsg and recvmsg
iov: reorganize iov_send_recv, part 3
iov: reorganize iov_send_recv, part 2
iov: reorganize iov_send_recv, part 1
qemu-file: drop socket_put_buffer
Message-id: 1366192012-14872-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9d8fbf53a33983c81d67d18e1baa914eb16cdea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:32 2013 +0100
qemu-file: do not use stdio for qemu_fdopen
This uses system calls directly for Unix file descriptors, so that the
efficient writev_buffer can be used. Pay attention to the possibility
of partial writes in writev.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83f75c26e8e791311900d0e2a4cc9379abedb85c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:31 2013 +0100
iov: handle partial writes from sendmsg and recvmsg
Partial writes can still happen in sendmsg and recvmsg, if a
signal is received in the middle of a write. To handle this,
retry the operation with a new offset/bytes pair.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f48869ad2825b640911666bb091cedb1e1d6ad5e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:30 2013 +0100
iov: reorganize iov_send_recv, part 3
"si" and "ei" are merged in a single variable.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5209d6753c90a3d6411abd0729a9cca3775dce3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:29 2013 +0100
iov: reorganize iov_send_recv, part 2
Do not touch the "bytes" argument anymore. Instead, remember the
original length of the last iovec if we touch it, and restore it
afterwards.
This requires undoing the changes in opposite order. The previous
algorithm didn't care.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb6247a7e3e07ead908d2e7fbc8848cc2e135056
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:28 2013 +0100
iov: reorganize iov_send_recv, part 1
Once the initial part of the iov is dropped, it is not used anymore.
Modify iov/iovcnt directly instead of adjusting them with the "si"
variable.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 15711565f66de53c22c3a9faee04fc2092409ce4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 17:36:27 2013 +0100
qemu-file: drop socket_put_buffer
It is enough to implement one of socket_writev_buffer and
socket_put_buffer.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 15:50:00 2013 +0200
qom: do nothing on unparent of object without parent
Otherwise, device_unparent will fail to get a canonical path of
the object.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364910600-3418-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2f7bd829dbaf39eb14706c3e889f28b795e050ca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 16 03:50:21 2013 +0200
qdev: Fix device_add bus assumptions
Drop an unreachable fallback bus assignment to SysBus.
If no ,bus= is specified, only search busses recursively for bus type if
the DeviceClass has a bus_type specified. Handle resulting NULL cases.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366077021-28882-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit acbbc036619092fcd2c882222e1be168bd972b3e
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Apr 16 15:58:16 2013 +0530
rng random backend: check for -EAGAIN errors on read
Not handling EAGAIN triggers the assert
qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len
!= -1)
Aborted (core dumped)
This happens when starting a guest with '-device virtio-rng-pci',
issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat
/dev/random' on the host.
Reported-by: yunpingzheng <yunzheng@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
eacda84dfaf2d99cf6d250b678be4e4d6c2088fb.1366108096.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7dda5dc82a776a39a7996020c188eb2a29187117
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 9 17:43:43 2013 +0200
migration: initialize RAM to zero
Using qemu_memalign only leaves the RAM zero by chance, because libc
will usually use mmap to satisfy our huge requests. But memory will
not be zero when using MALLOC_PERTURB_ with a nonzero value. In the
case of incoming migration, this breaks a recently-introduced
invariant (commit f1c7279, migration: do not sent zero pages in
bulk stage, 2013-03-26).
To fix this, use mmap ourselves to get a well-aligned, always zero
block for the RAM. Mmap-ed memory is easy to "trim" at the sides.
This also removes the need to do something special on valgrind
(see commit c2a8238a, Support running QEMU on Valgrind, 2011-10-31),
thus effectively reverts that patch.
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1365522223-20153-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 86c7dba0d0ed1e9e202f77f7414ce0faf2395a90
Merge: 6f8111a... 2b2325f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:58 2013 -0500
Merge remote-tracking branch 'kraxel/usb.80' into staging
# By Gerd Hoffmann (6) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.80:
use libusb for usb-host
xhci: fix address device
xhci: use slotid as device address
xhci: fix portsc writes
xhci: add xhci_cap_write
xhci: remove leftover debug printf
usb-serial: Remove double call to qemu_chr_add_handlers( NULL )
Message-id: 1366107190-30853-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f8111a16d9cb3744a7b05726df28ee8cb6d8d30
Merge: 100c533... 75c439b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:51 2013 -0500
Merge remote-tracking branch 'spice/spice.v69' into staging
# By Hans de Goede (5) and others
# Via Gerd Hoffmann
* spice/spice.v69:
spice-qemu-char: vmc_write: Don't write more bytes then we're asked too
spice-qemu-char: Remove intermediate buffer
spice-qemu-char: Add watch support
spice-qemu-char: Remove #ifdef-ed code for old spice-server compat
virtio-console: Remove any pending watches on close
virtio-console: Also throttle when less was written then requested
spice: (32 bit only) fix surface cmd tracking destruction
qxl: add 2000x2000 and 2048x2048 video modes
qxl: add 4k + 8k resolutions
Message-id: 1366106194-28826-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 100c533220d70ae9732ba63142d71d1c48688f54
Merge: 398973f... bfe528b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:43 2013 -0500
Merge remote-tracking branch 'kraxel/pixman.v11' into staging
# By Gerd Hoffmann (22) and Igor Mitsyanko (2)
# Via Gerd Hoffmann
* kraxel/pixman.v11: (24 commits)
qxl: register QemuConsole for secondary cards
gtk: custom cursor support
console: allow pinning displaychangelisteners to consoles
console: add qemu_console_is_*
xen: re-enable refresh interval reporting for xenfb
console: gui timer fixes
console: add GraphicHwOps
console: make DisplayState private to console.c
console: move gui_update+gui_setup_refresh from vl.c into console.c
console: zap g_width + g_height
console: simplify screendump
console: give each QemuConsole its own DisplaySurface
console: rename vga_hw_*, add QemuConsole param
console: displaystate init revamp
console: add trace events
console: switch color_table_rgb to pixman_color_t
console: use pixman for font rendering
console: use pixman for fill+blit
pixman: render vgafont glyphs into pixman images
pixman: add qemu_pixman_color()
...
Message-id: 1366105178-26744-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 398973fe1f92e65f39f6a26dacc07baa0da632fc
Merge: 095b9c4... b21bfee...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 16 10:28:36 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Igor Mammedov (8) and others
# Via Andreas Färber
* afaerber/qom-cpu:
target-cris: Override do_interrupt for pre-v32 CPU cores
qdev: Set device's parent before calling realize() down inheritance
chain
cpu: Pass CPUState to *cpu_synchronize_post*()
target-i386: Split out CPU creation and features parsing
target-i386/cpu.c: Coding style fixes
ioapic: Replace FROM_SYSBUS() with QOM type cast
kvmvapic: Replace FROM_SYSBUS() with QOM type cast
target-i386: Split APIC creation from initialization in
x86_cpu_realizefn()
target-i386: Consolidate error propagation in x86_cpu_realizefn()
qdev: Add qdev property for bool type
target-i386: Improve -cpu ? features output
target-i386: Fix including "host" in -cpu ? output
commit 2b2325ff6491224a42e1fec99b1c39fbc521c95c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 30 16:02:11 2012 +0100
use libusb for usb-host
Reimplement usb-host on top of libusb.
Reasons to do this:
(1) Largely rewritten from scratch, nice opportunity to kill historical
cruft.
(2) Offload usbfs handling to libusb.
(3) Have a single portable code base instead of bsd + linux variants.
(4) Bring usb-host support to any platform supported by libusbx.
For now this goes side-by-side to the existing code. That is only to
simplify regression testing though, at the end of the day I want remove
the old code and support libusb exclusively. Merge early in 1.5 cycle,
remove the old code after 1.5 release or something like this.
Thanks to qdev the old and new code can coexist nicely on linux. Just
use "-device usb-host-linux" to use the old linux driver instead of the
libusb one (which takes over the "usb-host" name).
The bsd driver isn't qdev'ified so it isn't that easy for bsd.
I didn't bother making it runtime switchable, so you have to rebuild
qemu with --disable-libusb to get back the old code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a67188743bc30a3ad1358b8cd0a2a3cb64c10ff9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 15:18:52 2013 +0200
xhci: fix address device
Zero-initialize the set-address dummy USBPacket,
also add buffer to avoid sanity checks triggering.
https://bugzilla.redhat.com/show_bug.cgi?id=929019
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af203be36deb234550c3c8d2cbafbaef0f08ae1b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:59:05 2013 +0100
xhci: use slotid as device address
Is good enougth for unique device addresses and avoids the need for any
state for device addressing. Makes live migration support easier. Also
makes device->slot lookups trivial.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bdfce20df113522f389b4483ffd9d5b336e3c774
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 14:55:28 2013 +0200
xhci: fix portsc writes
Check for port reset first and skip everything else then.
Add sanity checks for PLS updates.
Add PLC notification when entering PLS_U0 state.
This gets host-initiated port resume going on win8.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6d3bc22e31bcee74dc1e05a5370cabb33b7c3fda
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 11:29:14 2013 +0200
xhci: add xhci_cap_write
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94ae9eece7c8192170a4159804e152fa32e9eacf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Apr 5 13:56:53 2013 +0200
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7598b41cfa13b2469b9411eee237a5c551e0ffaf
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:25 2013 +0200
usb-serial: Remove double call to qemu_chr_add_handlers( NULL )
usb-serial has a qdev chardev property, and hw/qdev-properties-system.c
already contains:
static void release_chr(Object *obj, const char *name, void *opaque)
{
DeviceState *dev = DEVICE(obj);
Property *prop = opaque;
CharDriverState **ptr = qdev_get_prop_ptr(dev, prop);
CharDriverState *chr = *ptr;
if (chr) {
qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL);
qemu_chr_fe_release(chr);
}
}
So doing the qemu_chr_add_handlers(s->cs, NULL, NULL, NULL, NULL); from
the usb handle_destroy function too will lead to it being done twice.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 75c439bc65c07d76f5e74c734ed5432bc6114a3b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:24 2013 +0200
spice-qemu-char: vmc_write: Don't write more bytes then we're asked too
This one took me eons to debug, but I've finally found it now, oh well.
The usage of the MIN macro in this line:
last_out = MIN(len, qemu_chr_be_can_write(scd->chr));
Causes qemu_chr_be_can_write to be called *twice*, since the MIN macro
evaluates its arguments twice (bad MIN macro, bad!). And the result of
the call can change between the 2 calls since the guest may have consumed
some data from the virtio ringbuffer between the calls!
When this happens it is possible for qemu_chr_be_can_write to return less
then len in the call made for the comparision, and then to return more
then
len in the actual call for the return-value of MIN, after which we will
end
up writing len data + some extra garbage, not good.
This patch fixes this by only calling qemu_chr_be_can_write once.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b010cec86b9a4a0b63162cd27e37c2d99e90ed66
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Fri Apr 5 11:30:23 2013 +0200
spice-qemu-char: Remove intermediate buffer
virtio-serial's buffer is valid when it calls us, and we don't
access it otherwise: vmc_read is only called in response to wakeup,
or else we set datalen=0 and throttle. Then vmc_read is called back,
we return 0 (not accessing the buffer) and set the timer to unthrottle.
Also make datalen int and not ssize_t (to fit spice_chr_write signature).
HdG: Update to apply to spice-qemu-char with new gio-channel based
flowcontrol support.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ae893e5e818878caf433d716d37be9df297403fe
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:22 2013 +0200
spice-qemu-char: Add watch support
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 52fe0e75b757c7c54fd3b967c9ff70d337790195
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:21 2013 +0200
spice-qemu-char: Remove #ifdef-ed code for old spice-server compat
We now require spice-server to be >= 0.12.0 so this is no longer needed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3d6b96ebba18d016be26ffa475feea0d81801a2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:20 2013 +0200
virtio-console: Remove any pending watches on close
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9fb0532fb0c7155c0616614dc12ecccf93f8afb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 5 11:30:19 2013 +0200
virtio-console: Also throttle when less was written then requested
This is necessary so that we get properly woken up to write the rest.
This patch also changes the len argument to the have_data callback, to
avoid doing an unsigned signed comparison.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8bb9f51ca243551fb838a3a6a2983016ed2bbb73
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Mar 13 17:58:35 2013 +0200
spice: (32 bit only) fix surface cmd tracking destruction
No change for 64 bit arches, but for 32 bit previously we zeroed half
the surfaces cmd array, instead of all of it.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c74fb27f94821057c7929a8244cabe86adf2b8d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Apr 4 10:15:34 2013 +0200
qxl: add 2000x2000 and 2048x2048 video modes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 095b9c4860b1351e4a0322e43708f39c79c1f34b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:34:50 2013 +1000
m25p80: Add debug message for no bdrv
If there is no backing bdrv, let the debugging developer know about it.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 28097d02078cfb708c2034f90394936209785f2e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:34:11 2013 +1000
m25p80.c: Multiple debug verbosity levels
The debug printfs on every page program/read is extremely verbose. Add
a second level of debug for this.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e9711b4d52ed07b9b754f9aa10b4a8c741815d0a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:33:32 2013 +1000
m25p80: Convert guest errors to LOG_GUEST_ERROR
Some of the debug printfs in m25p80 are really guest errors.
Changed over to qemu_log_mask(LOG_GUEST_ERROR accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 3bec0c7d461a2f0139d60e959a80641487835d5a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:32:53 2013 +1000
m25p80: Fix debug messages.
Some dodgy casts were making a mess of these msgs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 42bb9c9178ae7ac4c439172b1ae99cc29188a5c6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:28:35 2013 +1000
stream: Remove app argument hack
The uint32_t *app argument doesn't exist in real hardware. It was a hack
in
xilinx_axidma/enet to fake the (secondary) control stream connection.
Removed
the argument and added the second stream to axienet/dma.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 3630ae952a17c2107db25f397233536ef874558e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:27:55 2013 +1000
xilinx_axienet/dma: Implement rx path flow control
Implement flow control for the RX data path from
xilinx_axienet->xilinx_axidma.
On short return from axidma, then ethernet sets up the notify callback to
resume
transfer from where it left off.
This also allows the ethernet to track whether there is an in progress
transaction
and return false from ethernet can_receive() as appropriate.
If the DMA backs up or is disabled it waits for enablement. When the rx
stream IO
region is touched, the can_push() notify function is called if set.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 35e60bfdbc14ce31bba55cc82144f8a2a82ede68
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:27:16 2013 +1000
stream: Add flow control API
Add basic flow control to stream. A stream slave may return short,
indicating
that it is not capable of accepting any more data at the present time.
Polling
or a callback can be used via the can_push() function to determine when
the
slave can receive again.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 210914e29975d17e635f9e8c1f7478c0ed7a208f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:26:37 2013 +1000
xilinx_axidma: Fix rx/tx halted bit.
If there is no DMA buffer descriptor, the DMA halts, not idles.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e1500e35c22be345cd04f77fa6993770b689eaa9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:25:57 2013 +1000
xilinx_axidma: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This
is
setup for future work where a second stream slave connection is needed.
The
new child object is created at qdev init time and is linked back to the
parent
(the ethernet device itself) automatically.
Stream slave masters differentiate which slave connection they are
connected to
by linking to the proxy object rather than the parent.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:25:18 2013 +1000
xilinx_axienet: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This
is
setup for future work where a second stream slave connection is needed.
The
new child object is created at qdev init time and is linked back to the
parent
(the ethernet device itself) automatically.
Stream slave masters differentiate which slave connection they are
connected to
by linking to the proxy object rather than the parent.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b19ceaad0dee6bca619ba2de19003b50e1a8cb01
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:24:39 2013 +1000
petalogix_ml605_mmu: Attach ethernet to machine
Explicitly make the ethernet a child of the machine. This is needed to set
and use links pre-realize. Also makes the ethernet initialization
consistent
with its peer DMA.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 54ff2a399fc9453fa75f9223d7d2cd912f17fb4b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:23:59 2013 +1000
petalogix_ml605_mmu: Fix machine node attachment
Just attach devices straight to the root machine node, rather than the
"unattached node"
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit e65436634dc4f3b43ba914b7e38fe696853da3ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:23:20 2013 +1000
xilinx_axidma: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. I'm
going
with Andreas suggestion to move the sysbus foo to Object::init for early
IRQ
visibility.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 897374db7db10a9c17fd4da4e089705b553b4ee1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:22:41 2013 +1000
xilinx_axidma: Register reset properly
Register the reset function as the Device::reset function rather than
explicitly call it from the sysbus::init.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit cbde584f58b484a8200eb578a5ba81057488f0eb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:22:02 2013 +1000
xilinx_axidma: Defined and use type cast macro
Standard QOM cast macro. Replaces usages of FROM_SYSBUS
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 42e8a283f50da698e8bff7ed36b8b39e21d70eaa
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:21:23 2013 +1000
xilinx_axidma: typedef XilinxAXIDMA struct
Typedef xilinx_axidma's object state struct to shorten the repeated
usages of
struct XilinxAXIDMA.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b2d9dfe94cc9a27e0b59d892ae8e3ec223ff9514
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:20:44 2013 +1000
xilinx_axienet: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. Im
going
with Andreas suggestion to move the sysbus foo to Object::init for early
IRQ
visibility.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:20:06 2013 +1000
xilinx_axienet: Register reset properly
Register the reset function and the Device::reset function rather than
explicitly call it from the sysbus::init.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f0e7a81c0ca122126e92a9f06b9599f04a0eaebb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:19:27 2013 +1000
xilinx_axienet: Defined and use type cast macro
Standard QOM cast macro. Replaces usages of FROM_SYSBUS
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 545129e58965dcedf229dac3ed7ea1235a9838f2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 16 10:18:47 2013 +1000
xilinx_axienet: typedef XilinxAXIEnet struct
Typedef xilinx_axienets object state struct to shorten the repeated
usages of
struct XilinxAXIEnet.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bfe528b9b99d52693a55f2b803039d68a97bcfb2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 16:59:58 2013 +0100
qxl: register QemuConsole for secondary cards
Hook secondary qxl cards properly into the qemu console subsystem.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 09:11:41 2013 +0100
gtk: custom cursor support
Makes gtk ui play nicely with qxl (and vmware_svga)
as you can actually see your pointer now ;)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 284d1c6b3bf4ece6278f4b9831c7192e3777290c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 15 15:45:54 2013 +0100
console: allow pinning displaychangelisteners to consoles
DisplayChangeListener gets a new QemuConsole field, which can be set to
non-NULL before registering. This will pin the QemuConsole, so that
particular DisplayChangeListener will not follow console switches.
spice+gtk (which don't support text console input anyway) are switched
over to be pinned to console 0, which usually is the graphical display.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 81c0d5a66295024d0a42e3d28efcd102a32f93c3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 14 14:27:08 2013 +0100
console: add qemu_console_is_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dea1b0bdd8b0bb9d76a012fd0f234ba1768a4a93
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 15:01:02 2013 +0100
xen: re-enable refresh interval reporting for xenfb
xenfb informs the guest about the gui refresh interval so it can avoid
pointless work. That logic was temporarely disabled for the
DisplayState reorganization. Restore it now, with a proper interface
for it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4bcb199fb15f9f079ef280e7e6f9ccdfaa49ced
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 15 11:53:47 2013 +0100
qxl: add 4k + 8k resolutions
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0f7b2864d0d0c3ef2801f9214d8c510c80a220d1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 14 11:56:16 2013 +0100
console: gui timer fixes
Make gui update rate adaption code in gui_update() actually work.
Sprinkle in a tracepoint so you can see the code at work. Remove
the update rate adaption code in vnc and make vnc simply use the
generic bits instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 380cd056ec0e7fc8bbd553cdcb061d3ca612bb82
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 14:04:18 2013 +0100
console: add GraphicHwOps
Pass a single GraphicHwOps struct pointer to graphic_console_init,
instead of a bunch of function pointers.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 27be55872dd747c733a42a3d90864d9f59272d26
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 12:25:25 2013 +0100
console: make DisplayState private to console.c
With gui_* being moved to console.c nobody outside console.c needs
access to DisplayState fields any more. Make the struct private.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 98a9ad9082284df62fb5b9355dd1901639de8268
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 12:17:13 2013 +0100
console: move gui_update+gui_setup_refresh from vl.c into console.c
Pure code motion, no functional changes.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 36671fbd06f31efc592c37acda3f8a75599e48e0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 13 10:14:52 2013 +0100
console: zap g_width + g_height
We have a surface per QemuConsole now, so there is no need to keep
track of the QemuConsole size any more as we can query the surface
size directly at any time.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2c62f08ddbf3fa80dc7202eb9a2ea60ae44e2cc5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 14:48:31 2013 +0100
console: simplify screendump
Screendumps are alot simpler as we can update non-active
QemuConsoles now. So we only need to update the QemuConsole
we want write out, then dump the DisplaySurface content into
a ppm file. Done.
No console switching needed. No special support code in the
gfx card emulation needed. Zap it all. Also move ppm_save
out of the vga code and next to the qmp_screendump function.
For now screen dumping is limited to console #0 (like it used
to be), even though it is dead simple to extend it to other
consoles. I wanna finish the console cleanup before setting
new qapi interfaces into stone.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
commit 321f048d248472f1e90559976bb917d869981c68
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 14:39:22 2013 +0100
console: give each QemuConsole its own DisplaySurface
Go away from the global DisplaySurface, give one to each QemuConsole
instead. With this patch applied it is possible to call
graphics_hw_* functions with qemu consoles which are not the current
foreground console.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1dbfa005032d4fa5d7a5242da856d3487c907431
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 12 13:44:38 2013 +0100
console: rename vga_hw_*, add QemuConsole param
Add QemuConsole parameter to vga_hw_*, so the interface allows to update
non-active consoles (the actual code can't handle this yet, see next
patch). Passing NULL is allowed and updates the active console, like
the functions do today.
While touching all vga_hw_* calls anyway rename that to the functions to
hardware-neutral graphics_hw_*
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 64840c66b702cc4c809c72d8ad5d26861dd7fd8d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 17:08:29 2013 +0100
console: displaystate init revamp
We have only one DisplayState, so there is no need for the "next"
linking, rip it. Also consolidate all displaystate initialization
into init_displaystate(). This function is called by vl.c after
creating the devices (and thus all QemuConsoles) and before
initializing DisplayChangeListensers (aka gtk/sdl/vnc/spice ui).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 437fe1061be3da49b0b05ed2f0c9c50e2255c3fe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 16:04:52 2013 +0100
console: add trace events
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e27bd65a72dece59e93914d3ffa8653ce0c70511
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 8 08:43:24 2013 +0100
console: switch color_table_rgb to pixman_color_t
Now that all text console rendering uses pixman we can easily
switch the color tables to use pixman_color_t directly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 15:44:10 2013 +0100
console: use pixman for font rendering
Zap homegrown font rendering code, use pixman calls instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 68db6dc5310df9bb0d8d4ed8f5138b0c5c6415be
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 15:43:23 2013 +0100
console: use pixman for fill+blit
Zap homegrown pixel shuffeling code, use pixman calls instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b762795257353760e8c69e144188ef7ab2b84c37
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 7 15:23:48 2013 +0100
pixman: render vgafont glyphs into pixman images
Add helper functions to create pixman mask images for glyphs
and to render these glyphs into a pixman image.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 867c538f988d326f6b447acde867e5de5a5014a0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 14:14:17 2013 +0100
pixman: add qemu_pixman_color()
Helper function to map qemu colors (32bit integer + matching PixelFormat)
into pixman_color_t.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit eb2f9b024d68884a3b25e63e4dbf90b67f8da236
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 11:44:21 2013 +0100
hw/vmware_vga.c: various vmware vga fixes.
Hardcode depth to 32 bpp. It effectively was that way before because
that is the default surface depth, this just makes it explicit in the
code.
Rename depth to new_depth to make it consistent with the new_width +
new_height names. In theory we can make new_depth changeable (i.e.
allow the guest to fill in -- say -- 16 there). In practice the guests
don't try, the X-Server refuses to start if you ask it to use 16bpp
depth (via DefaultDepth in the Screen section).
Always return the correct rmask+gmask+bmask values for the given
new_depth.
Fix mode setting to also verify at new_depth to make sure we have a
correct DisplaySurface, even if the current video mode happes to be
16bpp (set by vgabios via bochs vbe interface). While being at it
switch over to use qemu_create_displaysurface_from, so the surface is
backed by guest-visible video memory and we save a memcpy.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7a6404cd8be97d73d1fc272dda82445c19f05aa1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:53:35 2013 +0100
hw/vmware_vga.c: add tracepoints for mmio reads+writes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 17866fc888445ec7d2568645df45bb47e6be01de
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Tue Mar 19 23:44:56 2013 +0400
hw/vmware_vga.c: fix screen resize bug introduced after console revamp
In vmsvga display update function, a pointer to DisplaySurface must be
acquired
after a call to vmsvga_check_size since this function might replace
current
DisplaySurface with a new one.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 522fccbe71e35efc96f66cb475f778c2ce02e9fc
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Tue Mar 19 23:44:55 2013 +0400
exynos4210_fimd.c: fix display resize bug introduced after console revamp
In exynos4210 display update function, we were acquiring DisplaySurface
pointer before calling screen resize function, not paying attention that
resize
procedure can replace current DisplaySurface with newly allocated one.
Right thing to do is to initialize DisplaySurface AFTER a call to resize
function.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b21bfeead284cf212d88dfa25171fee122407bc2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 19:59:39 2013 +0100
target-cris: Override do_interrupt for pre-v32 CPU cores
Instead of forwarding from cris_cpu_do_interrupt() to do_interruptv10(),
override CPUClass::do_interrupt with crisv10_cpu_do_interrupt() in the
newly introduced class_init functions.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a7ddba527c0b9dd32dfa7e35fa41701f990a3db4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:56 2013 +0200
qdev: Set device's parent before calling realize() down inheritance chain
Currently device_set_realized() sets parent only after device was
realized,
but qdev_device_add() sets it before device is realized.
Make behavior consistent and alter device_set_realized() to behave like
qdev_device_add().
It will allow to set link<> properties in realize() method in classes
inherited from DEVICE.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3f24a58fa7dacd82cb72393367be207b0dab16b4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:41 2013 +0200
cpu: Pass CPUState to *cpu_synchronize_post*()
... so it could be called without requiring CPUArchState.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7f833247df4b68719413b5dccc5f84944f442cb3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Apr 11 16:51:40 2013 +0200
target-i386: Split out CPU creation and features parsing
Move CPU creation and features parsing into a separate cpu_x86_create()
function, so that board would be able to set board-specific CPU
properties before CPU is realized.
Keep cpu_x86_init() for compatibility with the code that uses cpu_init()
and doesn't need to modify CPU properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd13e08804c8c33c6021c0e27787422534d3b321
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Apr 11 17:07:23 2013 -0300
target-i386/cpu.c: Coding style fixes
* Add braces to 'if' statements;
* Remove last TAB character from the source.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Changed whitespace]
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f16a69f7fce97186fd352c79201b1d0145c02d66
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:37:00 2013 +0200
ioapic: Replace FROM_SYSBUS() with QOM type cast
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f1fc3e66581f638ba72d93c1a4912cfa573dd187
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:59 2013 +0200
kvmvapic: Replace FROM_SYSBUS() with QOM type cast
... and define type name and type cast macro for kvmvapic according
to accepted convention.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3c64d6a1874f94246af91963927fb4d924332f1
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:54 2013 +0200
target-i386: Split APIC creation from initialization in
x86_cpu_realizefn()
When APIC is hotplugged during CPU hotplug, device_set_realized()
calls device_reset() on it. And if QEMU runs in KVM mode, following
call chain will fail:
apic_reset_common()
-> kvm_apic_vapic_base_update()
-> kvm_vcpu_ioctl(cpu->kvm_fd,...)
due to cpu->kvm_fd not being initialized yet.
cpu->kvm_fd is initialized during qemu_init_vcpu() but x86_cpu_apic_init()
can't be moved after it because kvm_init_vcpu() -> kvm_arch_reset_vcpu()
relies on APIC to determine if CPU is BSP for setting initial
env->mp_state.
So split APIC device creation from its initialization and realize APIC
after CPU is created, when it's safe to call APIC's reset method.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4dc1f449ab22bb79ea3894bd90b154c30d73573e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Apr 5 16:36:53 2013 +0200
target-i386: Consolidate error propagation in x86_cpu_realizefn()
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 72cc5137759ce1393c9eeac81b677947d618351d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Mar 7 17:16:18 2013 +0100
qdev: Add qdev property for bool type
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
[AF: Use new qdev_prop_set_after_realize()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3af60be28c35257e3ad1fc6ef1c415b09bdc8545
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Feb 27 10:15:51 2013 +0100
target-i386: Improve -cpu ? features output
We were missing a bunch of feature lists. Fix this by simply dumping
the meta list feature_word_info.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21ad77892d321f15325d77f6fab700864af61f49
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 24 17:01:02 2013 +0100
target-i386: Fix including "host" in -cpu ? output
kvm_enabled() cannot be true at this point because accelerators are
initialized much later during init. Also, hiding this makes it very hard
to discover for users. Simply dump unconditionally if CONFIG_KVM is set.
Add explanation for "host" CPU type.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22773d6066a7f01a95f78c270edf9dbd2e755ac3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 31 15:31:14 2013 +0300
pci: add pci test device
This device is used for kvm unit tests,
currently it supports testing performance of ioeventfd.
Using updated kvm unittest, here's an example output:
mmio-no-eventfd:pci-mem 8796
mmio-wildcard-eventfd:pci-mem 3609
mmio-datamatch-eventfd:pci-mem 3685
portio-no-eventfd:pci-io 5287
portio-wildcard-eventfd:pci-io 1762
portio-datamatch-eventfd:pci-io 1777
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 24a6e7f4d91e9ed5f8117ecb083431a23f8609a0
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Sun Apr 14 14:07:00 2013 +0200
virtio-balloon: fix dynamic properties.
To keep compatibility with the old virtio-balloon-x, add the dynamic
properties
to virtio-balloon-pci and virtio-balloon-ccw.
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1365941220-8114-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ceb193d30fe9b1cda0dc73bddb8051659926fb9
Merge: a907cf5... c72dd2d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 17:06:04 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
* bonzini/hw-dirs:
exec: remove useless declarations from memory-internal.h
memory: move core typedefs to qemu/typedefs.h
include: avoid useless includes of exec/ headers
sysemu: avoid proliferation of include/ subdirectories
tpm: reorganize headers and split hardware part
configure: fix TPM logic
acpi.h: make it self contained
acpi: move declarations from pc.h to acpi.h
hw: Add lost ARM core again
Fix failure to create q35 machine
Add linux-headers to QEMU_INCLUDES
arm: fix location of some include files
Conflicts:
configure
aliguori: trivial conflict in configure output
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a907cf59d8a41ecb909ad4367cd016c7d71f8546
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Mon Apr 15 21:28:17 2013 +0200
Allow qtest to be used together with a virtual CPU
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1366054097-14132-1-git-send-email-edgar.iglesias@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe6c211781f80ef4fc246269cecbbc21981089f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 15 18:34:10 2013 +0200
qdev: Fix QOM unrealize behavior
Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare
"realized" property) setting realized = true would register the device's
VMStateDescription, but realized = false would not unregister it. Fix
that.
Moving the code from unparenting also revealed that we were calling
DeviceClass::init through DeviceClass::realize as interim solution but
DeviceClass::exit still at unparenting time with a realized check.
Make this symmetrical by implementing DeviceClass::unrealize to call it,
while we're setting realized = false in the unparenting path.
The only other unrealize user is mac_nvram, which can safely override it.
Thus, mark DeviceClass::exit as obsolete, new devices should implement
DeviceClass::unrealize instead.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1366043650-9719-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e0e367bad7170e264916cdcba4306f79f47bb95c
Merge: e6b6367... 39dc85b...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 15 22:51:32 2013 +0200
Merge branch 'tcg-ppc64' of git://github.com/rth7680/qemu
* 'tcg-ppc64' of git://github.com/rth7680/qemu: (33 commits)
tcg-ppc64: Handle deposit of zero
tcg-ppc64: Implement mulu2/muls2_i64
tcg-ppc64: Implement add2/sub2_i64
tcg-ppc64: Use getauxval for ISA detection
tcg-ppc64: Implement movcond
tcg-ppc64: Use ISEL for setcond
tcg-ppc64: Use MFOCRF instead of MFCR
tcg-ppc64: Cleanup i32 constants to tcg_out_cmp
tcg-ppc64: Use TCGType throughout compares
tcg-ppc64: Use I constraint for mul
tcg-ppc64: Implement deposit
tcg-ppc64: Handle constant inputs for some compound logicals
tcg-ppc64: Implement compound logicals
tcg-ppc64: Implement bswap64
tcg-ppc64: Implement bswap16 and bswap32
tcg-ppc64: Implement rotates
tcg-ppc64: Streamline qemu_ld/st insn selection
tcg-ppc64: Use automatic implementation of ext32u_i64
tcg-ppc64: Improve and_i64 with constant
tcg-ppc64: Improve and_i32 with constant
...
commit e6b636779b51c97e67694be740ee972c52460c59
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Mar 19 11:20:20 2013 +0000
Add -f FMT / --format FMT arg to qemu-nbd
Currently the qemu-nbd program will auto-detect the format of
any disk it is given. This behaviour is known to be insecure.
For example, if qemu-nbd initially exposes a 'raw' file to an
unprivileged app, and that app runs
'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0'
then the next time the app is started, the qemu-nbd will now
detect it as a 'qcow2' file and expose /etc/shadow to the
unprivileged app.
The only way to avoid this is to explicitly tell qemu-nbd what
disk format to use on the command line, completely disabling
auto-detection. This patch adds a '-f' / '--format' arg for
this purpose, mirroring what is already available via qemu-img
and qemu commands.
qemu-nbd --format raw -p 9000 evil.img
will now always use raw, regardless of what format 'evil.img'
looks like it contains
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
[Use errx, not err. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39dc85b98561ea3de2b029f43a3a2db95c57afa3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 12:47:22 2013 -0700
tcg-ppc64: Handle deposit of zero
The TCG optimizer does great work when inserting constants, being able
to fold the open-coded deposit expansion to just an AND or an OR. Avoid
a bit the regression caused by having the deposit opcode by expanding
deposit of zero as an AND.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6645c147db4bb84b1b24c49be9398be22902923b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 16:20:51 2013 -0800
tcg-ppc64: Implement mulu2/muls2_i64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6c858762de60ffff80011251b5fe1ae93cbcd2c8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 14:26:52 2013 -0800
tcg-ppc64: Implement add2/sub2_i64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1e6e9aca157bb8bc4bef60374e1f584d742e7fb2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 18 09:11:15 2013 -0800
tcg-ppc64: Use getauxval for ISA detection
Glibc 2.16 includes an easy way to get feature bits previously
buried in /proc or the program startup auxiliary vector. Use it.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 027ffea9728704d9e23ae52baf51a1bcfbf34680
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 13:00:05 2013 -0800
tcg-ppc64: Implement movcond
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 70fac59a2ae334c5994037b45a76f8dc9f034ab5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 15:16:10 2013 -0700
tcg-ppc64: Use ISEL for setcond
There are a few simple special cases that should be handled first.
Break these out to subroutines to avoid code duplication.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6995a4a063d3ab3ceb21aad8c8a78f4cfc5e4140
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 15:09:52 2013 -0700
tcg-ppc64: Use MFOCRF instead of MFCR
It takes half the cycles to read one CR register instead of all 8.
This is a backward compatible addition to the ISA, so chips prior
to Power 2.00 spec will simply continue to read the entire CR register.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 991041a4eb8895390d816375021dccfd12c81752
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 14:14:23 2013 -0700
tcg-ppc64: Cleanup i32 constants to tcg_out_cmp
Nothing else in the call chain ensures that these
constants don't have garbage in the high bits.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4c314da6d1b438c815533380981880fe3f49b1ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 14:58:27 2013 -0700
tcg-ppc64: Use TCGType throughout compares
The optimization/bug being fixed is that tcg_out_cmp was not applying the
right type to loading a constant, in the case it can't be implemented
directly. Rather than recomputing the TCGType enum from the arch64 bool,
pass around the original TCGType throughout.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ef809300fcf300a3efef479734e9456dc5b7581c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 09:45:11 2013 -0800
tcg-ppc64: Use I constraint for mul
The mul_i32 pattern was loading non-16-bit constants into a register,
when we can get the middle-end to do that for us. The mul_i64 pattern
was not considering that MULLI takes 64-bit inputs.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 33de9ed2235f8729c36110906c6806b361f96a24
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 08:39:30 2013 -0800
tcg-ppc64: Implement deposit
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 37251b98db28ff606479f53ff59ec0724348c40b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 4 13:48:38 2013 -0800
tcg-ppc64: Handle constant inputs for some compound logicals
Since we have special code to handle and/or/xor with a constant,
apply the same to andc/orc/eqv with a constant.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ce1010d6e3080aae0ba597cb9cce07dbf6ec5a5a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 07:49:13 2013 -0800
tcg-ppc64: Implement compound logicals
Mostly copied from the ppc32 port.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68aebd45b1bc13828029e60d12147222ddef3259
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 21:41:54 2013 -0800
tcg-ppc64: Implement bswap64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d221582009d942de77a538d21b09c9120929dc5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 21:16:38 2013 -0800
tcg-ppc64: Implement bswap16 and bswap32
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 313d91c778e9a2a684d5aacc09750421a6612416
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 19:24:06 2013 -0800
tcg-ppc64: Implement rotates
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 49d9870a54161b0c2cd29a8b70cf5aa6d3aed469
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 2 00:58:14 2013 -0800
tcg-ppc64: Streamline qemu_ld/st insn selection
Using a table to look up insns of the right width and sign.
Include support for the Power 2.06 LDBRX and STDBRX insns.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28f2dba6dc451daf462456adc4edfeb3d911fb12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 13:36:07 2013 -0500
tcg-ppc64: Use automatic implementation of ext32u_i64
The enhancements to and immediate obviate this.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 637af30c764e08763e28908d01e5f73efb5e2318
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 23:58:17 2013 -0800
tcg-ppc64: Improve and_i64 with constant
Use RLDICL and RLDICR.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9249dff4dc233f9377e7a3025aa124d8941b096
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 23:43:42 2013 -0800
tcg-ppc64: Improve and_i32 with constant
Use RLWINM
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dce74c57bbf9839e72a2f83e3d994d4dd86f93c6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 20:22:05 2013 -0800
tcg-ppc64: Tidy or and xor patterns.
Handle constants in common code; we'll want to reuse that later.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 148bdd23738a2919dda101908f9cfd94f253ef66
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Apr 4 07:30:20 2013 -0700
tcg-ppc64: Allow constant first argument to sub
Using SUBFIC for 16-bit signed constants.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee924fa6b36330fb2d7c383df6436fcac77e1f23
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:17:17 2013 -0800
tcg-ppc64: Improve constant add and sub ops.
Improve constant addition -- previously we'd emit useless addi with 0.
Use new constraints to force the driver to pull full 64-bit constants
into a register.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3d582c6179c853cf27e3c7a19575b6c9b94bd154
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:51:53 2013 -0800
tcg-ppc64: Rearrange integer constant constraints
We'll need a zero, and Z makes more sense for that. Make sure we
have a full compliment of signed and unsigned 16 and 32-bit tests.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 421233a1469123cc51ddd19849f7db4b6bd380e7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 15:52:49 2013 -0800
tcg-ppc64: Cleanup tcg_out_movi
The test for using movi32 was sub-optimal for TCG_TYPE_I32, comparing
a signed 32-bit quantity against an unsigned 32-bit quantity.
When possible, use addi+oris for 32-bit unsigned constants. Otherwise,
standardize on addi+oris+ori instead of addis+ori+rldicl.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 752c1fdb6d3e7cc03157af213837f3b081b03858
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Apr 2 11:13:28 2013 -0700
tcg-ppc64: Fix setcond_i32
We weren't ignoring the high 32 bits during a NE comparison.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2fd8eddcab144d29f9f58c842ad7a7fd65147394
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 16:08:50 2013 -0800
tcg-ppc64: Introduce and use TAI and SAI
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e916c287e023c57f05689f908cc4579a6b53245
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:19:05 2013 -0800
tcg-ppc64: Introduce and use tcg_out_shri64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a9564b964f2fec444cd422343bc1cc370c60dee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:12:14 2013 -0800
tcg-ppc64: Introduce and use tcg_out_shli64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e5e06024ff722057db928ce5da0b0de64768bc8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:06:30 2013 -0800
tcg-ppc64: Introduce and use tcg_out_ext32u
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9e555b735c8c0077bcf88ae92d6a0a26c38b437e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 15:00:45 2013 -0800
tcg-ppc64: Introduce and use tcg_out_rlw
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aceac8d68537b96aa2ef8e8ba246bfaf179975dd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Feb 1 14:48:37 2013 -0800
tcg-ppc64: Use TCGReg everywhere
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66d4f6a32bf5aa0e3e20c1da11ecc75f8b566899
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 31 11:16:21 2013 -0800
disas: Disassemble all ppc insns for the host
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c72dd2d04bd28f7ec6b073316270258684ba5fc3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 18:26:41 2013 +0200
exec: remove useless declarations from memory-internal.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b421d9c6aba0ba3338c00b56cf45edbc150c42f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 9 11:10:27 2013 +0200
memory: move core typedefs to qemu/typedefs.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0bc3cd624f1d59456cad769bb07e84066a2ddaf9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 17:29:59 2013 +0200
include: avoid useless includes of exec/ headers
Headers in include/exec/ are for the deepest innards of QEMU,
they should almost never be included directly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dccfcd0e5f8f37360ebda11ccc4dab164c04d5a3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 16:55:25 2013 +0200
sysemu: avoid proliferation of include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bdee56f5466a724f043e6cfcfcf69866cc48cc94
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 18:28:41 2013 +0200
tpm: reorganize headers and split hardware part
The TPM subsystem does not have a full front-end/back-end separation.
The sole available backend, tpm_passthrough, depends on the data
structures of the sole available frontend, tpm_tis.
However, we can at least try to split the user interface (tpm.c) from the
implementation (hw/tpm). The patches makes tpm.c not include tpm_int.h,
which is shared between tpm_tis.c and tpm_passthrough.c; instead it
moves more stuff to tpm_backend.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ca5aa4f4c4a8bcc73988dd52a536241d35e5223
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 10 15:23:27 2013 +0200
qemu-char: another io_add_watch_poll fix
After attaching the source, we have to remove the reference we hold
to it, because we do not hold anymore a pointer to the source.
If we do not do this, removing the source will not finalize it and
will not drop the "real" I/O watch source.
This showed up when backporting the new flow control patches to older
versions of QEMU that still used select. The whole select then failed
with EBADF (poll instead will reporting POLLNVAL on a single pollfd)
and QEMU froze.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365600207-21685-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5990ff46759d918309dc10409a7d7ee83467642
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:36 2013 +0200
virtio-serial: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76017fd2ea9bbd24850deb0bf665ef65c920d7f3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:35 2013 +0200
virtio-serial: cleanup: use QOM casts.
As the virtio-serial-pci and virtio-serial-s390 are switched to the new
API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 34b95b2c647e6e66adcf877d06ea8b7911d31e80
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:34 2013 +0200
virtio-serial: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6acf69cd4fcc089f6c2415912431c04e096b5d5e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:33 2013 +0200
virtio-serial-ccw: switch to the new API.
Here the virtio-serial-ccw is modified for the new API. The device
virtio-serial-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-serial during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55169140020c431bae446280858bd25e1e54f366
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:32 2013 +0200
virtio-serial-s390: switch to the new API.
Here the virtio-serial-s390 is modified for the new API. The device
virtio-serial-s390 extends virtio-s390-device as before. It creates and
connects a virtio-serial during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7f7464afdb9f6f792de080ca4b3c520168513ad
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:31 2013 +0200
virtio-serial-pci: switch to the new API.
Here the virtio-serial-pci is modified for the new API. The device
virtio-serial-pci extends virtio-pci. It creates and connects a
virtio-serial during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2cd2b016a145c57204ab629d2876b7e0a931ab12
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 14:53:30 2013 +0200
virtio-serial: add the virtio-serial device.
Create virtio-serial which extends virtio-device, so it can be connected
on virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id: 1365512016-21944-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f574fa8b0700bd5a3a400dbdc3bd514eaf53e005
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Apr 9 12:04:48 2013 +0200
virtio: fix broken aliases.
This fix the broken aliases, by renaming the devices.
So: * virtio-blk => virtio-blk-device.
* virtio-balloon => virtio-balloon-device.
* virtio-scsi => virtio-scsi-device.
All virtio-*-pci, virtio-*-s390, virtio-*-ccw didn't change.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1365501888-14602-1-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9fd02979d7f0fc58519f0119120797cba2a9fe70
Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Date: Mon Apr 8 23:08:13 2013 +0200
Update Makefile to actually install the new efi-enabled nic roms that are
used by default.
Commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f made a switch use the
efi-enabled nic roms by default.
This patch updates the Makefile to install the roms so they can actually
be used.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Message-id: 1365455293-7084-1-git-send-email-linux@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3718c7f0914c39d048a00f609baa4f47f7fc727f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 11:12:50 2013 +0300
acpi.h: make it self contained
Headers shouldn't assume another header is included,
pull in everything necessary.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20130415081250.GA7374@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 97ebbab0e324831dff47dbfa4bed55808cb3ec74
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:48 2013 +0200
nbd: set TCP_NODELAY
Disable the Nagle algorithm to reduce latency. Note this means we must
also use TCP_CORK when sending header followed by payload to avoid
fragmenting lots of little packets. The previous patch took care of
that.
Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Tested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0fcece25c0b1b79b39d1dff5c2c55b88feae7eef
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:47 2013 +0200
nbd: use TCP_CORK in nbd_co_send_request()
Use TCP_CORK to defer packet transmission until both the header and the
payload have been written.
Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6760c47aa42ce30efdd12c132f73c8749c575995
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 16:14:46 2013 +0200
nbd: unlock mutex in nbd_co_send_request() error path
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Apr 15 13:54:07 2013 +0200
target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR
The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format.
Otherwise, the results are unpredictable. Once the operands were corrected
in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became
visible.
This change corrects the tests for MAQ_SA_W.PHL/MAQ_SA_W.PHR and fixes
sign-related issue in mipsdsp_mul_q15_q15. It also removes unnecessary
comment.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
commit e3d142d073d02f0a3a4aad79eb838c15b6f99c01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 12 16:37:52 2013 +0100
fpu: Correct edgecase in float64_muladd
In handling float64_muladd, if we end up doing a subtraction of the
product and c, and the 128 bit result of this subtraction happens to
have its most significant bit in bit 63, we weren't handling this
correctly when attempting to normalize to put the most significant
bit into bit 126. We would end up doing a right shift by a negative
number (undefined behaviour in C) so at best we would return an
incorrect result to the guest. MSB in bit 63 has to be handled as a
special case separately from MSB in 0..62 and MSB in 63..126. (MSB
in 127 is not possible.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 3b8acc11d3f60792f9f716f2a93c258e729af980
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 18 16:37:50 2013 +0100
configure: fix TPM logic
A non-native i386 or x86_64 emulator should not have TPM passthrough
support, since the TPM is only present for those hosts.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e53339cf7cf90cf5c7a6bca64d0e7c0956f53a66
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 11:12:50 2013 +0300
acpi.h: make it self contained
Headers shouldn't assume another header is included,
pull in everything necessary.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0445259ba686f9ddf395f700c7d5b1ac400a451c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 15 09:19:22 2013 +0300
acpi: move declarations from pc.h to acpi.h
Functions defined in acpi/ should be declared in
acpi.h
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 174d5d990c7b08e75677402a71c834b000171c94
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Apr 14 22:52:50 2013 +0200
hw: Add lost ARM core again
Commit 0434e30afb6175212389811e0b28b948eb3c1e40 accidentally removed
the compilation of arm11mpcore.c.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 35b2028f47eef4e20752f94f7cff650d828bfaee
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Wed Apr 10 16:43:09 2013 +0800
Fix failure to create q35 machine
This is a regression introduced by c0907c9e6417c. How to reproduce:
$ qemu-system-x86_64 -nodefaults -vnc :0 -M q35
qemu-system-x86_64: Unknown device 'q35-pcihost' for default sysbus
Aborted (core dumped)
Tested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd123245b98fd6e13d829878f25b30a9417f4bfc
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Apr 10 10:29:47 2013 +0200
Add linux-headers to QEMU_INCLUDES
virtio/dataplane/vring.c requires the Linux headers and is built for all
targets. So we need to add the corresponding include to QEMU_INCLUDES to
avoid that outdated distribution headers are used.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bd2be1500337f0349f70802e4d8d43f5aca61477
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 9 15:26:55 2013 +0100
arm: fix location of some include files
The recent rearrangement of include files had some minor errors:
devices.h is not ARM specific and should not be in arm/
arm.h should be in arm/
Move these two headers to correct this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit db08dc213ba87d16c34c235f5c83f70f0239f023
Merge: c530b14... dc7588c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 08:02:41 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
rbd: add an asynchronous flush
iotests: Add 'check -ssh' option to test Secure Shell block device.
block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush
to disk.
block: Add support for Secure Shell (ssh) block device.
ide: refuse WIN_READ_NATIVE_MAX on empty device
qemu-iotests: filter QEMU_PROG in 051.out
qemu-iotests: Add test for -drive options
qemu-iotests: A few more bdrv_pread/pwrite tests
block: Introduce bdrv_pwritev() for qcow2_save_vmstate
savevm: Implement block_writev_buffer()
block: Introduce bdrv_writev_vmstate
Conflicts:
savevm.c
aliguori: add f->pos parameter to writev_buffer().
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c530b1423b86f1589c49bccb460a75cb87322562
Merge: b25ce10... c85a128...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 07:49:21 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Michal Novotny (2) and Eric Blake (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi: use valid JSON in schema
Revert "New QMP command query-cpu-max and HMP command cpu_max"
New cpu-max field in query-machines QMP command output
Message-id: 1365775103-18737-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b25ce104a2ea690d77b1803cc829fee3142b310d
Merge: e2ec3f9... 4d11724...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 15 07:46:39 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Paolo Bonzini
# Via Juan Quintela
* quintela/migration.next:
migration: simplify writev vs. non-writev logic
migration: drop is_write complications
migration: use a single I/O operation when writev_buffer is not defined
migration: set f->is_write and flush in add_to_iovec
Message-id: 1365512961-15623-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc7588c1eb3008bda53dde1d6b890cd299758155
Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Date: Fri Mar 29 13:03:23 2013 -0700
rbd: add an asynchronous flush
The existing bdrv_co_flush_to_disk implementation uses rbd_flush(),
which is sychronous and causes the main qemu thread to block until it
is complete. This results in unresponsiveness and extra latency for
the guest.
Fix this by using an asynchronous version of flush. This was added to
librbd with a special #define to indicate its presence, since it will
be backported to stable versions. Thus, there is no need to check the
version of librbd.
Implement this as bdrv_aio_flush, since it matches other aio functions
in the rbd block driver, and leave out bdrv_co_flush_to_disk when the
asynchronous version is available.
Reported-by: Oliver Francke <oliver@xxxxxxxx>
Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 342809e807ecb55551e579942f535966251cbe27
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:55 2013 +0100
iotests: Add 'check -ssh' option to test Secure Shell block device.
Note in order to run these tests on ssh, you must be running a local
ssh daemon, and that daemon must accept loopback connections, and
ssh-agent has to be set up to allow logins on the local daemon. In
other words, the following command should just work without demanding
any passphrase:
ssh localhost
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:54 2013 +0100
block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to
disk.
libssh2_sftp_fsync is an extension to libssh2 to support fsync(2) over
sftp, which is itself an extension of OpenSSH.
If both libssh2 and the ssh daemon support it, this will allow
bdrv_flush_to_disk to commit changes through to disk on the remote
server.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0a12ec87a513b31eb3b6e035d30649e483322270
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Tue Apr 9 15:30:53 2013 +0100
block: Add support for Secure Shell (ssh) block device.
qemu-system-x86_64 -drive file=ssh://hostname/some/image
QEMU will ssh into 'hostname' and open '/some/image' which is made
available as a standard block device.
You can specify a username (ssh://user@host/...) and/or a port number
(ssh://host:port/...). You can also use an alternate syntax using
properties (file.user, file.host, file.port, file.path).
Current limitations:
- Authentication must be done without passwords or passphrases, using
ssh-agent. Other authentication methods are not supported.
- Uses a single connection, instead of concurrent AIO with multiple
SSH connections.
This is implemented using libssh2 on the client side. The server just
requires a regular ssh daemon with sftp-server support. Most ssh
daemons on Unix/Linux systems will work out of the box.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aad64f3193cbdc3741d10afa0237b6833e46e94e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:51:01 2013 +0200
ide: refuse WIN_READ_NATIVE_MAX on empty device
What is the highest addressable sector on an empty CD-ROM? Nothing is
addressable so produce an error.
This patch prevents a divide-by-zero in ide_set_sector() since
s->sectors and s->heads would be 0. Not to mention that a sector=-1
argument would be nonsense.
Note that WIN_READ_NATIVE_MAX can be triggered using hdparm -N 1024
/dev/cdrom. The LBA bit will be set to 1 though, so the only easy way
to go down the ide_set_sector() CHS code path which divides by zero is
to comment out the s->select & 0x40 case for testing.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit c09b437b5fab487edd924e09d1732062d7dcf093
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Apr 15 10:15:17 2013 +0200
qemu-iotests: filter QEMU_PROG in 051.out
Filter the name of the QEMU executable so the output can be diffed no
matter what QEMU_PROG is (e.g. qemu-system-x86_64).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 47e5df2146e8b6cd1c093720461928e66f824222
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 9 15:56:13 2013 +0200
qemu-iotests: Add test for -drive options
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf07aecf955453de7570c66fa0e582c83f2aac4c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:56 2013 +0200
qemu-iotests: A few more bdrv_pread/pwrite tests
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8d3b1a2d0b34a95800c482e1414c63f469ac4973
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:55 2013 +0200
block: Introduce bdrv_pwritev() for qcow2_save_vmstate
Directly pass the QEMUIOVector on instead of linearising it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05fcc84888cfabec2267851415b66395a73a0f5f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:54 2013 +0200
savevm: Implement block_writev_buffer()
Instead of breaking up RAM state into many small chunks, pass the iovec
to the block layer for better performance.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf8074b3825f7229a20c60e679511592bde41340
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 21:27:53 2013 +0200
block: Introduce bdrv_writev_vmstate
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41cb62c2d9a5a2668165fdd6f195f54ad30e5396
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 16:52:25 2013 +0300
kvm: support non datamatch ioeventfd
Adding restrictions just adds code.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 44c3f8f7c77ff24edbd4e682c12a8f1f50a20ae9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 00:54:45 2013 +0300
kvm: support any size for pio eventfd
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 500ffd4a29bda2109ab07fadc0f767473dab6010
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Apr 2 00:05:21 2013 +0300
kvm: remove unused APIs
There are only used internally now, move them
out of header and out of stub.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e2ec3f976803b360c70d9ae2ba13852fa5d11665
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:21 2013 +0200
qjson: to_json() case QTYPE_QSTRING is buggy, rewrite
Known bugs in to_json():
* A start byte for a three-byte sequence followed by less than two
continuation bytes is split into one-byte sequences.
* Start bytes for sequences longer than three bytes get misinterpreted
as start bytes for three-byte sequences. Continuation bytes beyond
byte three become one-byte sequences.
This means all characters outside the BMP are decoded incorrectly.
* One-byte sequences with the MSB are put into the JSON string
verbatim when char is unsigned, producing invalid UTF-8. When char
is signed, they're replaced by "\\uFFFF" instead.
This includes \xFE, \xFF, and stray continuation bytes.
* Overlong sequences are happily accepted, unless screwed up by the
bugs above.
* Likewise, sequences encoding surrogate code points or noncharacters.
* Unlike other control characters, ASCII DEL is not escaped. Except
in overlong encodings.
My rewrite fixes them as follows:
* Malformed UTF-8 sequences are replaced.
Except the overlong encoding \xC0\x80 of U+0000 is still accepted.
Permits embedding NUL characters in C strings. This trick is known
as "Modified UTF-8".
* Sequences encoding code points beyond Unicode range are replaced.
* Sequences encoding code points beyond the BMP produce a surrogate
pair.
* Sequences encoding surrogate code points are replaced.
* Sequences encoding noncharacters are replaced.
* ASCII DEL is now always escaped.
The replacement character is U+FFFD.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d50c8e947180174acb02bad9ff95e0aee6249ea
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:20 2013 +0200
check-qjson: Test noncharacters other than U+FFFE, U+FFFF in strings
Test cases cover the two noncharacters in the BMP. Add tests for the
other 64 noncharacters.
Three existing test cases involve noncharacters U+FFFF and U+10FFFF.
Instead of deleting them as now duplicates, adjust them to use U+FFFC
and U+10FFFFD.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d6244e2ce48b353402eff271d382ee6fd47ce166
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:19 2013 +0200
check-qjson: Improve a few comments, delete bogus ones
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cb2744ea343d8cb96bab0389f6b7d6e1a3ddf6c1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Apr 11 18:07:18 2013 +0200
unicode: New mod_utf8_codepoint()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 75312e745ad1b672cbabdc3022f6e7c8eff69b00
Merge: d640045... 0727b86...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 14:31:54 2013 +0200
Merge branch 'mingw' of git://qemu.weilnetz.de/qemu
* 'mingw' of git://qemu.weilnetz.de/qemu:
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
Release SMP restriction on Windows
Ensure good ordering of memory instruction in cpu_exec
Check effective suspension of TCG thread
commit d640045a3ede028293b83e57e9ae1ce4f81044b8
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:31 2013 +0200
target-i386: add AES-NI instructions
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 5d6f5cdd8ae3a67a07012b4f3fcb5db7a6117766
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:31 2013 +0200
aes: make Td[0-5] and Te[0-5] tables non static
Remove static attribute to Td[0-5] and Te[0-5] tables so that they
can be used outside of aes.c. Change their type from u32 to uint32_t,
to keep the u32 udef local to aes.c. Prefix them with AES_ so that they
do not conflict with other symbols.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 753d9b82c5a18182294980f4fc1081d7926aae83
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
aes: move aes.h from include/block to include/qemu
Move aes.h from include/block to include/qemu to show it can be reused
by other subsystems.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 309b4de122c387e0f75624307fcd9896be7ec8fe
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
disas/i386.c: disassemble aes-ni instructions
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
target-i386: enable PCLMULQDQ on Westmere CPU
The PCLMULQDQ instruction has been introduced on the Westmere CPU.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e71827bc0ed50edb31bee6050bc96b3bd1e0c055
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
target-i386: add pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8dbd3fc37593c81a04a62cb4266ba9127de4498a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 31 12:58:30 2013 +0200
disas/i386.c: disassemble pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2f493fee18a62104caddfabaa2712b076528cede
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 9 16:51:24 2013 +0200
sh7750: Change cpu field type to SuperHCPU
This brings us a step closer to QOM'ified SH7750 SoC and
fixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass)
assuming SuperHCPU type for SUPERH_CPU_GET_CLASS().
Fix Coding Style issues while at it (indentation, braces).
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 06f3ed26983a04df74729d748a7b05400d8f3386
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Apr 9 16:51:23 2013 +0200
shix: Catch CPU initialization errors
Print an error message as done for the r2d machine and exit.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 396a14a3be17edbcdf33ad2c94d6e1069464f9e0
Merge: 0a9c234... c30d1ae...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:50:34 2013 +0200
Merge branch 'trivial-patches' of git://github.com/stefanha/qemu
* 'trivial-patches' of git://github.com/stefanha/qemu:
cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC)
Typo, spelling and grammatical fixes
linux-user: pass correct host flags to eventfd2 call
target-moxie: Fix VMState registration
commit 0a9c2341de2e735166084538d000ed80182ff404
Merge: 4b7b054... ee79c35...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:50:06 2013 +0200
Merge branch 'tci' of git://qemu.weilnetz.de/qemu
* 'tci' of git://qemu.weilnetz.de/qemu:
tci: Make tcg temporaries local to tcg_qemu_tb_exec
tci: Delete unused tb_ret_addr
tci: Avoid code before declarations
tci: Use a local variable for env
tci: Use 32-bit signed offsets to loads/stores
commit 4b7b05468289531dae80ec81d0f08021ed92f123
Merge: 93b48c2... b879f30...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Apr 13 13:49:20 2013 +0200
Merge branch 'tcg-s390' of git://github.com/rth7680/qemu
* 'tcg-s390' of git://github.com/rth7680/qemu:
tcg-s390: Fix merge error in tgen_brcond
tcg-s390: Use all 20 bits of the offset in tcg_out_mem
tcg-s390: Use load-address for addition
tcg-s390: Cleanup argument shuffling fixme in softmmu code
tcg-s390: Use risbgz for andi
tcg-s390: Remove constraint letters for and
tcg-s390: Implement deposit opcodes
tcg-s390: Implement movcond opcodes
tcg-s390: Implement mulu2_i64 opcode
tcg-s390: Implement add2/sub2 opcodes
tcg-s390: Remove useless preprocessor conditions
tcg-s390: Properly allocate a stack frame.
tcg-s390: Fix movi
commit 0727b867542eea7fedfd2c53568e9782627fd3bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Feb 20 14:43:31 2013 +0100
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
These are needed for any of the Win32 alarm timer implementations.
They are not tied to mmtimer exclusively.
Jacob tested this patch with both mmtimer and Win32 timers.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Jacob Kroon <jacob.kroon@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 1046127d1fcc69359b3f5a44de08e6c5b16c90bc
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:55 2013 +0200
Release SMP restriction on Windows
The previous patches make QEMU SMP safe on Windows, we can now release
the restriction.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ec9bd89fa48147e1d16e078217513c1235f9132a
Author: Olivier Hainque <hainque@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:54 2013 +0200
Ensure good ordering of memory instruction in cpu_exec
The IO thread, when it senses cpu_single_env == 0, expects exit_request
to be checked later on. A compiler scheduling constraint is not strong
enough to ensure this on modern architecture. A memory fence is needed
as well.
Signed-off-by: Olivier Hainque <hainque@xxxxxxxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ed9164a3549f93204d6b096136cda2ce54e9f03a
Author: Olivier Hainque <hainque@xxxxxxxxxxx>
Date: Tue Apr 9 18:06:53 2013 +0200
Check effective suspension of TCG thread
On multi-core systems, SuspendThread does not guaranty immediate thread
suspension. We add busy loop to wait for effective thread suspension
after call to ThreadSuspend().
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit c85a128480a3d05d2002728c449a32e32663e7de
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Wed Apr 10 13:12:44 2013 -0600
qapi: use valid JSON in schema
* qapi-schema.json: JSON doesn't allow trailing commas.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 315f9e1a8f596a37853bbed4647954029f9350db
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Tue Apr 9 16:23:39 2013 +0200
Revert "New QMP command query-cpu-max and HMP command cpu_max"
This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked by
Luiz. The patch has been obsoleted by extending MachineInfo structure
by cpu-max field.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c72e768836d78c9d844428b541f7d27d54e7653d
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Mon Apr 8 18:21:02 2013 +0200
New cpu-max field in query-machines QMP command output
Alter the query-machines QMP command to output information about
maximum number of CPUs for each machine type with default value
set to 1 in case the number of max_cpus is not set.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c30d1aea1478cd55e8cfdf866afa39cd00bb4ea1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 11 21:21:46 2013 +0100
cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC)
The CONFIG_DEBUG_EXEC define compiles out a single qemu_log_mask()
call, which is a pretty trivial cost even for something in the main
cpu_exec() loop. Having this be conditionally defined means that
'-d exec' on a non-debug build will silently do nothing. Drop the
define and the configure machinery that sets it, in favour of just
always allowing this log option to be enabled at runtime. As a
concession to the mainloopiness, we use qemu_loglevel_mask()+qemu_log()
rather than qemu_log_mask() to avoid the function call overhead.
Note that DEBUG_DISAS is always defined, so removing the
'|| defined(CONFIG_DEBUG_EXEC)' from those conditionals makes
no behavioural change for that logging.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e03ba136377ff0038276ba493473127338c68ebc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 9 12:48:19 2013 +0100
Typo, spelling and grammatical fixes
Minor fixes to documentation and code comments.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5947c697ce71898015ae1c6ac5d23d1ecc388552
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx>
Date: Mon Apr 8 20:26:10 2013 +0200
linux-user: pass correct host flags to eventfd2 call
This change makes conversion of TARGET_O_NONBLOCK and TARGET_O_CLOEXEC
flags
to host flags before calling eventfd for TARGET_NR_eventfd2.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 183543cdb68a0f2e1ff1c68d37338037dcc9d6c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 16:51:46 2013 +0100
target-moxie: Fix VMState registration
Register the CPU VMState in the correct way, via cpu_class_set_vmsd(),
rather than doing it in two different wrong ways (once by providing
cpu_save and cpu_load functions, and once by setting the vmsd field in
DeviceClass).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee79c356ffe18eea90ea4bbde2057cebe6bb654f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:55 2013 +0000
tci: Make tcg temporaries local to tcg_qemu_tb_exec
We're moving away from the temporaries stored in env. Make sure we can
differentiate between temp stores and possibly bogus stores for extra
call arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way
of the parameter passing registers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 4699ca6dbf335b0c38e291a530c6ad85e599253d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:54 2013 +0000
tci: Delete unused tb_ret_addr
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit dea8fde8b8cb1ab14e15308aadbf88eeccd4e873
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:53 2013 +0000
tci: Avoid code before declarations
This only valid with c99 extensions enabled, and easy to avoid.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7648746844a7775566ada1db1c117943aaf64b83
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:52 2013 +0000
tci: Use a local variable for env
Since we have total conversion away from global AREG0, we do not
need a global variable named "env". Retain that name as the
function parameter inside the interpreter.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 03fc0548b70393b0c8d43703591a9e34fb8e3123
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 28 05:37:51 2013 +0000
tci: Use 32-bit signed offsets to loads/stores
Since the change to tcg_exit_req, the first insn of every TB is
a load with a negative offset from env.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off by: Stefan Weil <sw@xxxxxxxxxxx>
commit 4d1172472cdf28a444321ca8b165ce7326eb919e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:57 2013 +0200
migration: simplify writev vs. non-writev logic
Check f->iovcnt in add_to_iovec, f->buf_index in qemu_put_buffer/byte.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d9658c4732a88efc42ab43bda69ae9f62559205b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:56 2013 +0200
migration: drop is_write complications
The same QEMUFile is never used for both read and write. Simplify
the logic to simply look for presence or absence of the right ops.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:55 2013 +0200
migration: use a single I/O operation when writev_buffer is not defined
The recent patches to use vectored I/O for RAM migration caused a
regression in savevm speed. To restore previous performance,
add data to the buffer in qemu_put_buffer_async whenever writev_buffer
is not available in the QEMUFile.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit af74db72d33e4776d7d1430b57d0bf065a6f03df
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 13:29:54 2013 +0200
migration: set f->is_write and flush in add_to_iovec
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 93b48c201eb6c0404d15550a0eaa3c0f7937e35e
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 9 10:22:35 2013 +0200
virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1365495755-10902-1-git-send-email-hdegoede@xxxxxxxxxx
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47b5264eb3e1cd2825e48d28fd0d1b239ed53974
Merge: 1f8010f... 47b43a1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 13:12:32 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
# By Paolo Bonzini
# Via Paolo Bonzini
* bonzini/hw-dirs: (35 commits)
hw: move private headers to hw/ subdirectories.
MAINTAINERS: update for source code movement
hw: move last file to hw/arm/
hw: move hw/kvm/ to hw/i386/kvm
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
hw: move other devices to hw/misc/, configure with default-configs/
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
hw: move interrupt controllers to hw/intc/, configure with
default-configs/
hw: move DMA controllers to hw/dma/, configure with default-configs/
hw: move VFIO and ivshmem to hw/misc/
hw: move PCI bridges to hw/pci-* or hw/ARCH
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
hw: move timer devices to hw/timer/, configure with default-configs/
hw: move ISA bridges and devices to hw/isa/, configure with
default-configs/
hw: move char devices to hw/char/, configure via default-configs/
hw: move more files to hw/xen/
hw: move SCSI controllers to hw/scsi/, configure via default-configs/
hw: move SSI controllers to hw/ssi/, configure via default-configs/
hw: move I2C controllers to hw/i2c/, configure via default-configs/
...
Message-id: 1365442249-18259-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1f8010f0790b53e5a75dbbd3e14868759ac00e6c
Merge: 7c2acc7... 389dd80...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 13:12:25 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman
# Via Stefan Hajnoczi
* stefanha/net:
vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped
vmxnet3: iPXE compatibility fixes
Message-id: 1365435829-23535-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47b43a1f414c5b3eb9eb7502d0b0be0d134259ba
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 18 17:36:02 2013 +0100
hw: move private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can be
kept in hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8d8b636d28a97af7bf43c3267d07f87b9530939a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:19:30 2013 +0100
MAINTAINERS: update for source code movement
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit aacf8895e13c3763ce6d30a4e673ebcc6326d9ff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 18:49:23 2013 +0100
hw: move last file to hw/arm/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 54976b75fb159ca175636b7fef1cd08130cb662f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move hw/kvm/ to hw/i386/kvm
Peter requested the KVM GIC to be in hw/intc.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0434e30afb6175212389811e0b28b948eb3c1e40
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e28bee8ee654b81f4688a505e56ade0692174b5c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 3 18:06:08 2013 +0200
hw: move other devices to hw/misc/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 914e29d28052dbe5a4f41b71eaf8c7bb19ac0929
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5193899a5a7de923c77cbc4e5019e5009294245e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:36:44 2013 +0100
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7702e47c21e9e7c9962a25de03caa999ea4cd2ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 16:12:12 2013 +0100
hw: move interrupt controllers to hw/intc/, configure with
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d2c0bd845847820e4abd99638aa2e9b90611a5bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:54:35 2013 +0100
hw: move DMA controllers to hw/dma/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ba25df88cc004dffad908b54a71ad8510551e6d2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:41:36 2013 +0100
hw: move VFIO and ivshmem to hw/misc/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c0907c9e6417cb959dfd9ef6873221536ec91351
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:06:20 2013 +0100
hw: move PCI bridges to hw/pci-* or hw/ARCH
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ac5c6510b609c123d6b394b2de16462ac7c395f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:54:35 2013 +0100
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3bd884511f8dc44a01e32878b2972443a16db70d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:38:25 2013 +0100
hw: move timer devices to hw/timer/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 47934d0aadc075b05ce2d9e8a44fa6a46edd1afa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:13:04 2013 +0100
hw: move ISA bridges and devices to hw/isa/, configure with
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9944d320016914912133b348b6fbbb18c7417035
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:35:34 2013 +0100
hw: move char devices to hw/char/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 80b4ecc86dd5ccd779f96c8bd11feb031d327614
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:25:08 2013 +0100
hw: move more files to hw/xen/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53a5500244a9d38505174bac56d81a8be2979f39
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:39:38 2013 +0100
hw: move SCSI controllers to hw/scsi/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 31e17060829f26292d4095c93e3408d740ce6f3d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:20:08 2013 +0100
hw: move SSI controllers to hw/ssi/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53ed424e09f555598f7af286787a76d9c397e812
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 13:07:03 2013 +0100
hw: move I2C controllers to hw/i2c/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:59:04 2013 +0100
hw: move display devices to hw/display/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 34b8f63ea1aa0941f11c6c032f8e1716269a0449
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:55:19 2013 +0100
hw: move audio devices to hw/audio/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7b2478956a1aece1c79ece8dec250ed91c09903b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:55:04 2013 +0100
hw: move block devices to hw/block/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d7e35d4a8495bfb3aa0dfd6319fcc499f43a175c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:33:56 2013 +0100
hw: move NICs to hw/net/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:30:44 2013 +0100
hw: move MC146818RTC to hw/timer/, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a100107d5612ba568c817f22c628b2c9eeb431bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:27:44 2013 +0100
hw: move watchdogs to hw/watchdog, configure via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ddf2bcfc63e7c73cc37f870599ee61f9204bde66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 14:46:43 2013 +0100
hw: make all of hw/pci/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit aaa4d1df2e18e7b3aa996836a6256eab13d4267a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:23:23 2013 +0100
hw: make all of hw/usb/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9a1179dc864ae71dec212c5da482451bcd4a4fcb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:22:39 2013 +0100
hw: make all of hw/ide/ configurable via default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6e7907468fd05b8a641a715ebb110fc1903a604e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:42:31 2013 +0100
hw: move virtio devices to hw/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 49ab747f668f421138d5b40d83fa279c4c5e278d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 1 13:59:19 2013 +0100
hw: move target-independent files to subdirectories
This patch tackles all files that are compiled once, moving
them to subdirectories of hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce3b494cb504f96992f2d37ebc8f56deed202b06
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 18:54:12 2013 +0100
moxie: configure with default-configs file
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1fd6bb44ed7ddd875e0d37d17685621f1ef27823
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 11:59:48 2013 +0100
hw: make subdirectories for devices
Prepare the new directory structure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0d09e41a51aa0752b1ce525ce084f7cd210e461b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 17:06:20 2013 +0100
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bb585a784e9ad69207315d694e7dad2c422f6baa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 3 17:53:21 2013 +0200
build: enable using $(CONFIG_FOO) on the rhs of config files
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7c2acc7062fe863cb71ff5849bb121deafe8df4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 12:11:27 2013 +0100
configure: Don't fall back to gthread coroutine backend
The gthread coroutine backend is broken and does not produce a working
QEMU; it is only useful for some very limited debugging situations.
Clean up the backend selection logic in configure so that it now runs
"if on windows use windows; else prefer ucontext; else sigaltstack".
To do this we refactor the configure code to separate out "test
whether we have a working ucontext", "pick a default if user didn't
specify" and "validate that user didn't specify something invalid",
rather than having all three of these run together. We also simplify
the Makefile logic so it just links in the backend the configure
script selects.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1365419487-19867-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76ad07a4938aac69cb12bfdf52c3bf612c85e4df
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 8 12:11:26 2013 +0100
configure: Provide and use convenience error reporting function
Provide a convenience function for reporting an error and exiting,
and update various places in the configure script to use it.
This allows us to be a little more consistent about how format
our error messages and makes the calling code shorter.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365419487-19867-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e885b25275fb6763eb947b1e53b2d6911b967a8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 8 15:03:15 2013 +0200
qemu-char: really fix behavior on can_read = 0
I misread the glib manual, g_source_remove does not let you re-attach
the source later. This behavior (called "blocking" the source in glib)
is present in glib's source code, but private and not available outside
glib; hence, we have to resort to re-creating the source every time.
In fact, g_source_remove and g_source_destroy are the same thing,
except g_source_destroy is O(1) while g_source_remove scans a potentially
very long list of GSources in the current main loop. Ugh. Better
use g_source_destroy explicitly, and leave "tags" to those dummies who
cannot track their pointers' lifetimes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365426195-12596-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9a7cfee1280cc70ba0db2eb528ea3e5a072c80e
Merge: 2a7a239... ce7f7cc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 10:37:06 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-4-2-13' into staging
# By Laszlo Ersek (2) and others
# Via Michael Roth
* mdroth/qga-pull-4-2-13:
qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows
qga schema: document generic QERR_UNSUPPORTED
qga schema: mark optional GuestLogicalProcessor.can-offline with
#optional
qga: add windows implementation for guest-set-time
qga: add windows implementation for guest-get-time
commit 2a7a239ff09aa87cc3682a976c7a57d9ea1321d7
Merge: 9196dd4... aa1c9e9...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 8 10:36:40 2013 -0500
Merge remote-tracking branch 'kraxel/usb.79' into staging
# By Gerd Hoffmann (7) and Hans de Goede (3)
# Via Gerd Hoffmann
* kraxel/usb.79:
usb-tablet: Don't claim wakeup capability for USB-2 version
usb: update docs for bus name change
usb-hub: report status changes only once
usb-hub: limit chain length
xhci: zap unused name field
xhci: remove unimplemented printfs
xhci: remove leftover debug printf
xhci: fix numintrs sanity checks
usb-redir: Add flow control support
usb-redir: Fix crash on migration with no client connected
commit 389dd80795c646c914ab3c4366c9409e309f0e4f
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Thu Mar 28 10:53:30 2013 +0200
vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped
Byte swap is redundant because shared memory reading functions
already swap bytes when required
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e948fd38556f872f40ac588ec9008c099010007
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Thu Mar 28 10:53:29 2013 +0200
vmxnet3: iPXE compatibility fixes
iPXE vmxnet3 driver makes a few assumptions regarding device operation
that were missed during testing with Linux and Windows drivers.
This patch adds following logic:
1. Additional GET commands processing added
2. Max number of RX chunks should be set to 1 when driver passes 0
via corresponding shared memory field
3. Enforecement for max chunks number added
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9196dd411d580c27f85daa209ff9a501d719ebc0
Merge: 893986f... 32aea75...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 6 12:53:54 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
hw/nand.c: Fix nand erase operation
cadence_uart: Flush queued characters on reset
pl330: Don't inhibit ES bits on INTEN
pflash_cfi01: Implement migration support
pflash_cfi01: Drop unused 'bypass' field
hw/arm_gic_common: Use vmstate struct rather than save/load functions
arm_gic: Fix sizes of state fields in preparation for vmstate support
vmstate: Add support for two dimensional arrays
hw/onenand.c: fix migration of dynamically allocated buffer "otp"
hw/sd.c: fix migration of dynamically allocated buffer "buf"
vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro
hw/arm_mptimer: Save the timer state
pl050: Don't send always-constant is_mouse field
hw/arm/nseries: don't print to stdout or stderr
commit b879f3084650410709051202e0e834b903b0858c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Apr 5 14:10:28 2013 -0400
tcg-s390: Fix merge error in tgen_brcond
When the TCG condition codes were re-organized last year,
we failed to update all of the "old-style" tests for unsigned.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 78c9f7c5b09408b4cac69a4fee97a118c8a89f6c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 14:37:42 2013 -0400
tcg-s390: Use all 20 bits of the offset in tcg_out_mem
This can save one insn, if the constant has any bits in 32-63 set,
but no bits in 21-31 set. It never results in more insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0db921e6d8660a2491c173a2821e30924018d4bb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 14:23:26 2013 -0400
tcg-s390: Use load-address for addition
Since we're always in 64-bit mode, load address performs a full
64-bit add. Use that for 3-address addition, as well as for
larger constant addends when we lack extended-immediates facility.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 65a62a753c90611d07497a586e0343fe8f7154cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 13:04:26 2013 -0400
tcg-s390: Cleanup argument shuffling fixme in softmmu code
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f0bffc27304ddaad255538da851d52ebb59e020d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 12:28:22 2013 -0400
tcg-s390: Use risbgz for andi
This is immediately usable by the tlb lookup code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 07ff798313a8263a9e50d3411631538cb263d129
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 11:47:54 2013 -0400
tcg-s390: Remove constraint letters for and
Since we have a free temporary and can always just load the constant, we
ought to do so, rather than spending the same effort constraining the
const.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5690ea43322b487071aa22e51f005a542b015d1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 27 09:30:58 2013 -0400
tcg-s390: Implement deposit opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 96a9f093f8d71bc672e68da100e6a449ada75638
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 17:28:52 2013 -0400
tcg-s390: Implement movcond opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 36017dc68aa8c345d10ad7ba7bc3dba580f3f035
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:50:29 2013 -0400
tcg-s390: Implement mulu2_i64 opcode
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3790b9180a070eab619438dc0fd83de33ec8cbbd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:41:45 2013 -0400
tcg-s390: Implement add2/sub2 opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a01fc30da4d4b6f16889429518eeefe382bc4d42
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 26 16:39:50 2013 -0400
tcg-s390: Remove useless preprocessor conditions
We only support 64-bit code generation for s390x.
Don't clutter the code with ifdefs that suggest otherwise.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a4924e8bb533fb537d82a463b6465d80adaea0f5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 25 20:54:30 2013 -0700
tcg-s390: Properly allocate a stack frame.
Set TCG_TARGET_CALL_STACK_OFFSET properly for the abi. Allocate the
standard TCG_STATIC_CALL_ARGS_SIZE. And while we're at it, allocate
space for CPU_TEMP_BUF_NLONGS.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a22971f99f4846a0947f35548b7f3f76159339f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 25 13:45:32 2013 -0700
tcg-s390: Fix movi
The code to load the high 64 bits assumed that the insn used to
load the low 64 bits zero-extended. Enforce that.
commit 893986fe94eb229f2317f50fac0e35e068eb66ba
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 08:46:00 2013 -0500
main-loop: drop the BQL if the I/O appears to be spinning
The char-flow refactoring introduced a busy-wait that depended on
an action from the VCPU thread. However, the VCPU thread could
never take that action because the busy-wait starved the VCPU thread
of the BQL because it never dropped the mutex while running select.
Paolo doesn't want to drop this optimization for fear that we will
stop detecting these busy waits. I'm afraid to keep this optimization
even with the busy-wait fixed because I think a similar problem can
occur just with heavy I/O thread load manifesting itself as VCPU pauses.
As a compromise, introduce an artificial timeout after a thousand
iterations but print a rate limited warning when this happens. This
let's us still detect when this condition occurs without it being
a fatal error.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1365169560-11012-1-git-send-email-aliguori@xxxxxxxxxx
commit d185c094b404b4ff392b77d1244c0233da7d53bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Apr 5 17:59:33 2013 +0200
qemu-char: eliminate busy waiting on can_read returning zero
The character backend refactoring introduced an undesirable busy wait.
The busy wait happens if can_read returns zero and there is data available
on the character device's file descriptor. Then, the I/O watch will
fire continuously and, with TCG, the CPU thread will never run.
1) Char backend asks front end if it can write
2) Front end says no
3) poll() finds the char backend's descriptor is available
4) Goto (1)
What we really want is this (note that step 3 avoids the busy wait):
1) Char backend asks front end if it can write
2) Front end says no
3) poll() goes on without char backend's descriptor
4) Goto (1) until qemu_chr_accept_input() called
5) Char backend asks front end if it can write
6) Front end says yes
7) poll() finds the char backend's descriptor is available
8) Backend handler called
After this patch, the IOWatchPoll source and the watch source are
separated. The IOWatchPoll is simply a hook that runs during the prepare
phase on each main loop iteration. The hook adds/removes the actual
source depending on the return value from can_read.
A simple reproducer is
qemu-system-i386 -serial mon:stdio
... followed by banging on the terminal as much as you can. :) Without
this patch, emulation will hang.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1365177573-11817-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91b53e4407ed8379d2d40f88a585e0b767681927
Merge: 54baa6f... f1922e3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:52:48 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Peter Crosthwaite (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
xilinx_zynq: Cleanup ssi_create_slave
petalogix_ml605_mmu: Cleanup ssi_create_slave()
target-s390: Fix SRNMT
linux-user: Don't omit comma for strace of rt_sigaction()
test-visitor-serialization: Fix some memory leaks
commit 54baa6f3c07a155939a6edda6d17706a6e9ab11c
Merge: 5098699... 9246ce8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:52:32 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-04-05' into staging
# By Alex Bligh (2) and Felipe Franciosi (2)
# Via Stefano Stabellini
* sstabellini/xen-2013-04-05:
Allow xen guests to plug disks of 1 TiB or more
Introduce 64 bit integer write interface to xenstore
Xen PV backend: Disable use of O_DIRECT by default as it results in
crashes.
Xen PV backend: Move call to bdrv_new from blk_init to blk_connect
commit 5098699a51756f7e8934dc035112c8f8aa2a0ec3
Merge: 150a470... c2b6ff5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 12:49:10 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (4) and Kevin Wolf (3)
# Via Kevin Wolf
* kwolf/for-anthony:
qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount
qcow2: Return real error in qcow2_update_snapshot_refcount
block: clean up I/O throttling wait_time code
block: drop duplicated slice extension code
block: keep I/O throttling slice time constant
block: fix I/O throttling accounting blind spot
usb-storage: Forward serial number to scsi-disk
commit c2b6ff51e4a3ad1f7ec5dbc94970e9778b31d718
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 12:57:10 2013 +0200
qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount
It ignored the error code, and at least the 'goto fail' is obvious
nonsense as it creates an endless loop (if the next attempt doesn't
magically succeed) and leaves the in-memory L1 table in big-endian
instead of converting it back.
In error cases, there's no point in writing an updated L1 table, so
skip this part for them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c2bc78b6a975ea2dcd7eee9f0dce22cc060cdcdc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 5 12:51:31 2013 +0200
qcow2: Return real error in qcow2_update_snapshot_refcount
This fixes the error message triggered by the following script:
cat > /tmp/blkdebug.cfg <<EOF
[inject-error]
event = "cluster_free"
errno = "28"
immediately = "off"
EOF
$qemu_img create -f qcow2 test.qcow2 10G
$qemu_img snapshot -c snap test.qcow2
$qemu_img snapshot -d snap blkdebug:/tmp/blkdebug.cfg:test.qcow2
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0775437fafc5c733564645a22f75490770bf41f7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:22 2013 +0200
block: clean up I/O throttling wait_time code
The wait_time variable is in seconds. Reflect this in a comment and use
NANOSECONDS_PER_SECOND instead of BLOCK_IO_SLICE_TIME * 10 (which
happens to have the right value).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e660fb8b3ccc94652774d5895d122c0f13aecb89
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:21 2013 +0200
block: drop duplicated slice extension code
The current slice is extended when an I/O request exceeds the limit.
There is no need to extend the slice every time we check a request.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ae29d6c64bd8d55873a2cb1df50ae4321b497447
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:20 2013 +0200
block: keep I/O throttling slice time constant
It is not necessary to adjust the slice time at runtime. We already
extend the current slice in order to carry over accounting into the next
slice. Changing the actual slice time value introduces oscillations.
The guest may experience large changes in throughput or IOPS from one
moment to the next when slice times are adjusted.
Reported-by: Benoît Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5905fbc9c94ccd744c1b249472eafcc2d827548a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Apr 5 11:32:19 2013 +0200
block: fix I/O throttling accounting blind spot
I/O throttling relies on bdrv_acct_done() which is called when a request
completes. This leaves a blind spot since we only charge for completed
requests, not submitted requests.
For example, if there is 1 operation remaining in this time slice the
guest could submit 3 operations and they will all be submitted
successfully since they don't actually get accounted for until they
complete.
Originally we probably thought this is okay since the requests will be
accounted when the time slice is extended. In practice it causes
fluctuations since the guest can exceed its I/O limit and it will be
punished for this later on.
Account for I/O upon submission so that I/O limits are enforced
properly.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 76534da749ceb3b4c13ec09b173bcf6d6c2e36d4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 3 12:41:46 2013 +0200
usb-storage: Forward serial number to scsi-disk
usb-storage takes care to fetch the USB serial number from -drive
options, but it neglected to pass its own 'serial' property to the
scsi-disk it creates. With this patch, the 'serial' qdev property and
the 'serial' option in -drive behave the same and correctly apply the
serial number on both USB and SCSI level.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 32aea752f47f30c00878dcc323ac4debf0c9e645
Author: Wendy Liang <wendy.liang@xxxxxxxxxx>
Date: Wed Apr 3 15:33:08 2013 +1000
hw/nand.c: Fix nand erase operation
Usually, nand erase operation has only 2 or 3 address cycles.
We need to mask s->addr to zero unset stale high-order bytes in the nand
address
before using it as the erase address.
This fixes the NAND erase operation in Linux.
[PC: Generalised to work for any number of address cycles rather than
just 3]
Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1364967188-26711-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1db8b5efe0c2b5000e50691eea61264a615f43de
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 3 14:52:21 2013 +1000
cadence_uart: Flush queued characters on reset
Reset can be used to empty the rx-fifo. As the fifo full condition is
used to return false from can_receive, queued rx data should be flushed
on reset accordingly.
Cc: Wendy Liang <jliang@xxxxxxxxxx>
Cc: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Message-id:
494c1e005e225c915d295ddfd75d992ad2dabc3c.1364964526.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fd7f8a99f3b08640a7fe2b2f3c3e6b68068b4983
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Apr 2 17:59:29 2013 +0000
pl330: Don't inhibit ES bits on INTEN
This if-else logic inhibits setting of the event status (ES) bits
when interrupts are enabled. This is incorrect. ES should be set
regardless on INTEN state. INTEN only inhibits the signalling of
events to PL330 threads, not setting of the ES register.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9246ce881128df2a69178779c1ef33c83df3c70d
Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx>
Date: Fri Apr 5 15:47:59 2013 +0000
Allow xen guests to plug disks of 1 TiB or more
The current xen backend driver implementation uses int64_t variables
to store the size of the corresponding backend disk/file. It also uses
an int64_t variable to store the block size of that image. When writing
the number of sectors (file_size/block_size) to xenstore, however, it
passes these values as 32 bit signed integers. This will cause an
overflow for any disk of 1 TiB or more.
This patch changes the xen backend driver to use a 64 bit integer write
xenstore function.
Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 10bb3c623478117aee5117c312736f10833decc2
Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx>
Date: Fri Apr 5 15:37:32 2013 +0000
Introduce 64 bit integer write interface to xenstore
The current implementation of xen_backend only provides 32 bit integer
functions to write to xenstore. This patch adds two functions that
allow writing 64 bit integers (one generic function and another for
the backend only).
This patch also fixes the size of the char arrays used to represent
these integers as strings (originally 32 bytes, however no more than
12 bytes are needed for 32 bit integers and no more than 21 bytes are
needed for 64 bit integers).
Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit c1a88ad1f4ac994cd70695bf08141d161e21533e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Fri Apr 5 15:45:15 2013 +0000
Xen PV backend: Disable use of O_DIRECT by default as it results in
crashes.
Due to what is almost certainly a kernel bug, writes with O_DIRECT may
continue to reference the page after the write has been marked as
completed, particularly in the case of TCP retransmit. In other
scenarios, this "merely" risks data corruption on the write, but with
Xen pages from domU are only transiently mapped into dom0's memory,
resulting in kernel panics when they are subsequently accessed.
This brings PV devices in line with emulated devices. Removing
O_DIRECT is safe as barrier operations are now correctly passed
through.
See:
http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
for more details.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 86f425db3b1c4b6c4a2927eaec35627f9ab2e703
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Fri Apr 5 15:45:10 2013 +0000
Xen PV backend: Move call to bdrv_new from blk_init to blk_connect
This commit delays the point at which bdrv_new (and hence blk_open
on the underlying device) is called from blk_init to blk_connect.
This ensures that in an inbound live migrate, the block device is
not opened until it has been closed at the other end. This is in
preparation for supporting devices with open/close consistency
without using O_DIRECT. This commit does NOT itself change O_DIRECT
semantics.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d8d24fb78cf21205bf672d85231712dc1f0bbb39
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
pflash_cfi01: Implement migration support
Add a vmstate to pflash_cfi01, so that it can be live migrated.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363717469-30980-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 5d79b80b335c5f65f148d1bb1672d9d534ace73b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
pflash_cfi01: Drop unused 'bypass' field
For pflash_cfi01 the 'bypass' field is set to zero and never changes,
so remove it (it is a leftover from pflash_cfi02, where bypass is
implemented).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363717469-30980-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 2e19a7035a8e721f32610c8d22223ab748c4232f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:18:00 2013 +0100
hw/arm_gic_common: Use vmstate struct rather than save/load functions
Update the GIC save/restore to use vmstate rather than hand-rolled
save/load functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1363975375-3166-4-git-send-email-peter.maydell@xxxxxxxxxx
commit c3037774be5329e584d4d709b9df7e1799bba215
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
arm_gic: Fix sizes of state fields in preparation for vmstate support
In preparation for switching to vmstate for migration support, fix
the sizes of various GIC state fields. In particular, we replace all
the bitfields (which VMState can't deal with) with straightforward
uint8_t values which we do bit operations on. (The bitfields made
more sense when NCPU was set differently in different situations,
but we now always model at the architectural limit of 8.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363975375-3166-3-git-send-email-peter.maydell@xxxxxxxxxx
commit bd7f92e59e7f40ddaeda40e55f7818c8121ecf1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
vmstate: Add support for two dimensional arrays
Add support for migrating two dimensional arrays, by defining
a set of new macros VMSTATE_*_2DARRAY paralleling the existing
VMSTATE_*_ARRAY macros. 2D arrays are handled the same for actual
state serialization; the only difference is that the type check
has to change for a 2D array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id: 1363975375-3166-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b79269b78d0182fa7f4e23b779010145d0b4eaea
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
hw/onenand.c: fix migration of dynamically allocated buffer "otp"
VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state,
not
for buffers allocated dynamically. Change to
VMSTATE_BUFFER_POINTER_UNSAFE macro,
which will do migration right.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1362923278-4080-4-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5f00679ee98b1643ff652bbf982dffe1b432596e
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:59 2013 +0100
hw/sd.c: fix migration of dynamically allocated buffer "buf"
VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state,
not
for buffers allocated dynamically. Change to
VMSTATE_BUFFER_POINTER_UNSAFE macro,
which will do migration right.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1362923278-4080-3-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8070568b9aa8d93b3729ab7e9ca0ef8a6351d2bd
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro
Macro could be used to migrate a dynamically allocated buffer of known
size.
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1362923278-4080-2-git-send-email-i.mitsyanko@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 28092a23e6e2cb8298c1381f4f046842ffd376eb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
hw/arm_mptimer: Save the timer state
Add a missing VMSTATE_TIMER() entry to the arm_mptimer vmstate
description; this omission meant that we would probably hang on reload
when the timer failed to fire.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363967348-3044-1-git-send-email-peter.maydell@xxxxxxxxxx
commit e8945b4f2a65fc2872cc31a5141e136fd27d0af8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
pl050: Don't send always-constant is_mouse field
The is_mouse field of the pl050 state structure is constant (it tracks
whether this is a 'pl050_keyboard' or 'pl050_mouse'), so there's
no need to include it in the VMState structure.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363628480-29306-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 591f73f642a5f3c822c3efaae8d83a174371a4f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 5 16:17:58 2013 +0100
hw/arm/nseries: don't print to stdout or stderr
Remove various bits of printing to stdout or stderr from the
nseries code, replacing it with a qemu log message where there's
an appropriate log category, and just dropping the output for
some of the more debug-like printing.
In particular, this will get rid of the 'mipid_reset' message
you currently get from 'make check'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363368565-24546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 150a470b64c548b7539ea47526f345f15ebac355
Merge: d05ef16... 4bf0bb8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Apr 5 08:55:14 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
chardev: drop the Memory chardev driver
hmp: human-monitor-command: stop using the Memory chardev driver
Monitor: Make output buffer dynamic
qstring: add qstring_get_length()
commit f1922e36e267eae0c9d70e8660830e081878bdfc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 4 11:04:12 2013 +1000
xilinx_zynq: Cleanup ssi_create_slave
With the recent m25p80 cleanup there is no need to use
ssi_create_slave_no_init() anymore. Just use ssi_create_slave().
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e641080fdc1e81290564e1e9ec4fe7637011fa82
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Apr 4 11:04:11 2013 +1000
petalogix_ml605_mmu: Cleanup ssi_create_slave()
With the recent m25p80 cleanup there is no need to use
ssi_create_slave_no_init() anymore. Just use ssi_create_slave().
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b90a86629dcc075be294524696e6199266f72ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Mar 30 10:03:25 2013 -0700
target-s390: Fix SRNMT
Fallthough into abort = oops.
Cc: qemu-trivial@xxxxxxxxxx
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Apr 2 15:29:29 2013 -0400
chardev: drop the Memory chardev driver
It's not used anymore since the last commit.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 48c043d0d1835c64b571c484a9f229fe6d220287
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Apr 2 15:07:33 2013 -0400
hmp: human-monitor-command: stop using the Memory chardev driver
The Memory chardev driver was added because, as the Monitor's output
buffer was static, we needed a way to accumulate the output of an
HMP commmand when ran by human-monitor-command.
However, the Monitor's output buffer is now dynamic, so it's possible
for the human-monitor-command to use it instead of the Memory chardev
driver.
This commit does that change, but there are two important
observations about it:
1. We need a way to signal to the Monitor that it shouldn't call
chardev functions when flushing its output. This is done
by adding a new flag to the Monitor object called skip_flush
(which is set to true by qmp_human_monitor_command())
2. The current code has buffered semantics: QMP clients will
only see a command's output if it flushes its output with
a new-line character. This commit changes this to unbuffered,
which means that QMP clients will see a command's output
whenever the command prints anything.
I don't think this will matter in practice though, as I believe
all HMP commands print the new-line character anyway.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e1f2641b5926d20f63d36f0de45206be774da8da
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Mar 25 13:52:26 2013 -0400
Monitor: Make output buffer dynamic
Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush()
to retry on qemu_chr_fe_write() errors. However, the Monitor's output
buffer can keep growing while the retry is not issued and this can
cause the buffer to overflow.
To reproduce this issue, just start qemu and type on the Monitor:
(qemu) ?
This will cause an assertion to trig.
To fix this problem this commit makes the Monitor buffer dynamic,
which means that it can grow as much as needed.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 54d49ac99227aff646ac940abfab3417f5cb1693
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Mar 25 13:46:37 2013 -0400
qstring: add qstring_get_length()
Long overdue.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit abe20840166e6f04d3ab60f8d53a2ff5907bd942
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 28 14:33:24 2013 +0000
linux-user: Don't omit comma for strace of rt_sigaction()
Pass the 'last' parameter of print_signal() through to
print_raw_param(); this fixes a problem where we weren't printing
the comma separator for strace of rt_sigaction() when the signal
was an unnamed (ie realtime) one:
6856 rt_sigaction(230xf6fff870,0xf6fff8fc) = 0
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2bd01ac1e238c76e201ba21f314cec46437d2c5a
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 28 11:18:40 2013 -0400
test-visitor-serialization: Fix some memory leaks
This patch fixes some of the memory leaks in test-visitor-serialization
but not all of them.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d05ef160453e98546a4197496dc8a3cb2defac53
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Thu Apr 4 20:37:53 2013 -0400
Allow clock_gettime() monotonic clock to be utilized on more OS's
Allow the clock_gettime() code using monotonic clock to be utilized on
more POSIX compliannt OS's. This started as a fix for OpenBSD which was
listed in one function as part of the previous hard coded list of OS's
for the functions to support but not in the other.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 20130405003748.GH884@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c5a98cf333997616147a161ef4e4cf71bb9bd00a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:22 2013 +0100
pc_acpi_init(): don't bail as soon as failing to find default DSDT
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-11-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3a4a4697aacdd58b77f8bca6f2c0ce307b213506
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:21 2013 +0100
Introduce IO_APIC_DEFAULT_ADDRESS for 0xfec00000
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-10-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dab8623430926a8c55a149c22b2b8e2edb786ae3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:20 2013 +0100
extract/unify the constant 0xfee00000 as APIC_DEFAULT_ADDRESS
A common dependency of the constant's current users:
- hw/apic_common.c
- hw/i386/kvmvapic.c
- target-i386/cpu.c
is "target-i386/cpu.h".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-9-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 23084327dc5c2f42e8a1c3e39ec565e344c7f52e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:19 2013 +0100
like acpi_table_install(), acpi_table_add() should propagate Errors
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-8-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e980f2bf0a39cb524259bb70084e0f75b92c8f39
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:18 2013 +0100
acpi_table_add(): extract and reimplement internals
The new function acpi_table_install() installs any blob the caller passes
in. In the next patches this function will be promoted from helper role to
extern.
Reimplementing the logic should make it easier to understand. It also
removes a buffer overflow when
has_header &&
cumulative_file_size < ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE
(In that case the g_realloc() call in the read() loop used to shrink the
"acpi_tables" array, causing an out-of-bounds read access when copying the
header out of "acpi_tables".)
The new code isn't more daring alignment-wise than its predecessor:
"acpi_table_header" is packed, and the uint32_t fields are at offsets 6,
26, and 34.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-7-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c764a9dfc0d480c21f325480aa2e69581841858
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:17 2013 +0100
acpi_table_add(): accept QemuOpts and parse it with OptsVisitor
As one consequence, strtok() -- which modifies its argument -- is replaced
with g_strsplit().
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-6-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ccbad5c7b61c46c1b69b8089b8965cd69c0a8de
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:16 2013 +0100
qapi schema: add AcpiTableOptions
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-5-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 445d9cae371960671c1d762330d0d498c352dd3c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:15 2013 +0100
acpi_table_add(): report fatal errors through an internal Error object
The upcoming changes will need a cleanup section at the end of the
function, plus OptsVisitor reports errors via Error. For now keep
channeling any Errors to stderr.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-4-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb88a4ea79193cdbfb9b27bf9deb36c88ec9b6dc
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:14 2013 +0100
change element type from "char" to "unsigned char" in ACPI table data
The data is binary, not textual.
Also, acpi_table_add() abuses the "char *f" pointer -- which normally
points to file names to load -- to poke into the table. Introduce "char
unsigned *table_start" for that purpose.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-3-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4d8b3c6302fe50e9192854d8affda883e078fd4d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Mar 21 00:23:13 2013 +0100
strip some whitespace
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1363821803-3380-2-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9936159ff601562a7bb16b5b9c7713e6cec9559
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:41 2013 +0100
ipoctal232: Convert to use chardev properties directly
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Message-id: 1364412581-3672-4-git-send-email-hdegoede@xxxxxxxxxx
Cc: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 456d60692310e7ac25cf822cc1e98192ad636ece
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:40 2013 +0100
qemu-char: Call fe_claim / fe_release when not using qdev chr properties
chardev-frontends need to explictly check, increase and decrement the
avail_connections "property" of the chardev when they are not using a
qdev-chardev-property for the chardev.
This fixes things like:
qemu-kvm -chardev stdio,id=foo -device isa-serial,chardev=foo \
-mon chardev=foo
Working, where they should fail. Most of the changes here are due to
old hardware emulation code which is using serial_hds directly rather then
a qdev-chardev-property.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364412581-3672-3-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44c473decd4de5559487430f876de53c607b1e9d
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 27 20:29:39 2013 +0100
qemu-char: Add qemu_chr_fe_claim / _release helper functions
Add qemu_chr_fe_claim / _release helper functions for properly dealing
with
avail_connections.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364412581-3672-2-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4dbb9ed3263e0f48282a2fc3d05099ba63e5b0e2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 3 14:04:09 2013 +1000
xilinx_axienet: pump events as appropriate
When the conditions blocking receiving are cleared, check for buffered rx
packets.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bd4a47330ed5b9661205dd4ac2023e452b856bf9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 11:28:25 2013 +0200
po: Update German translation
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a23da65924fffc6390f74e75afd33f5300091b4e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Apr 2 11:28:24 2013 +0200
po/Makefile: Fix dependency for %.mo
Otherwise make will refuse to build updated .po files.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ec3960148f95dd90e94511a6a64838bc3f474bcc
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Feb 22 22:57:52 2013 +0800
help: add docs for missing 'queues' option of tap
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1361545072-30426-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 560e63965232e37d1916a447125cf91c18a96930
Author: Bruce Rogers <brogers@xxxxxxxx>
Date: Tue Apr 2 12:41:40 2013 -0600
acpi: initialize s4_val used in s4 shutdown
While investigating why a 32 bit Windows 2003 guest wasn't able to
successfully perform a shutdown /h, it was discovered that commit
afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 inadvertently dropped the
initialization of the s4_val used to handle s4 shutdown.
Initialize the value as before.
Signed-off-by: Bruce Rogers <brogers@xxxxxxxx>
Message-id: 1364928100-487-1-git-send-email-brogers@xxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a509d632c877f7b5fa07368879b8ae5919a6d345
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Apr 2 17:48:12 2013 -0300
target-i386: Check for host features before filter_features_for_kvm()
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce",
as it has moved kvm_check_features_against_host() after the
filter_features_for_kvm() call. filter_features_for_kvm() removes all
features not supported by the host, so this effectively made
kvm_check_features_against_host() impossible to fail.
This patch changes the call so we check for host feature support before
filtering the feature bits.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Message-id: 1364935692-24004-1-git-send-email-ehabkost@xxxxxxxxxx
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8243b0464b247ff460178a15f1fe306ef9c70b49
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Apr 2 22:14:51 2013 +0200
tpm: Fix several compiler warnings (redefined data types)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1364933691-21197-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eabb21aac9665097676b97fa3e053ae2982eba1e
Merge: 162cbbd... 044d4e1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Apr 3 15:05:52 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-04-03' into staging
# By Hanweidong (1) and Stefano Stabellini (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-04-03:
xen-mapcache: pass the right size argument to test_bits
xen-mapcache: replace last_address_index with a last_entry pointer
commit 044d4e1aae539bd4214175bd9591b3de7986cf18
Author: Hanweidong <hanweidong@xxxxxxxxxx>
Date: Tue Apr 2 13:22:41 2013 +0000
xen-mapcache: pass the right size argument to test_bits
Compute the correct size for test_bits().
qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache()
with size is 0 if the requested address is in the RAM. Then
xen_map_cache() will pass the size 0 to test_bits() for checking if the
corresponding pfn was mapped in cache. But test_bits() will always
return 1 when size is 0 without any bit testing. Actually, for this
case, test_bits should check one bit. So this patch introduced a
__test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE,
then test_bits can work correctly with __test_bit_size
>> XC_PAGE_SHIFT as its size.
Signed-off-by: Zhenguo Wang <wangzhenguo@xxxxxxxxxx>
Signed-off-by: Weidong Han <hanweidong@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit e2deee3ea6136b6189e8cfd26379420b9a398d96
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Apr 2 13:23:40 2013 +0000
xen-mapcache: replace last_address_index with a last_entry pointer
Replace last_address_index and last_address_vaddr with a single pointer
to the last MapCacheEntry used.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit aa1c9e971e80d25b92908dce3dec7c38b49480ea
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 2 19:15:05 2013 +0200
usb-tablet: Don't claim wakeup capability for USB-2 version
Our ehci code does not implement wakeup support, so claiming support for
it with usb-tablet in USB-2 mode causes all tablet events to get lost.
http://bugzilla.redhat.com/show_bug.cgi?id=929068
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9618633a86cc74b33f178f05154d4edbc08c0fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Apr 2 12:15:24 2013 +0200
usb: update docs for bus name change
At some point the default usb bus name changed from 'usb.0' to
'usb-bus.0' (probably as part of the qom conversion). Update
the usb documentation accordingly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a309ee6e0a256f690760abfba44fceaa52a7c2f3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 12:40:11 2013 +0100
usb-hub: report status changes only once
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c24e4aac3bd7dd6591e26b77985e5d3915ecbe4b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 11:40:02 2013 +0100
usb-hub: limit chain length
USB supports up to 5 hubs chained.
Catch attempts to chain more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4b7b2afae773f00c785724261079ef211fd6021b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 21 10:55:53 2013 +0100
xhci: zap unused name field
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0ab966cfcc7000baa2e7ef6df7771e73a2eb8a88
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 12:49:42 2013 +0100
xhci: remove unimplemented printfs
Replace them with a tracepoint, so they don't spam stderr by default.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 61803996def82a05d8634dd9087f1712d04863fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 20 11:42:51 2013 +0100
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c94a7c6979cafa7a71f32b35e0ff71ed00c61a89
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 09:18:20 2013 +0100
xhci: fix numintrs sanity checks
Make sure numintrs is a power of two, msi requires this.
https://bugzilla.redhat.com/show_bug.cgi?id=918035
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c874ea97b9d0d079e9d65ef033b95afef0ed6532
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 19 14:54:38 2013 +0100
usb-redir: Add flow control support
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3713e1485e6eace7d48b9c790602cfd92c616e5f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Mar 15 11:52:37 2013 +0100
usb-redir: Fix crash on migration with no client connected
If no client is connected on the src side, then we won't receive a
parser during migrate, in this case usbredir_post_load() should be a nop,
rather then to try to derefefence the NULL dev->parser pointer.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d
Merge: 9d4563c... 9b938c7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 2 14:07:35 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Stefan Hajnoczi
# Via Luiz Capitulino
* luiz/queue/qmp:
chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
qemu-socket: set passed fd non-blocking in socket_connect()
net: ensure "socket" backend uses non-blocking fds
oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
commit 9d4563c415683e4d06c84a46e8d178a680fdcb7b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 2 17:57:56 2013 +0200
configure: remove unset variables
These variables have not been set for a long time. Do not
include them in config-host.mak.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364918276-11866-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b938c7262e403f5467110609cb20ef1ae6e9df2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:46 2013 +0100
chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
When we receive a file descriptor over a UNIX domain socket the
O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on
QEMU file descriptor users like migration, SPICE, VNC, block layer, and
others to set non-blocking only when necessary.
This change ensures we don't accidentally expose O_NONBLOCK in the QMP
API. QMP clients should not need to get the non-blocking state
"correct".
A recent real-world example was when libvirt passed a non-blocking TCP
socket for migration where we expected a blocking socket. The source
QEMU produced a corrupted migration stream since its code did not cope
with non-blocking sockets.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1a751ebfbb2d7a696b889d8208cb5ffc83c090b1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:45 2013 +0100
qemu-socket: set passed fd non-blocking in socket_connect()
socket_connect() sets non-blocking on TCP or UNIX domain sockets if a
callback function is passed. Do the same for file descriptor passing,
otherwise we could unexpectedly be using a blocking file descriptor.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fc13fa00eaff6797c67abc9b0f748b346f238986
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:44 2013 +0100
net: ensure "socket" backend uses non-blocking fds
There are several code paths in net_init_socket() depending on how the
socket is created: file descriptor passing, UDP multicast, TCP, or UDP.
Some of these support both listen and connect.
Not all code paths set the socket to non-blocking. This patch addresses
the file descriptor passing and UDP cases which were missing
socket_set_nonblock(fd) calls.
I considered moving socket_set_nonblock(fd) to a central location but it
turns out the code paths are different enough to require non-blocking at
different places.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f9e8cacc5557e4372401da74141f833fcacda038
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 27 10:10:43 2013 +0100
oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets.
Rename to qemu_set_nonblock() just like qemu_set_cloexec().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ce7f7cc2715145eadf1ac45a5dae63f535fc8bbf
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Mar 22 16:31:07 2013 -0400
qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows
Today we reset fd_counter if it wraps, but it's better to abort()
instead, as fd_counter should never reach INT64_MAX.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fixed typo: s/resonable/reasonable/
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9481ecd737b91d507baf347287c62efe6760784f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 15 19:07:51 2013 +0100
qga schema: document generic QERR_UNSUPPORTED
Part of the wording was shamelessly stolen from Michael Roth's email.
Suggested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c964c9e0985e71527bac47c8351008c3dc18c1b8
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 15 19:07:50 2013 +0100
qga schema: mark optional GuestLogicalProcessor.can-offline with #optional
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b8f954fea019801370954fe85c32df49edf6397d
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 15 17:29:05 2013 +0800
qga: add windows implementation for guest-set-time
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3f2a6087de291dc96a2c4975139da27649cf32ff
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 15 17:29:04 2013 +0800
qga: add windows implementation for guest-get-time
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit c707582b78d01d81fe4e470fd812334be145882d
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 26 10:24:06 2013 +0800
VMXNET3: initialize rx_ridx to eliminate compile warning
Gcc report "hw/vmxnet3.c:972: error: â??rx_ridxâ?? may be used
uninitialized in this function", so fix it.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Message-id: 1364264646-27542-1-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1ee58290d7cc2c6b1231fd701987c1753ad9ae3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Mar 27 11:36:14 2013 -0500
qdev: only send deleted event if device was realized
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364402174-16580-1-git-send-email-aliguori@xxxxxxxxxx
commit 8f0605cc9caacbcc647a6df9ae541ed2da4b9bb0
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 28 07:26:21 2013 -0400
QOM-ify the TPM support
QOM-ified the TPM support with much code borrowed from the rng
implementation.
All other TPM related code moves will be provided in a subsequent patch.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Message-id: 1364469981.24703.1.camel@d941e-10
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 684a096eafbe37ab6c9a1fdb5e0185f04098b166
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 29 11:39:50 2013 -0500
qemu-char: rewrite io_channel_send_all and drop the '_all' suffix
The current code is oddly written and have equally odd semantics.
Despite the '_all' suffix, upon EAGAIN the result will be a partial
write but instead of returning the partial write, we return EAGAIN.
Change the behavior to write as much as we can until we get an EAGAIN
returning a partial write if we do.
Reported-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364575190-731-1-git-send-email-aliguori@xxxxxxxxxx
commit d819cdccffe08f6e12b4c2dec8f4aa381f0cd687
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Mar 30 15:21:40 2013 +0100
ui/gtk: Set QEMU window icon
The QEMU icon which is already used for SDL
is now also loaded by GTK.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1364653300-26813-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77cfd14c9f5742136e7968aee5c305e50b8891ac
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:06 2013 +0200
po: add French translation
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-6-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9b6926e4e3cc102fb434fd16917a1044119eadd3
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:05 2013 +0200
po: update existing translation files
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-5-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1b33b354b43c8a3cc176bd4d7a021a1eac423ebc
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:04 2013 +0200
po/Makefile: correctly pass QEMU version
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-4-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f84756554e32d97db3aa949db1dd58c7eea62375
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:03 2013 +0200
po/Makefile: simplify
In the hope we get more translations, we should not have to modify
po/Makefile for each of them.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-3-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8da9ee847799b8d7de4679d4de17d66d4dedb56
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Mon Apr 1 19:12:02 2013 +0200
gtk: make more messages translatable
Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1364836326-8707-2-git-send-email-aurelien@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4690579e9bafa0a2a49d7b12dae905279a552cd6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Mar 20 18:16:34 2013 +0800
append the terminating '\0' to bootorder string
Problem was introduced in commit c8a6ae8b. The last terminating
'\0' was lost, use the right length 5 ("HALT\0").
Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1363774594-21001-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a130c6b2b1b9c45836a51e90c847baedcb3125d3
Merge: 5d45de9... 6dcfdba...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Apr 2 08:12:16 2013 -0500
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20130401.0'
into staging
vfio-pci pull request 20130401
# gpg: Signature made Mon 01 Apr 2013 02:40:45 PM CDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20130401.0:
vfio: cleanup includes
vfio: Add bootindex support
vfio-pci: Move devices to D0 on reset
vfio-pci: Add extra debugging
qemu vfio-pci: Graphics device quirks
qemu vfio-pci: Add support for VGA MMIO and I/O port access
vfio-pci: Add PCIe capability mangling based on bus type
vfio-pci: Generalize PCI config mangling
linux-headers: Update to v3.9-rc2
commit 5d45de9796539f95eb6b1201588362981f8cb2d4
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Mar 28 22:59:03 2013 +0100
microblaze: Add support for the sleep insn
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 6dcfdbad69aa510bc87b4a2585a597e028ca4eaa
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:40 2013 -0600
vfio: cleanup includes
Starting to get messy, put the back in alphabetical order.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c29029dd8829827ef8af3a6fb18f9df929ffc6b7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:24 2013 -0600
vfio: Add bootindex support
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit ba66181828a5e5b0bbc117c4e999ca559a87456e
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:35:08 2013 -0600
vfio-pci: Move devices to D0 on reset
Guests may leave devices in a low power state at reboot, but we expect
devices to be woken up for the next boot. Make this happen.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 82ca891283a08cddd659b534592fe00f2159bc74
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:34:56 2013 -0600
vfio-pci: Add extra debugging
Often when debugging it's useful to be able to disable bypass paths
so no interactions with the device are missed. Add some extra debug
options to do this. Also add device info on read/write BAR accesses,
which is useful when debugging more than one assigned device. A
couple DPRINTFs also had redundant "vfio:" prefixes.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7076eabcbf38d514ecd47c8190d3d162573ceacc
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:34:40 2013 -0600
qemu vfio-pci: Graphics device quirks
Graphics cards have a number of different backdoors. Some of these
are alternative ways to get PCI BAR addresses, some of them are
complete mirrors of PCI config space available through MMIO and
I/O port access. These quirks cover a number of ATI Radeon and
Nvidia devices. On the ATI/AMD side, this should enable HD5450
and HD7850 and hopefully a host of devices around those generations.
For Nvidia, my card selection is much more dated. A 8400gs works
well with both the Window shipped driver and the Nvidia downloaded
driver. A 7300le works as well, with the caveat that generating
the Window experience index with the Nvidia driver causes the card
to reset several times before generating a BSOD. An NVS 290 card
seems to run well with the shipped Windows driver, but generates
a BSOD with the Nvidia driver. All of the Nvidia devices work with
the Linux Nvidia proprietary driver and nouveau, the HD5450 works
with either radeon or fglrx, HD7850 works with vesa and fglrx (not
supported by radeon). Extremely limited 3D testing.
Device reset is also an issue with graphics. It's unfortunately
very common that the devices offer no means to reset the card or
doesn't seem effective. Nvidia devices are pretty good about being
able to get the device to a working state through the VGA BIOS init,
Radeon devices less so, and often require a host reboot. Work
remains to be done here.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit f15689c7e4422d5453ae45628df5b83a53e518ed
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 13:33:44 2013 -0600
qemu vfio-pci: Add support for VGA MMIO and I/O port access
Most VGA cards need some kind of quirk to fully operate since they
hide backdoors to get to other registers outside of PCI config space
within the registers, but this provides the base infrastructure. If
we could identity map PCI resources for assigned devices we would need
a lot fewer quirks.
To enable this, use a kernel side vfio-pci driver that incorporates
VGA support (v3.9), and use the -vga none option and add the x-vga=on
option for the vfio-pci device. The "x-" denotes this as an
experimental feature. You may also need to use a cached copy of the
VGA BIOS for your device, passing it to vfio-pci using the romfile=
option.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 96adc5c7c2178d02f0db2db368ba3e4aacef931a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
vfio-pci: Add PCIe capability mangling based on bus type
Windows seems to pay particular interest to the PCIe header type of
devices and will fail to load drivers if we attach Endpoint devices or
Legacy Endpoint devices to the Root Complex. We can use
pci_bus_is_express and pci_bus_is_root to determine the bus type and
mangle the type appropriately:
* Legacy PCI
* No change, capability is unmodified for compatibility.
* PCI Express
* Integrated Root Complex Endpoint -> Endpoint
* PCI Express Root Complex
* Endpoint -> Integrated Root Complex Endpoint
* Legacy Endpoint -> none, capability hidden
We also take this opportunity to explicitly limit supported devices
to Endpoints, Legacy Endpoints, and Root Complex Integrated Endpoints.
We don't currently have support for other types and users often cause
themselves problems by assigning them.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 4b5d5e87c7ab2e979a2cad6c8e01bcae55b85f1c
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
vfio-pci: Generalize PCI config mangling
Kernel-side vfio virtualizes all of config space, but some parts are
unique to Qemu. For instance we may or may not expose the ROM BAR,
Qemu manages MSI/MSIX, and Qemu manages the multi-function bit so that
single function devices can appear as multi-function and vica versa.
Generalize this into a bitmap of Qemu emulated bits.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 010ca0b3fb9bebd6ad53c1db0266dd7b39f700c7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Apr 1 11:50:04 2013 -0600
linux-headers: Update to v3.9-rc2
Unedited scripts/update-linux-headers.sh run against v3.9-rc2 tag
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 174d4d215fb49b4d43196e62f22c2533431b260e
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sun Mar 24 01:52:07 2013 +0100
tcg/mips: Implement muls2_i32
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c334a3880c02d1d8299ed54057e3fffd99ad2048
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: use clz32/ctz32 instead of reinventing the wheel
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 83f7dc28ca7cb422f88caf3923bf078abb4e4dea
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: enable SSE4.1 and SSE4.2 in TCG mode
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e4eba27e29114842978234a44c92b2a945a6b46d
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions with "Masked(-)" polarity
valids can equals to -1 if the reg/mem string is empty. Change the
expression to have an empty xor mask in that case.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 75c9527e190231fbc2fd8470e132f360e70206be
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:02 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal ordered" mode
The inner loop should only change the current bit of the result, instead
of the whole result.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b27a6cacb73ca006c6995ca5c3db7347333ba7f4
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal each" mode
pcmpXstrX instructions in "Equal each" mode force both invalid element
pair to true. It means (upper - MAX(valids, validd)) bits should be set
to 1, not (upper - MAX(valids, validd) + 1).
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 649ad05ed4133d3a48d43881aa9351c024d9cdc1
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrX instructions in "Ranges" mode
Fix the order of the of the comparisons to match the "Intel 64 and
IA-32 Architectures Software Developer's Manual".
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2b8d7e9d728fe2b7c8ffb9859368fb2b5c0bf833
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstrm instructions
pcmpXstrm instructions returns their result in the XMM0 register and
not in the first operand.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 93e3c0ae69ae73d7f04ac378c5df6e98c7faa6dd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpXstri instructions
ffs1 returns the first bit set to one starting counting from the most
significant bit.
pcmpXstri returns the most significant bit set to one, starting counting
from the least significant bit.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit da5156cd9a62274839d6fa685cc52614886cc722
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.2: fix pcmpgtq instruction
The "Intel 64 and IA-32 Architectures Software Developer's Manual" (at
least recent versions) clearly says that the comparison is signed.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 34c6addd4b22583e7b408c0d1452eab753cbfb62
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 26 19:56:01 2013 +0100
target-i386: SSE4.1: fix pinsrb instruction
gen_op_mov_TN_reg() loads the value in cpu_T[0], so this temporary should
be used instead of cpu_tmp0.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c7b4c36714a442ae5abd26de293cb5e967be6e12
Merge: e63d28d7... b0d62a3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Apr 1 10:36:09 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Dunrong Huang (1) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
hw/tcx: Remove unused 'addr' field and the property that sets it
hw/i386/pc: format load_linux function
configure: show debug-info option in --help output
commit e63d28d7dbfcec81214aecc9ff0aaee46e87aa44
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:23 2013 +0000
sysbus: Remove sysbus_add_memory and sysbus_del_memory
Remove the sysbus_add_memory and sysbus_del_memory functions. These
are trivial wrappers for mapping a memory region into the system
memory space, and have no users now. Sysbus devices should never map
their own memory regions anyway; the correct API for mapping an mmio
region is for the creator of the device to use sysbus_mmio_map.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363358063-23973-6-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c31bc98e3bcf52fe1cd4b9b7a70869330eae80ea
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 28 18:43:04 2013 +0000
hw/milkymist-softusb: set buffer in softusb_read_{dmem, pmem} error path
Make sure we set the buffer to something in the softusb_read_{dmem,pmem}
error paths, since the caller will use the buffer unconditionally.
(Newer gcc is smart enough to spot this and complain about 'may be
used uninitialized'.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1364496184-11994-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c34e120554c31d45bdfbac08a5c1d9ef92a62020
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:22 2013 +0000
milkymist-softusb: Don't map RAM memory regions in the device itself
Don't map the pmem and dmem RAM memory regions in the milkymist-softusb
device itself. Instead just expose them as sysbus mmio regions which
the device creator can map appropriately. This allows us to drop the
pmem_base and dmem_base properties. Instead of going via
cpu_physical_memory_read/_write when the device wants to access the
RAMs, we just keep a host pointer to the memory and use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1363358063-23973-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 20cf850c6ac5bf1ef13de1da93a5c8b5ea28b304
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:21 2013 +0000
milkymist-minimac2: Just expose buffers as a sysbus mmio region
Just expose the register buffers memory as a standard sysbus mmio
region which the creator of the device can map, rather than
providing a qdev property which the creator has to set to the
base address and then doing the mapping in the device's own
init function.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Message-id: 1363358063-23973-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a86f200aeb66a4f402b22241a5d8360f02bfc090
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:20 2013 +0000
musicpal: qdevify musicpal-misc
Make musicpal-misc into its own (trivial) qdev device, so we
can get rid of the abuse of sysbus_add_memory().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363358063-23973-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 14:34:19 2013 +0000
sysbus: make SysBusDeviceClass::init optional
Make the SysBusDeviceClass::init optional, for devices which
genuinely don't need to do anything here. In particular, simple
devices which can do all their initialization in their
instance_init method don't need either a DeviceClass::realize
or SysBusDeviceClass::init method.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363358063-23973-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5357406415571b3f03d05b60a143afdea2b9b1b9
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Sun Mar 31 09:35:53 2013 +0800
target-moxie: set do_interrupt to a target-specific helper function
The value of "do_interrupt" member of CPUClass shoule be set to a
target-specific function, or it will lead to a segfault like below:
$ moxie-softmmu/qemu-system-moxie -M moxiesim
Segmentation fault
Cc: Anthony Green <green@xxxxxxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-of-by: Anthony Green <green@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5e3a0f418c4d57399778cee0b55aebfb663b6425
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 29 18:20:20 2013 +0100
w32: Fix build with older gcc (unresolved symbol)
The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support
__sync_val_compare_and_swap by default.
Using -march=i686 fixes that and should also result in better code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e06335b9515f0508f33846e58b2028dfa4fc9983
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 24 09:04:48 2013 +0100
target-moxie: Fix pointer-to-integer conversion (MinGW-w64)
The type cast must use tcg_target_long instead of long.
This makes a difference for hosts where sizeof(long) != sizeof(void *).
Cc: Anthony Green <green@xxxxxxxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9721215126a8ef46abd2e762efd6aa5ff6b92b9
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:39 2013 +0000
piix_pci: Fix C99 comments
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-4-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d93a8a435cbd7f874ef71d4da5677c5f88d8435a
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:38 2013 +0000
piix_pci: Use DEVICE() and ISA_BUS()
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-3-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57a0f0c651a63d3e1e02d74e5c59d2648037b087
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Sat Feb 23 00:40:37 2013 +0000
piix_pci: Clean up i440FX object handling
Define and use I440FX_PCI_DEVICE() instead of using DO_UPCAST().
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361580039-4459-2-git-send-email-dwmw2@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 226ecabfbd410c7b2041385ea4b6f083a09ce8a2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 22 17:57:48 2013 +0100
qemu-bridge-helper: force usage of a very high MAC address for the bridge
Linux uses the lowest enslaved MAC address as the MAC address of
the bridge. Set MAC address to a high value so that it does not
affect the MAC address of the bridge.
Changing the MAC address of the bridge could cause a few seconds
of network downtime.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1363971468-21154-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2900af5969c8d54d48872cd707a4a0e71e6fa57e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:15 2013 +0100
virtio-balloon: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c96caced3ffd9e5a078f3f5b5d373a40faf7dc3a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:14 2013 +0100
virtio-balloon: cleanup: QOM casts.
As the virtio-balloon-pci is switched to the new API, we can use QOM
casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:13 2013 +0100
virtio-balloon: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30bff6a0f1d12742475a980708cfa82be56a881f
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:12 2013 +0100
virtio-balloon-ccw: switch to the new API.
Here the virtio-balloon-ccw is modified for the new API. The device
virtio-balloon-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-balloon during the init. The properties are not
modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e378e88dfc2dec2a60a856dd478a4edfbc88efd0
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:11 2013 +0100
virtio-balloon-pci: switch to the new API.
Here the virtio-balloon-pci is modified for the new API. The device
virtio-balloon-pci extends virtio-pci. It creates and connects a
virtio-balloon during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ab461b534b34838d1b21c056ab37413f54fefa6
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Wed Mar 27 10:49:10 2013 +0100
virtio-balloon: add the virtio-balloon device.
Create virtio-balloon which extends virtio-device, so it can be connected
on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1364377755-15508-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fde245ca7ea790495db370cd260259595dbdf874
Merge: 837df37... 5d186eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 28 12:57:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Peter Lieven (1)
# Via Stefan Hajnoczi
* stefanha/block: (23 commits)
block: Fix direct use of protocols as driver for bdrv_open()
qcow2: Gather clusters in a looping loop
qcow2: Move cluster gathering to a non-looping loop
qcow2: Allow requests with multiple l2metas
qcow2: Use byte granularity in qcow2_alloc_cluster_offset()
qcow2: Prepare handle_alloc/copied() for byte granularity
qcow2: handle_copied(): Implement non-zero host_offset
qcow2: handle_copied(): Get rid of keep_clusters parameter
qcow2: handle_copied(): Get rid of nb_clusters parameter
qcow2: Factor out handle_copied()
qcow2: Clean up handle_alloc()
qcow2: Finalise interface of handle_alloc()
qcow2: handle_alloc(): Get rid of keep_clusters parameter
qcow2: handle_alloc(): Get rid of nb_clusters parameter
qcow2: Factor out handle_alloc()
qcow2: Decouple cluster allocation from cluster reuse code
qcow2: Change handle_dependency to byte granularity
qcow2: Improve check for overlapping allocations
qcow2: Handle dependencies earlier
qcow2: Remove bogus unlock of s->lock
...
commit 837df37e881e14ffdb05c2b912b2ad30b851c9d3
Merge: e280ff5... 7e86600...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 28 12:57:32 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By LluÃs Vilanova (7) and others
# Via Stefan Hajnoczi
* stefanha/tracing:
vl: add runstate_set tracepoint
.gitignore: rename trace/generated-tracers.dtrace
.gitignore: add trace/generated-events.[ch]
trace: rebuild generated-events.o when configuration changes
trace: [stderr] Port to generic event information and new control
interface
trace: [simple] Port to generic event information and new control
interface
trace: [default] Port to generic event information and new control
interface
trace: [monitor] Use new event control interface
trace: Provide a detailed event control interface
trace: Provide a generic tracing event descriptor
trace: [tracetool] Explicitly identify public backends
commit 7e8660032cd21c1bdc4160b8fab7deec62e1aa12
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Mar 22 17:26:59 2013 +0900
vl: add runstate_set tracepoint
This patch enables us to know RunState transition. It will be userful
for investigation when the trouble occured in special event such like
live migration, shutdown, suspend, and so on.
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a46b24fd5dfd6814bafa65e51d8da86ce8eef7f5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 16:10:12 2013 +0100
.gitignore: rename trace/generated-tracers.dtrace
For a while the file was called trace/generated-tracers-dtrace.dtrace
but today it's called trace/generated-tracers.dtrace.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 878e63e6c568d4eb147d1adde297325f3aa28c51
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 16:10:11 2013 +0100
.gitignore: add trace/generated-events.[ch]
Don't display autogenerated files in git-status(1).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a7373b1f61d106ef5c9710eb56e942f513dc512d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 8 15:52:15 2013 +0100
trace: rebuild generated-events.o when configuration changes
Make sure to rebuild generated-events.o when ./configure options change.
This prevents linker errors when a stale generated-events.o gets linked
with code compiled against fresh headers. For example, try building
with ./configure --enable-trace-backend=stderr followed by ./configure
--enable-trace-backend=dtrace.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c6f18b9195b4251f32b6ac8e149b449354c1c93b
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:48:00 2013 +0100
trace: [stderr] Port to generic event information and new control
interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 60481e210d1f5f9e97d4d5db82b9afb8d3df7acf
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:55 2013 +0100
trace: [simple] Port to generic event information and new control
interface
The backend is forced to dump event numbers using 64 bits, as
TraceEventID is
an enum.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd068a953ccb54a00e7b1cf2d8961498c7d74bd4
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:49 2013 +0100
trace: [default] Port to generic event information and new control
interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ca285c3fca7c3d2b77b133e82f7a3592ccc7f5d3
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:43 2013 +0100
trace: [monitor] Use new event control interface
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b1bae816c4c0743e37ee9e797a503610c34e3073
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:38 2013 +0100
trace: Provide a detailed event control interface
This interface decouples event obtaining from interaction.
Events can be obtained through three different methods:
* identifier
* name
* simple wildcard pattern
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 45be2f5d0dcdd314cd0c70a11220e5e09a44d654
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:32 2013 +0100
trace: Provide a generic tracing event descriptor
Uses tracetool to generate a backend-independent tracing event description
(struct TraceEvent).
The values for such structure are generated with the non-public "events"
backend ("events-c" frontend).
The generation of the defines to check if an event is statically enabled
is also
moved to the "events" backend ("events-h" frontend).
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 93fba1618ddbbef8bedd8d684cf356586c94bbb1
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Mar 5 14:47:26 2013 +0100
trace: [tracetool] Explicitly identify public backends
Public backends are those printed by "--list-backends" and thus
considered valid
by the configure script.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d186eb03eb37b257e29a4731ca484362d5fc4e4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 27 17:28:18 2013 +0100
block: Fix direct use of protocols as driver for bdrv_open()
bdrv_open_common() implements direct use of protocols by copying the
pre-opened BlockDriverStates to bs using bdrv_swap(). It did however
first set some fields in bs, which end up in file after the swap. When
bdrv_open() destroys file, it appears to be open, and because it isn't,
qemu could segfault while trying to close it.
Reorder the operations to return immediately in such cases so that file
is correctly detected as closed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ecdd5333ab9ed3f2b848066aaaef02c027b25e36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 27 11:43:49 2013 +0100
qcow2: Gather clusters in a looping loop
Instead of just checking once in exactly this order if there are
dependendies, non-COW clusters and new allocation, this starts looping
around these. This way we can, for example, gather non-COW clusters after
new allocations as long as the host cluster offsets stay contiguous.
Once handle_dependencies() is extended so that COW areas of in-flight
allocations can be overwritten, this allows to continue with gathering
other clusters (we wouldn't be able to do that without this change
because we would have missed a possible second dependency in one of the
next clusters).
This means that in the typical sequential write case, we can combine the
COW overwrite of one cluster with the allocation of the next cluster as
soon as something like Delayed COW gets actually implemented. It is only
by avoiding splitting requests this way that Delayed COW actually starts
improving performance noticably.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c3b32d25620c26e26fd590c198ec6d9cf91da57
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:12 2013 +0100
qcow2: Move cluster gathering to a non-looping loop
This patch is mainly to separate the indentation change from the
semantic changes. All that really changes here is that everything moves
into a while loop, all 'goto done' become 'break' and at the end of the
loop a new 'break is inserted.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88c6588c5165da1526f735ed850861c5b74670bd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:11 2013 +0100
qcow2: Allow requests with multiple l2metas
Instead of expecting a single l2meta, have a list of them. This allows
to still have a single I/O request for the guest data, even though
multiple l2meta may be needed in order to describe both a COW overwrite
and a new cluster allocation (typical sequential write case).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 710c2496d8cecc92568d439a3cf9d5874b3a55e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:10 2013 +0100
qcow2: Use byte granularity in qcow2_alloc_cluster_offset()
This gets rid of the nb_clusters and keep_clusters and the associated
complicated calculations. Just advance the number of bytes that have
been processed and everything is fine.
This patch advances the variables even after the last operation even
though they aren't used any more afterwards to make things look more
uniform. A later patch will turn the whole thing into a loop and then
it actually starts making sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 411d62b04b4cd2d3a6cea310689dbafa2479bc28
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:09 2013 +0100
qcow2: Prepare handle_alloc/copied() for byte granularity
This makes handle_alloc() and handle_copied() return byte-granularity
host offsets instead of returning always the cluster start. This is
required so that qcow2_alloc_cluster_offset() can stop aligning
everything to cluster boundaries.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e62daaf67958e8274547ddac87cb0a177a869216
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:08 2013 +0100
qcow2: handle_copied(): Implement non-zero host_offset
Look only for clusters that start at a given physical offset.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c53ede9f6d8f0de7939eea676c1398c4073ff35e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:07 2013 +0100
qcow2: handle_copied(): Get rid of keep_clusters parameter
Now *bytes is used to return the length of the area that can be written
to without performing an allocation or COW.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit acb0467f8df7e9dbc8bbcb9a2e1e8cfe17f79691
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:06 2013 +0100
qcow2: handle_copied(): Get rid of nb_clusters parameter
handle_copied() uses its bytes parameter now to determine how many
clusters it should try to find.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0af729ec007ea4d103a2e3f3fc5db522610a2290
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:05 2013 +0100
qcow2: Factor out handle_copied()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 83baa9a4719b42bc28d525fa28af643523cc2bf3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:04 2013 +0100
qcow2: Clean up handle_alloc()
Things can be simplified a bit now. No semantic changes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c37f4cd71d99b7658d238bd8399048fc6e506958
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:03 2013 +0100
qcow2: Finalise interface of handle_alloc()
The interface works completely on a byte granularity now and duplicated
parameters are removed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3b8e2e260c8cee63c9253718983a6682dc2771d7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:02 2013 +0100
qcow2: handle_alloc(): Get rid of keep_clusters parameter
handle_alloc() is now called with the offset at which the actual new
allocation starts instead of the offset at which the whole write request
starts, part of which may already be processed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f5bc63509471299176066d5f63bb8ff2e15af279
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:01 2013 +0100
qcow2: handle_alloc(): Get rid of nb_clusters parameter
We already communicate the same information in *bytes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 10f0ed8b2f0d3e9f0476b6f00868dd13b524066a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:50:00 2013 +0100
qcow2: Factor out handle_alloc()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 037689d8969c493d39153fd920ad81e161b0d55c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:59 2013 +0100
qcow2: Decouple cluster allocation from cluster reuse code
This moves some code that prepares the allocation of new clusters to
where the actual allocation happens. This is the minimum required to be
able to move it to a separate function in the next patch.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 65eb2e35c07632eb5d26f15a57461e321bacb883
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:58 2013 +0100
qcow2: Change handle_dependency to byte granularity
This is a more precise description of what really constitutes a
dependency. The behaviour doesn't change at this point because the COW
area of the old request is still aligned to cluster boundaries and
therefore an overlap is detected wheneven the requests touch any part of
the same cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d9d74f4177af59bec23baa480d640709f56df0aa
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:57 2013 +0100
qcow2: Improve check for overlapping allocations
The old code detected an overlapping allocation even when the
allocations didn't actually overlap, but were only adjacent.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 17a71e58238138c3f02be7e9f5dc8de5d72a9a9d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:56 2013 +0100
qcow2: Handle dependencies earlier
Handling overlapping allocations isn't just a detail of cluster
allocation. It is rather one of three ways to get the host cluster
offset for a write request:
1. If a request overlaps an in-flight allocations, the cluster offset
can be taken from there (this is what handle_dependencies will evolve
into) or the request must just wait until the allocation has
completed. Accessing the L2 is not valid in this case, it has
outdated information.
2. Outside overlapping areas, check the clusters that can be written to
as they are, with no COW involved.
3. If a COW is required, allocate new clusters
Changing the code to reflect this doesn't change the behaviour because
overlaps cannot exist for clusters that are kept in step 2. It does
however make it easier for later patches to work on clusters that belong
to an allocation that is still in flight.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ee6439e27d15c528fde6d9da1e4c238a23b6b7a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:55 2013 +0100
qcow2: Remove bogus unlock of s->lock
The unlock wakes up the next coroutine, but the currently running
coroutine will lock it again before it yields, so this doesn't make a
lot of sense.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c349ca4bb2dbca53c15147d283ea9f6c94376c6c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:54 2013 +0100
qcow2: Fix "total clusters" number in bdrv_check
This should be based on the virtual disk size, not on the size of the
image.
Interesting observation: With some VM state stored in the image file,
percentages higher than 100% are possible, even though snapshots
themselves are ignored. This is a qcow2 bug to be fixed another day: The
VM state should be discarded in the active L2 tables after completing
the snapshot creation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f74928192e8e8a16f64b6208171eb13af890bbc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 26 17:49:53 2013 +0100
qemu-iotests: More concurrent allocation scenarios
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 142c6b1a89c3af769fbab6a22f51eefa7a3b0330
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Mar 21 13:07:10 2013 +0100
vl.c: call bdrv_init_with_whitelist() before cmdline parsing
commit 4d454574 "qemu-option: move standard option definitions
out of qemu-config.c" broke support for commandline option
groups that where registered during bdrv_init(). In particular
support for -iscsi options was broken since that commit.
Fix by moving the bdrv_init_with_whitelist() before command
line argument parsing.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b0d62a3d8e1ea9eccd246829a03e2d23f0982431
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 26 12:35:09 2013 +0000
hw/tcx: Remove unused 'addr' field and the property that sets it
Remove the 'addr' field from TCXState (since it is completely unused),
also the qdev property which sets it. This seems to be a relic from
many years past; devices don't need to know where they are mapped.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0f9d76e5a9a396a2209761265ba6d98ce89b6a32
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Mar 26 16:43:19 2013 +0800
hw/i386/pc: format load_linux function
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9941afdef4fc898ed1588468095d1e36574427a1
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Sun Mar 24 15:05:27 2013 +0800
configure: show debug-info option in --help output
"--enable-debug-info" and "--disable-debug-info" were not shown
in --help output.
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e280ff5e9159ed227a117339c1157143627cab96
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:03 2013 +0100
spice-qemu-char: Drop hackish vmc_register on spice_chr_write
Now that the core takes care of fe_open tracking we no longer need this
hack.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-12-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc6b815d9e34778aa7fbe785ecfa0b216c96f576
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Tue Mar 26 11:08:02 2013 +0100
virtio-serial: propagate guest_connected to the port on post_load
When migrating a host with with a spice agent running the mouse becomes
non operational after the migration due to the agent state being
inconsistent between the guest and the client.
After migration the spicevmc backend on the destination has never been
notified
of the (non 0) guest_connected state. Virtio-serial holds this state
information and migrates it, this patch properly propagates this
information
to virtio-console and through that to interested chardev backends.
rhbz #725965
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-11-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b2c1394af13b46a72cd27ff580cdd1d9bb1e8934
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:01 2013 +0100
virtio-serial: Consolidate guest_open/guest_close into set_guest_connected
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-10-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a59bcd31c91397f8c67b6902e7716d626c5070e6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:08:00 2013 +0100
qemu-char: add_handlers: Don't re-send the be_open event on unregister
Resending the be_open event only is useful when a frontend is
registering, not
when it is unregistering.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-9-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 85d91e3295f3af21e4d4a19f1f6691c0bf2ed10c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:59 2013 +0100
qemu-char: Move incrementing of avail_connections to
qdev-properties-system
The decrement of avail_connections is done in qdev-properties-system move
the increment there too for proper balancing of the calls.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-8-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 574b711a92db094a2d4e7ca707f3b34437a64246
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:58 2013 +0100
qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-7-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e25daa87ac98c9070365b42dcfc070e47fca934
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:57 2013 +0100
qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-6-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 190832289fe670f764fb277e4dcaf00f94ca6553
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:56 2013 +0100
qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers
Most frontends can't really determine if the guest actually has the
frontend
side open. So lets automatically generate fe_open / fe_close as soon as a
frontend becomes ready (as signalled by calling qemu_chr_add_handlers) /
becomes non ready (as signalled by setting all handlers to NULL).
And allow frontends which can actually determine if the guest is
listening to
opt-out of this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-5-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c0c4bd2cfae0fb83696000f1bfc355f22e2b41cb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:55 2013 +0100
qemu-char: Add fe_open tracking
Add tracking of the fe_open state to struct CharDriverState.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-4-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fee204fd46016c168ca4d404d04e2c06b8b34770
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:54 2013 +0100
qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open
To better reflect that it is for handling a backend being opened.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-3-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16665b943b23e953220df257e7e04e669aa384d5
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Mar 26 11:07:53 2013 +0100
qemu-char: Rename opened to be_open
Rename the opened variable to be_open to reflect that it contains the
opened state of the backend.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Message-id: 1364292483-16564-2-git-send-email-hdegoede@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 99835e00849369bab726a4dc4ceed1f6f9ed967c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 27 14:34:32 2013 +0100
compiler: fix warning with GCC 4.8.0
GCC 4.8.0 introduces a new warning:
block/qcow2-snapshot.c: In function 'qcow2_write_snapshotsâ??:
block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253'
locally defined but not used [-Werror=unused-local-typedefs]
QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) !=
^
cc1: all warnings being treated as errors
(Caret diagnostics aren't perfect yet with macros... :)) Work around it
with __attribute__((unused)).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364391272-1128-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 404e7a4f4af753bd2aef649adf79e7434fb6dc31
Merge: 18501ae... 6214e73...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 16:16:43 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,pci,qom
Work by Alex to support VGA assignment,
pci and virtio fixes by Stefan, Jason and myself, and a
new qmp event for hotplug support by myself.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Alex Williamson (13) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (23 commits)
pcie: Add endpoint capability initialization wrapper
roms: switch oldnoconfig to olddefconfig
pcie: Mangle types to match topology
pci: Create and use API to determine root buses
pci: Create pci_bus_is_express helper
pci: Q35, Root Ports, and Switches create PCI Express buses
pci: Allow PCI bus creation interfaces to specify the type of bus
pci: Move PCI and PCIE type defines
pci: Create and register a new PCI Express TypeInfo
exec: assert that RAMBlock size is non-zero
pci: refuse empty ROM files
pci_bridge: Remove duplicate IRQ swizzle function
pci_bridge: Use a default map_irq function
pci: Fix INTx routing notifier recursion
pci_bridge: drop formatting from source
pci_bridge: factor out common code
pci: Teach PCI Bridges about VGA routing
pci: Add PCI VGA helpers
virtio-pci: guest notifier mask without non-irqfd
virtio-net: remove layout assumptions for mq ctrl
...
commit 6214e73cc5b75a4f8d89a70d71727edfa47a81b3
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Mar 19 12:11:24 2013 -0600
pcie: Add endpoint capability initialization wrapper
Fix the awkward API of mangling the caller specified PCIe type and
just provide an interface to initialize an endpoint device. This
will pick either a regular endpoint or integrated endpoint based on
the bus and return pcie_cap_init to doing exactly what is asked.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Mar 21 14:04:21 2013 +0200
roms: switch oldnoconfig to olddefconfig
When a new option is added that qemu does not know
about, the prudent thing is to use the default not
force it to "no".
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit eb28cb1bb0cb156aef7e613395af403bba0e7f30
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:35 2013 -0600
pcie: Mangle types to match topology
Windows will fail to start drivers for devices with an Endpoint type
PCIe capability attached to a Root Complex (code 10 - Device cannot
start). The proper type for such a device is Root Complex Integrated
Endpoint. Devices don't care which they are, so do this conversion
automatically.
This allows the Windows driver to load for nec-usb-xhci when attached
to pcie.0 of a q35 machine.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0889464a5050c25611d08ca33d8447796c88c7f7
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:29 2013 -0600
pci: Create and use API to determine root buses
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8c0bf9e24242c89c1abbd708c714dd2a89febbd2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:23 2013 -0600
pci: Create pci_bus_is_express helper
For testing the bus type.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit afb661eb902f4ad1456d57b31cdd02f0b4aac33f
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:17 2013 -0600
pci: Q35, Root Ports, and Switches create PCI Express buses
Convert q35, ioh3420, xio3130_upstream, and xio3130_downstream to
use the new TYPE_PCIE_BUS.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 60a0e44320cc2601236450fbe95d952830192a1d
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:11 2013 -0600
pci: Allow PCI bus creation interfaces to specify the type of bus
No change to any types.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cf09458d644934976aa64e88bb41ef9a4cc2766a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:01:05 2013 -0600
pci: Move PCI and PCIE type defines
Move these so that we can reference them from a more common header
instead of including pci_bus.h everywhere.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3a861c466cee46fed042d76100fa0fd9644f3091
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 14 16:00:59 2013 -0600
pci: Create and register a new PCI Express TypeInfo
This will allow us to differentiate Express and Legacy buses.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 49cd9ac6a1929467e2df5783a5183fc7708ec3ff
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 11 10:20:21 2013 +0100
exec: assert that RAMBlock size is non-zero
find_ram_offset() does not handle size=0 gracefully. It hands out the
same RAMBlock offset multiple times, leading to obscure failures later
on.
Add an assert to warn early if something is incorrectly allocating a
zero size RAMBlock.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8c7f3dd05e4f1ee90000c89e428e69ae2e6bd691
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 11 10:20:20 2013 +0100
pci: refuse empty ROM files
A zero size ROM file is invalid and should produce a warning.
Attempting to use a zero size file ends up hitting an assertion
qemu_ram_set_idstr() because RAMBlocks with duplicate addresses are
allocated - due to zero size the allocator doesn't increment the next
available RAMBlock offset.
Also convert __FUNCTION__ to __func__ while we're touching this code.
There are no other __FUNCTION__ instances in pci.c anymore.
Reported-by: Milos Ivanovic <milosivanovic@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ea7cfed68bb4f26fc65b078ab735a4097e9b4fe2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 16:17:00 2013 -0700
pci_bridge: Remove duplicate IRQ swizzle function
pci_bridge_dev_map_irq_fn() is identical to pci_swizzle_map_irq_fn(),
which is now the default for all PCI bridges. We can therefore remove
this function and the pci_bridge_map_irq() call that used it.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 659fefeed36a4b58191595cebab2dbc003788d90
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 16:16:54 2013 -0700
pci_bridge: Use a default map_irq function
The PCI bridge spec defines a default swizzle for translating INTx
IRQs from secondary bus to primary. Use this by default for any
bridge that doesn't set a function.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e5368f0da75c1c668e85398aa930be2f4273e684
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Mar 7 11:29:19 2013 -0700
pci: Fix INTx routing notifier recursion
For some reason we recurse to fire the INTx routing notifier for each
child of a bus, for each possible device of a bus. That means that if
we add a root port, the notifier gets called for that bridge 256
times. If we add an upstream switch behind that root port, 256^2. But
of course we need a downstream switch, 256^3. This starts to be
noticeable. Stop the insanity.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 600d05b9aa4b4d23775fc17968dd6b581928001d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 4 11:31:21 2013 +0200
pci_bridge: drop formatting from source
We use the same formatting for all files, it
doesn't make sense to have formatting directives only
in pci bridge header.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 45eb768c706d3a5fbe55224c589e8b4e252781d9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 4 11:23:49 2013 +0200
pci_bridge: factor out common code
Reuse common code in pcie_port, override the hardwired-to-0
bits per PCI Express spec.
No functional change but makes the code easier to follow.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ba7d8515c1e929baccea9f53d06d131fd2b007a1
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Mar 3 10:21:32 2013 -0700
pci: Teach PCI Bridges about VGA routing
Each PCI Bridge has a set of implied VGA regions that are enabled when
the VGA bit is set in the bridge control register. This allows VGA
devices behind bridges. Unfortunately with VGA Enable, which we
formerly allowed but didn't back, comes along some required VGA
baggage. VGA Palette Snooping is required, along with VGA 16-bit
decoding. We don't yet have support for palette snooping.
We also don't have support for 10-bit VGA aliases, the default mode, but
we enable the register, even on root ports, to avoid confusing guests.
Fortunately there's likely nothing from this century that requires these
features, so the missing bits are noted with TODOs.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e01fd687185444944b0b5b0f8c739ae4b33eb029
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Mar 3 10:21:26 2013 -0700
pci: Add PCI VGA helpers
Allow devices to register VGA memory regions for handling PCI spec
defined VGA I/O port and MMIO areas. PCI will attach these to the
bus address spaces and enable them according to the device command
register value.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a38b2c49bfd3f1cfc2aadd08cd049af16a342b1e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 13 21:37:08 2013 +0200
virtio-pci: guest notifier mask without non-irqfd
non-irqfd setups are currently broken with vhost:
we start up masked and nothing unmasks the interrupts.
Fix by using mask notifiers, same as the irqfd path.
Sharing irqchip/non irqchip code is always a good thing,
in this case it will help non irqchip benefit
from backend masking optimization.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8f7c533e20d1681feeb665109301151bdb739b4
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Mar 6 13:50:27 2013 +0800
virtio-net: remove layout assumptions for mq ctrl
Following commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a (virtio-net:
remove layout assumptions for ctrl vq), this patch makes multiqueue ctrl
handling not rely on the layout of descriptors.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15054fce2df8592dec70bba23faf126f0f372f81
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 11 15:11:04 2013 +0200
qmp: add path to device_deleted event
Add QOM path to device deleted event. It now becomes useful to report
it for devices which don't have an ID assigned.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e998fa8df828ef68ea540a12917d10b4d335c1dd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 18 21:01:37 2013 +0200
qom: call class destructor before unparent
It seems more logical to have destruction flow start with the subclass
and move up to the base class. This ensures object has a valid
canonical path when destructor is called.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 18501ae6e825d8da72369fd091018ef71071bd87
Merge: fad5593... 500f006...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 13:38:00 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Peter Lieven (9) and others
# Via Juan Quintela
* quintela/migration.next: (22 commits)
Use qemu_put_buffer_async for guest memory pages
Add qemu_put_buffer_async
Use writev ops if available
Store the data to send also in iovec
Update bytes_xfer in qemu_put_byte
Add socket_writev_buffer function
Add QemuFileWritevBuffer QemuFileOps
migration: use XBZRLE only after bulk stage
migration: do not search dirty pages in bulk stage
migration: do not sent zero pages in bulk stage
migration: add an indicator for bulk state of ram migration
migration: search for zero instead of dup pages
bitops: unroll while loop in find_next_bit()
buffer_is_zero: use vector optimizations if possible
cutils: add a function to find non-zero content in a buffer
move vector definitions to qemu-common.h
savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition
savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32
savevm: Add VMSTATE_FLOAT64 helpers
savevm: Add VMSTATE_UINTTL_EQUAL helper
...
commit fad5593ca646010d3cb83f7926d78dd30c20c610
Merge: 0fbf01f... b57ed9b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 13:34:38 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Queue sanity check for notify hypercall.
commit b57ed9bf075e33cdd2f9eb545ff555301dd57221
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Mar 26 17:32:44 2013 +0100
virtio-ccw: Queue sanity check for notify hypercall.
Verify that the virtio-ccw notify hypercall passed a reasonable
value for queue.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0fbf01fe911e84c588be41636570f46f597113d6
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 10:04:43 2013 -0500
qtest: use synchronous I/O for char device
Peter reported that rtc-test would periodically hang. It turns out
this was due to an EAGAIN occurring on qemu_chr_fe_write.
Instead of heavily refactoring qtest, just use a synchronous version
of the write operation for qemu_chr_fe_write to address this problem.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd18720a294bd7244ffda719677dd9c737317b67
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 10:04:17 2013 -0500
char: introduce a blocking version of qemu_chr_fe_write
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e769bdc26ded6d7681cddd9f67c5f87a4b5ba53c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:15:14 2013 +0000
hw/qdev: Abort rather than ignoring errors adding device properties
Instead of ignoring any errors that occur when adding properties
to a new device in device_initfn(), check for them and abort if any
occur. The most likely cause is accidentally adding a duplicate
property, which is a programming error by the device author.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364217314-7400-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 54852b03711f06c5f24af72de583346922176947
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:15:13 2013 +0000
qom: Detect attempts to add a property that already exists
Detect attempts to add a property to an object if one of
that name already exists, and report them as errors.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1364217314-7400-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b000dfbd42e8aac9af66ae0ed787ef1021bea29f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 25 13:40:44 2013 +0000
hw/qdev-properties.c: Improve diagnostic for setting property after
realize
Now we have error_setg() we can improve the error message emitted if
you attempt to set a property of a device after the device is realized
(the previous message was "permission denied" which was not very
informative).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1364218844-7509-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c19f806e01ba5c4a4d4fac80b76841512ed4a11e
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:20 2013 +0100
virtio-scsi: cleanup: remove qdev field.
The qdev field is no longer needed. Just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-11-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 763684befd34461371c2d2188655b69e4d93a5db
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:19 2013 +0100
virtio-scsi: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-10-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ac8e139274245320b1c56f6e9ec9318c2da963a
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:18 2013 +0100
virtio-scsi: cleanup: use QOM casts.
As the virtio-scsi-pci and virtio-scsi-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c908ea1052f8c6391c2d321693220130846f703c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:17 2013 +0100
virtio-scsi-ccw: switch to new API
Here the virtio-scsi-ccw is modified for the new API. The device
virtio-scsi-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-scsi during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ef13d8f1956b086f4bcb1d70cd5ff96e5faa2cb
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:16 2013 +0100
virtio-scsi-s390: switch to the new API.
Here the virtio-scsi-s390 is modified for the new API. The device
virtio-scsi-s390 extends virtio-s390-device as before. It creates and
connects a virtio-scsi during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc7b90a010719612344c4a78be7819841e76b7ec
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:15 2013 +0100
virtio-scsi-pci: switch to new API.
Here the virtio-scsi-pci is modified for the new API. The device
virtio-scsi-pci
extends virtio-pci. It creates and connects a virtio-scsi during the init.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab1dfdd50a7c852e4921935250c22f486c5b8a4
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:14 2013 +0100
virtio-scsi: add the virtio-scsi device.
Create virtio-scsi which extends virtio-device, so it can be connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4bfeb18a454bd71c406683fb473375e02c724b00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:13 2013 +0100
virtio-scsi: moving host_features from properties to transport properties.
host_features field is part of the transport device. So move all the
host_features related properties into transport device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 22219527f4272f5199a581bbd3950e9ba96bbc75
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:12 2013 +0100
virtio-scsi: allocate cmd_vqs array separately.
Allocate/Free the cmd_vqs array separately to have a fixed size device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 394e2e4c59294f2c5da58d2970693667218c7cf3
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Thu Mar 21 15:15:11 2013 +0100
virtio-scsi: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-scsi
properties. So *conf is replaced by conf.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Message-id: 1363875320-7985-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fd1a053e3696738d7499733df0feb1efd0d97e0
Merge: dcadaa9... 4d70043...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 26 09:25:45 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Corey Bryant (2) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
New QMP command query-cpu-max and HMP command cpu_max
qmp: fix handling of boolean values in qmp-shell
QMP: TPM QMP and man page documentation updates
QMP: Remove duplicate TPM type from query-tpm
commit 500f0061d628b52220038939728f0d7aee634468
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:03 2013 +0200
Use qemu_put_buffer_async for guest memory pages
This will remove an unneeded copy of guest memory pages.
For the page header and device state we still copy the data to the
static buffer the other option is to allocate the memory on demand
which is more expensive.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6181ec245529e0d40ac669fe3044eef3a9e19610
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:02 2013 +0200
Add qemu_put_buffer_async
This allows us to add a buffer to the iovec to send without copying it
into the static buffer, the buffer will be sent later when qemu_fflush is
called.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit cb88aa88d7e96cd12328915b33bf4a1bc054aa3f
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:01 2013 +0200
Use writev ops if available
Update qemu_fflush and stdio_close to use writev ops if they are available
Use the buffers stored in the iovec.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b3ea2bdb792f6d961ba3adf45cf1f0c63c61e09d
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:48:00 2013 +0200
Store the data to send also in iovec
All data is still copied into the static buffer.
Adjacent iovecs are coalesced so we send one big buffer
instead of many small buffers.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7d8a30bb98e89c203b3d2289ab0638c38bbeb7c1
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:59 2013 +0200
Update bytes_xfer in qemu_put_byte
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 28085f7b4d06970efa004257fcef013caf495a08
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:58 2013 +0200
Add socket_writev_buffer function
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d913829f0fd8451abcb1fd9d6dfce5586d9d7e10
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Fri Mar 22 16:47:57 2013 +0200
Add QemuFileWritevBuffer QemuFileOps
This will allow us to write an iovec
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5cc11c46cf187c7d5306b68e730ec0d372cd7ef0
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:39 2013 +0100
migration: use XBZRLE only after bulk stage
at the beginning of migration all pages are marked dirty and
in the first round a bulk migration of all pages is performed.
currently all these pages are copied to the page cache regardless
of whether they are frequently updated or not. this doesn't make sense
since most of these pages are never transferred again.
this patch changes the XBZRLE transfer to only be used after
the bulk stage has been completed. that means a page is added
to the page cache the second time it is transferred and XBZRLE
can benefit from the third time of transfer.
since the page cache is likely smaller than the number of pages
it's also likely that in the second round the page is missing in the
cache due to collisions in the bulk phase.
on the other hand a lot of unnecessary mallocs, memdups and frees
are saved.
the following results have been taken earlier while executing
the test program from docs/xbzrle.txt. (+) with the patch and (-)
without. (thanks to Eric Blake for reformatting and comments)
+ total time: 22185 milliseconds
- total time: 22410 milliseconds
Shaved 0.3 seconds, better than 1%!
+ downtime: 29 milliseconds
- downtime: 21 milliseconds
Not sure why downtime seemed worse, but probably not the end of the world.
+ transferred ram: 706034 kbytes
- transferred ram: 721318 kbytes
Fewer bytes sent - good.
+ remaining ram: 0 kbytes
- remaining ram: 0 kbytes
+ total ram: 1057216 kbytes
- total ram: 1057216 kbytes
+ duplicate: 108556 pages
- duplicate: 105553 pages
+ normal: 175146 pages
- normal: 179589 pages
+ normal bytes: 700584 kbytes
- normal bytes: 718356 kbytes
Fewer normal bytes...
+ cache size: 67108864 bytes
- cache size: 67108864 bytes
+ xbzrle transferred: 3127 kbytes
- xbzrle transferred: 630 kbytes
...and more compressed pages sent - good.
+ xbzrle pages: 117811 pages
- xbzrle pages: 21527 pages
+ xbzrle cache miss: 18750
- xbzrle cache miss: 179589
And very good improvement on the cache miss rate.
+ xbzrle overflow : 0
- xbzrle overflow : 0
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 70c8652bf3c1fea79b7b68864e86926715c49261
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:38 2013 +0100
migration: do not search dirty pages in bulk stage
avoid searching for dirty pages just increment the
page offset. all pages are dirty anyway.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f1c72795af573b24a7da5eb52375c9aba8a37972
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:37 2013 +0100
migration: do not sent zero pages in bulk stage
during bulk stage of ram migration if a page is a
zero page do not send it at all.
the memory at the destination reads as zero anyway.
even if there is an madvise with QEMU_MADV_DONTNEED
at the target upon receipt of a zero page I have observed
that the target starts swapping if the memory is overcommitted.
it seems that the pages are dropped asynchronously.
this patch also updates QMP to return the number of
skipped pages in MigrationStats.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 78d07ae7ac74bcc7f79aeefbaff17fb142f44b4d
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:36 2013 +0100
migration: add an indicator for bulk state of ram migration
the first round of ram transfer is special since all pages
are dirty and thus all memory pages are transferred to
the target. this patch adds a boolean variable to track
this stage.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3edcd7e6ebae3ef0ac178eed5f4225803159562d
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:35 2013 +0100
migration: search for zero instead of dup pages
virtually all dup pages are zero pages. remove
the special is_dup_page() function and use the
optimized buffer_find_nonzero_offset() function
instead.
here buffer_find_nonzero_offset() is used directly
to avoid the unnecssary additional checks in
buffer_is_zero().
raw performace gain checking 1 GByte zeroed memory
over is_dup_page() is approx. 10-12% with SSE2
and 8-10% with unsigned long arithmedtic.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 49f676a00ab540fac1d2008be26434cf85607722
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:34 2013 +0100
bitops: unroll while loop in find_next_bit()
this patch adopts the loop unrolling idea of bitmap_is_zero() to
speed up the skipping of large areas with zeros in find_next_bit().
this routine is extensively used to find dirty pages in
live migration.
testing only the find_next_bit performance on a zeroed bitfield
the loop onrolling decreased executing time by approx. 50% on x86_64.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 56ded708ec38e4cb75a7c7357480ca34c0dc6875
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:33 2013 +0100
buffer_is_zero: use vector optimizations if possible
performance gain on SSE2 is approx. 20-25%. altivec
is not tested. performance for unsigned long arithmetic
is unchanged.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 41a259bd2b1796ddabdae600ee539269a7ddb6a5
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:32 2013 +0100
cutils: add a function to find non-zero content in a buffer
this adds buffer_find_nonzero_offset() which is a SSE2/Altivec
optimized function that searches for non-zero content in a
buffer.
the function starts full unrolling only after the first few chunks have
been checked one by one. analyzing real memory page data has revealed
that non-zero pages are non-zero within the first 256-512 bits in
most cases. as this function is also heavily used to check for zero memory
pages this tweak has been made to avoid the high setup costs of the fully
unrolled check for non-zero pages.
due to the optimizations used in the function there are restrictions
on buffer address and search length. the function
can_use_buffer_find_nonzero_content() can be used to check if
the function can be used safely.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c61ca00ada744eb24825be2ba4d6ba8fe3a870a4
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Mar 26 10:58:30 2013 +0100
move vector definitions to qemu-common.h
vector optimizations will now be used at various places
not just in is_dup_page() in arch_init.c
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 377e2cb96b76c2b0023c1acc7230bf3a9e9f9f40
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:04 2013 +1100
savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition
The VMSTATE_BUFFER_MULTIPLY macro is misnamed - it actually specifies
a variably sized buffer with VMS_VBUFFER, so should be named
VMSTATE_VBUFFER_MULTIPLY. This patch fixes this (the macro had no current
users under either name).
In addition, unlike the other VMSTATE_VBUFFER variants, this macro did not
specify VMS_POINTER. This patch fixes this bug as well.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 8474a9dd6757be064bf4b35f422b4640d1cca0a5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:03 2013 +1100
savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32
Currently the savevm code contains a VMSTATE_STRUCT_VARRAY_POINTER_INT32
helper (a variably sized array with the number of elements in an int32_t),
but not VMSTATE_STRUCT_VARRAY_POINTER_UINT32 (... with the number of
elements in a uint32_t). This patch (trivially) fixes the deficiency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 213945e4d753b5f214468ff746d65fa76e21dbd1
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:02 2013 +1100
savevm: Add VMSTATE_FLOAT64 helpers
The current savevm code includes VMSTATE helpers for a number of commonly
used data types, but not for the float64 type used by the internal
floating
point emulation code. This patch fixes the deficiency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d58f5598342ffebe6c6278d8b90792060fca4792
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:01 2013 +1100
savevm: Add VMSTATE_UINTTL_EQUAL helper
This adds an _EQUAL VMSTATE helper for target_ulongs, defined in terms of
VMSTATE_UINT32_EQUAL or VMSTATE_UINT64_EQUAL as appropriate.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e344b8a16de429ada3d9126f26e2a96d71348356
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 14:06:00 2013 +1100
savevm: Add VMSTATE_UINT64_EQUAL helpers
The savevm code already includes a number of *_EQUAL helpers which act as
sanity checks verifying that the configuration of the saved state matches
that of the machine we're loading into to work. Variants already exist
for 8 bit 16 bit and 32 bit integers, but not 64 bit integers. This patch
fills that hole, adding a UINT64 version.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 817c60457f41e8643b612d451b3737433e9c7e0a
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Feb 11 15:11:10 2013 +0100
migration: Improve QMP documentation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c
Author: Michal Novotny <minovotn@xxxxxxxxxx>
Date: Mon Mar 25 17:31:33 2013 +0100
New QMP command query-cpu-max and HMP command cpu_max
These commands return the maximum number of CPUs supported by the
currently running emulator instance, as defined in its QEMUMachine
struct.
Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e5ecec7bad7b679aa11ab788424bc0e1705be15b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Mar 25 15:48:46 2013 +0100
qmp: fix handling of boolean values in qmp-shell
qmp-shell converts only integer arguments and the rest
is assumed to be strings which are faithfully sent as
quoted strings by json. But QEMU refuses to accept qmp
command with boolean argument whose value is escaped
as string.
Fix it by special-casing true/false keywords and store
value as corresponding boolean.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 28c4fa32bd76268320d44db5d82e0d18fbc7c864
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 12:34:49 2013 -0400
QMP: TPM QMP and man page documentation updates
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 88ca7bcff1806594c80782ad19ba50db47086b23
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 12:34:48 2013 -0400
QMP: Remove duplicate TPM type from query-tpm
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dcadaa9b40d6019ac18d6fd7763d43048ef79218
Merge: 4b5805d... d32fcad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:14:26 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman (5) and others
# Via Stefan Hajnoczi
* stefanha/net:
net: increase buffer size to accommodate Jumbo frame pkts
VMXNET3 device implementation
Packet abstraction for VMWARE network devices
Common definitions for VMWARE devices
net: iovec checksum calculator
Checksum-related utility functions
net: use socket_set_nodelay() for -netdev socket
commit 4b5805de49edec5a81fe810bb612317de6545a38
Merge: d2f38a0... ea804ca...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:14:20 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Liu Yuan (1) and Stefan Weil (1)
# Via Stefan Hajnoczi
* stefanha/block:
block: Add options QDict to bdrv_file_open() prototypes (fix MinGW
build)
rbd: fix compile error
commit d2f38a0acb0a1c5b7ab7621a32d603d08d513bea
Merge: d63c947... 0099cd4...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 13:13:53 2013 -0500
Merge remote-tracking branch 'kraxel/ipxe.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/ipxe.3:
ipxe: update binaries
ipxe: disable two second timeout
commit d63c9477e0cc303492325880dc9977f4096d895d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 25 10:23:56 2013 -0500
glib: add a compatibility interface for g_timeout_add_seconds
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6db253caf84203c9fb106b539072699fdd4730fe
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Sun Mar 24 19:10:02 2013 +0100
gtk: Release modifier when graphic console loses keyboard focus
This solves, e.g., sticky ALT when selecting a GTK menu, switching to a
different window or selecting a different virtual console.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 514F417A.6010908@xxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d32fcad366e5f45d33dab2ee4de0e5729439680b
Author: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 18 11:43:44 2013 -0700
net: increase buffer size to accommodate Jumbo frame pkts
Socket buffer sizes were hard-coded to 4K for VDE and socket netdevs.
Bump this
up to 68K (ala tap netdev) to handle maximum GSO packet size (64k) plus
plenty
of room for the ethernet and virtio_net headers.
Originally, ran into this limitation when using -netdev UDP sockets to
connect
VM-to-VM, where VM interface is configure with MTU=9000. (Using
virtio_net
NIC model). Test is simple: ping -M do -s 8500 <target>. This test will
attempt to ping with unfragmented packet of given size. Without patch,
size
is limited to < 4K (minus protocol hdrs). With patch, ping test works
with pkt
size up to 9000 (again, minus protocol hdrs).
v2: per Stefan, increase buf size to (4096+65536) as done in tap and apply
to vde and socket netdevs.
v1: increase buf size to 12K just for -netdev UDP sockets
Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 786fd2b0f87baded8c9e55307b99719eea3e016e
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:06 2013 +0200
VMXNET3 device implementation
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e263cd49c73c595af0917c83dc004234660e0c71
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:05 2013 +0200
Packet abstraction for VMWARE network devices
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75020a7021513ad4cbad2aa5f6de5d390016f099
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:04 2013 +0200
Common definitions for VMWARE devices
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84026301694b98dd08272e613da3497b17023d5c
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:03 2013 +0200
net: iovec checksum calculator
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5acf5ea4bc1535657692c509092caddec3d719ff
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Sat Mar 9 11:21:02 2013 +0200
Checksum-related utility functions
net_checksum_add_cont()
checksum calculation for scattered data with odd chunk sizes
net_raw_checksum()
checksum calculation for a buffer
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 20048d0a12b1080f688ff9b82696134df1aa3607
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 27 15:05:47 2013 +0100
net: use socket_set_nodelay() for -netdev socket
Reduce -netdev socket latency by disabling the Nagle algorithm on
SOCK_STREAM sockets in net/socket.c. Since we are tunelling Ethernet
over TCP we shouldn't artificially delay outgoing packets, let the guest
decide packet scheduling.
I already get sub-millisecond -netdev socket ping times on localhost, so
there was no measurable difference in my testing. This won't hurt
though and may improve remote socket performance.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
commit ea804cadf867a0521b9069193db339d041a40689
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 24 08:08:36 2013 +0100
block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build)
The new parameter is unused yet.
This part was missing in commit 787e4a8500020695eb391e2f1cc4767ee071d441.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d43731c75830dc63ae94282d84208a5652095bb7
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Sun Mar 24 15:41:15 2013 +0800
rbd: fix compile error
Commit 787e4a85 [block: Add options QDict to bdrv_file_open() prototypes]
didn't
update rbd.c accordingly.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0099cd43ecf07710a608db5ca0945758514a14c2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:13:18 2013 +0100
ipxe: update binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95ca557d5cfc1ef69ba9708ded552f389afe643d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 25 09:07:40 2013 +0100
ipxe: disable two second timeout
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit fe6344a05fba26e16863fefcb823242e579b0991
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Sun Mar 24 00:43:38 2013 -0400
Remove device_tree.o from hw/moxie/Makefile.objs.
Here's a fix for the build problem identified by Aurelien Jarno here:
http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg04177.html
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2d497542e1ee66598be8bb7ce6a4606d664417ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 09:13:33 2013 -0700
tcg-optimize: Fold sub r,0,x to neg r,x
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4980ef9e3e12be3b4ef9092abc2d5a665199b422
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 19 12:11:56 2013 -0700
target-i386: Don't modify env->eflags around cpu_dump_state
We can compute the value in cpu_dump_state anyway, and gratuitous
modifications to eflags creates heisenbugs.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c53de1a2896ccc9ab18bb9c2f1a2f7b93629b564
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 19 09:40:53 2013 -0700
target-i386: Fix flags computation for ADOX
When starting from CC_OP_DYNAMIC, and issuing adox before adcx,
a typo used the wrong value for the resulting CC_OP.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d15a9c2390889623a681b4d0bc56371b4d25893c
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:25 2013 -0400
Add top level changes for moxie
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a360d965821870fa1dbb3effdf7436b715ad3358
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:24 2013 -0400
Add sample moxie system
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bd86a88eedf3fd4ff55664cfabea7d6400e5fbda
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:23 2013 -0400
Add moxie disassembler
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 525bd324c282c68ff95e389acd647ae115fd003c
Author: Anthony Green <green@xxxxxxxxxxxxxx>
Date: Mon Mar 18 15:49:22 2013 -0400
Add moxie target code
Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f7c61bf8fc1b05613b49d1dd2300d1a1fbc927de
Merge: d76bb73... b1e5fff...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 23 14:23:26 2013 +0000
Merge branch 'for-upstream' of git://github.com/mwalle/qemu
* 'for-upstream' of git://github.com/mwalle/qemu:
configure: rename OpenGL feature to GLX
configure: proper OpenGL/GLX probe
target-lm32: use HELPER() macro
target-lm32: flush tlb after clearing env
target-lm32: remove dead code
target-lm32: fix cmpgui and cmpgeui opcodes
tests: tcg: lm32: add more test cases
target-lm32: don't log cpu state in translation
lm32_uart: fix receive buffering
milkymist-uart: fix receive buffering
lm32-dis: fix NULL pointer dereference
target-lm32: fix debug memory access
commit d76bb73549fcac07524aea5135280ea533a94fd6
Merge: 52ae646... 9ca3f7f...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Fri Mar 22 21:43:57 2013 +0100
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (58 commits)
target-ppc: Use NARROW_MODE macro for tlbie
target-ppc: Use NARROW_MODE macro for addresses
target-ppc: Use NARROW_MODE macro for comparisons
target-ppc: Use NARROW_MODE macro for branches
target-ppc: Fix add and subf carry generation in narrow mode
target-ppc: Use QOM method dispatch for MMU fault handling
target-ppc: Move ppc tlb_fill implementation into mmu_helper.c
target-ppc: Split user only code out of mmu_helper.c
mmu-hash64: Implement Virtual Page Class Key Protection
mmu-hash*: Merge translate and fault handling functions
mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for
get_phys_page_debug()
mmu-hash*: Correctly mask RPN from hash PTE
mmu-hash*: Clean up real address calculation
mmu-hash*: Clean up PTE flags update
mmu-hash64: Factor SLB N bit into permissions bits
mmu-hash*: Clean up permission checking
mmu-hash32: Remove nx from context structure
mmu-hash*: Don't update PTE flags when permission is denied
mmu-hash32: Don't look up page tables on BAT permission error
mmu-hash32: Cleanup BAT lookup
...
commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f
Author: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx>
Date: Fri Mar 22 21:50:17 2013 +0900
tcg: Fix occasional TCG broken problem when ldst optimization enabled
is_tcg_gen_code() checks the upper limit of TCG generated code range
wrong, so
that TCG could get broken occasionally only when
CONFIG_QEMU_LDST_OPTIMIZATION
enabled. The reason is code_gen_buffer_max_size does not cover the upper
range
up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size
should be
modified to code_gen_buffer_size.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 3f08ffb4a4741d147634761dc053ed386243a0de
Merge: cecd77a... 681e7ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:08:01 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (12) and Peter Lieven (2)
# Via Kevin Wolf
* kwolf/for-anthony:
nbd: Check against invalid option combinations
nbd: Use default port if only host is specified
block: Allow omitting the file name when using driver-specific options
block: Make find_image_format safe with NULL filename
block: Rename variable to avoid shadowing
block: Introduce .bdrv_parse_filename callback
nbd: Accept -drive options for the network connection
nbd: Remove unused functions
nbd: Keep hostname and port separate
qemu-socket: Make socket_optslist public
block: Pass bdrv_file_open() options to block drivers
block: Add options QDict to bdrv_file_open() prototypes
block: complete all IOs before resizing a device
Revert "block: complete all IOs before .bdrv_truncate"
commit cecd77ae6df060bbe8f0eea6691112097e680a52
Merge: f930820... 01ed1d5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:05:57 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By liguang (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
qdev: remove redundant abort()
gitignore: ignore more files
Use proper term in TCG README
serial: Fix debug format strings
Fix typos and misspellings
Advertise --libdir in configure --help output
memory: fix a bug of detection of memory region collision
MinGW: Replace setsockopt by qemu_setsocketopt
commit f9308207040dc4a1484cee459bedaec03645b935
Merge: afed260... fe42d7f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 22 13:05:50 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw, s390-virtio: Use generic virtio-blk macro.
s390-virtio, virtio-ccw: Add config_wce for virtio-blk.
virtio-ccw: Add missing blk chs properties.
commit 681e7ad024d80123a1ae8e35f86fb1a7f03b1bc9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 20 19:23:23 2013 +0100
nbd: Check against invalid option combinations
A file name may only specified if no host or socket path is specified.
The latter two may not appear at the same time either.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit bebbf7fa9c6235022ecd15f8f934d27e5ccab63a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:56:05 2013 +0100
nbd: Use default port if only host is specified
The URL method already takes care to apply the default port when none is
specfied. Directly specifying driver-specific options required the port
number until now. Allow leaving it out and apply the default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit c2ad1b0c465a9ea8375eaff14bbd85705c673f73
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:40:51 2013 +0100
block: Allow omitting the file name when using driver-specific options
After this patch, using -drive with an empty file name continues to open
the file if driver-specific options are used. If no driver-specific
options are specified, the semantics stay as it was: It defines a drive
without an inserted medium.
In order to achieve this, bdrv_open() must be made safe to work with a
NULL filename parameter. The assumption that is made is that only block
drivers which implement bdrv_parse_filename() support using driver
specific options and could therefore work without a filename. These
drivers must make sure to cope with NULL in their implementation of
.bdrv_open() (this is only NBD for now). For all other drivers, the
block layer code will make sure to error out before calling into their
code - they can't possibly work without a filename.
Now an NBD connection can be opened like this:
qemu-system-x86_64 -drive file.driver=nbd,file.port=1234,file.host=::1
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f5866fa438bff586f215c137dc71edb4e0770536
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:20:27 2013 +0100
block: Make find_image_format safe with NULL filename
In order to achieve this, the .bdrv_probe callbacks of all drivers must
cope with this. The DMG driver is the only one that bases its decision
on the filename and it needs to be changed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 08b392e1510b21d8c9bfa8a50525fae31014a2e2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 16:17:44 2013 +0100
block: Rename variable to avoid shadowing
bdrv_open() uses two different variables called options. Rename one of
them to avoid confusion and to allow the outer one to be accessed
everywhere.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 6963a30d82413bea36c7545137b090b284cc2b18
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 18:47:22 2013 +0100
block: Introduce .bdrv_parse_filename callback
If a driver needs structured data and not just a string, it can provide
a .bdrv_parse_filename callback now that parses the command line string
into separate options. Keeping this separate from .bdrv_open_filename
ensures that the preferred way of directly specifying the options always
works as well if parsing the string works.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f53a1febcd9d887149ac1429880a3f2fdb2c117f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 7 16:15:11 2013 +0100
nbd: Accept -drive options for the network connection
The existing parsers for the file name now parse everything into the
bdrv_open() options QDict. Instead of using these parsers, you can now
directly specify the options on the command line, like this:
qemu-system-x86_64 -drive file=nbd:,file.port=1234,file.host=::1
Clearly the file=... part could use further improvement, but it's a
start.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 197a4859b914559489f41b63fd71ea4bfda17c3d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 16:46:38 2013 +0100
nbd: Remove unused functions
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f17c90bed11a6e277614b5a5d16434004f24d572
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 11:55:29 2013 +0100
nbd: Keep hostname and port separate
The NBD block supports an URL syntax, for which a URL parser returns
separate hostname and port fields. It also supports the traditional qemu
syntax encoded in a filename. Until now, after parsing the URL to get
each piece of information, a new string is built to be fed to socket
functions.
Instead of building a string in the URL case that is immediately parsed
again, parse the string in both cases and use the QemuOpts interface to
qemu-sockets.c.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e62be8888a83aa0ab7f50eeb954deb2ec4e7201d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 17:14:24 2013 +0100
qemu-socket: Make socket_optslist public
Allow other users to create the QemuOpts needed for inet_connect_opts().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 707ff8282b66bb9471e253fe5f17b74576d36825
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 6 12:20:31 2013 +0100
block: Pass bdrv_file_open() options to block drivers
Specify -drive file.option=... on the command line to pass the option to
the protocol instead of the format driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 787e4a8500020695eb391e2f1cc4767ee071d441
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 6 11:52:48 2013 +0100
block: Add options QDict to bdrv_file_open() prototypes
The new parameter is unused yet.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 92b7a08d64e5e3129fa885f9d180e5bddcb76b42
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Mar 11 11:04:24 2013 +0100
block: complete all IOs before resizing a device
this patch ensures that all pending IOs are completed
before a device is resized. this is especially important
if a device is shrinked as it the bdrv_check_request()
result is invalidated.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5c916681ae2383f0425bb8a3680ade9d055f5dfe
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Mar 11 11:03:28 2013 +0100
Revert "block: complete all IOs before .bdrv_truncate"
brdv_truncate() is also called from readv/writev commands on self-
growing file based storage. this will result in requests waiting
for theirselves to complete.
This reverts commit 9a665b2b8640e464f0a778216fc2dca8d02acf33.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01ed1d527c59356e6c4c9d54b5710a3c9e78ce4e
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:14 2013 +0800
qdev: remove redundant abort()
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 082369e62c5bbaba89f173c2b803bc24115bb111
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Fri Mar 22 16:44:13 2013 +0800
gitignore: ignore more files
ignore *.patch, *.gcda, *.gcno
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 294e4669a5ef1feacc6635d324fa4ba88062cce0
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 20 11:42:08 2013 +0800
Use proper term in TCG README
In TCG, "target" means the host architecture for which TCG generates
the code. Using "guest" rather than "target" to make the document more
consistent.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ca3f7f3160365de9030e1a6128a871625abe346
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:49 2013 +0000
target-ppc: Use NARROW_MODE macro for tlbie
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c791fe8436cf6b93ddb035a5b7a87487da5f7b30
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:48 2013 +0000
target-ppc: Use NARROW_MODE macro for addresses
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 02765534f7aff83a975072e8a6fcc85364351ad5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:47 2013 +0000
target-ppc: Use NARROW_MODE macro for comparisons
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0c8f9ce85b360668a7c8cc77cb3b85fac0bd057
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:46 2013 +0000
target-ppc: Use NARROW_MODE macro for branches
Removing conditional compilation in the process.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 79482e5ab38a05ca8869040b0d8b8f451f16ff62
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Mar 21 10:01:45 2013 +0000
target-ppc: Fix add and subf carry generation in narrow mode
The set of computations used in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
are only valid if the current word size == target_long size. This failed
to take ppc64 in 32-bit (narrow) mode into account.
Add a NARROW_MODE macro to avoid conditional compilation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b632a148b677b773ff155f9de840b37a653567b9
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 11:40:33 2013 +1100
target-ppc: Use QOM method dispatch for MMU fault handling
After previous cleanups, the many scattered checks of env->mmu_model in
the ppc MMU implementation have, at least for "classic" hash MMUs been
reduced (almost) to a single switch at the top of
cpu_ppc_handle_mmu_fault().
An explicit switch is still a pretty ugly way of handling this though.
Now
that Andreas Färber's CPU QOM cleanups for ppc have gone in, it's quite
straightforward to instead make the handle_mmu_fault function a QOM method
on the CPU object.
This patch implements such a scheme, initializing the method pointer at
the same time as the mmu_model variable. We need to keep the latter
around
for now, because of the MMU types (BookE, 4xx, et al) which haven't been
converted to the new scheme yet, and also for a few other uses. It would
be good to clean those up eventually.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb20c1c6da60c8c75f08def03b0822a48af620ac
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:49 2013 +0000
target-ppc: Move ppc tlb_fill implementation into mmu_helper.c
For softmmu builds the interface from the generic code to the target
specific MMU implementation is through the tlb_fill() function. For ppc
this is currently in mem_helper.c, whereas it would make more sense in
mmu_helper.c. This patch moves it, which also allows
cpu_ppc_handle_mmu_fault() to become a local function in mmu_helper.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cc8eae8ac7a493b6968238cf8aa5a21026858bae
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:48 2013 +0000
target-ppc: Split user only code out of mmu_helper.c
mmu_helper.c is, for obvious reasons, almost entirely concerned with
softmmu builds of qemu. However, it does contain one stub function which
is used when CONFIG_USER_ONLY=y - the user only versoin of
cpu_ppc_handle_mmu_fault, which always triggers an exception. The entire
rest of the file is surrounded by #if !defined(CONFIG_USER_ONLY).
We clean this up by moving the user only stub into its own new file,
removing the ifdefs and building mmu_helper.c only when CONFIG_SOFTMMU
is set. This also lets us remove the #define of cpu_handle_mmu_fault to
cpu_ppc_handle_mmu_fault - that name is only used from generic code for
user only - so we just name our split user version by the generic name.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f80872e21c07edd06eb343eeeefc8af404b518a6
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:47 2013 +0000
mmu-hash64: Implement Virtual Page Class Key Protection
Version 2.06 of the Power architecture describes an additional page
protection mechanism. Each virtual page has a "class" (0-31) recorded in
the PTE. The AMR register contains bits which can prohibit reads and/or
writes on a class by class basis. Interestingly, the AMR is userspace
readable and writable, however user mode writes are masked by the contents
of the UAMOR which is privileged.
This patch implements this protection mechanism, along with the AMR and
UAMOR SPRs. The architecture also specifies a hypervisor-privileged AMOR
register which masks user and supervisor writes to the AMR and UAMOR. We
leave this out for now, since we don't at present model hypervisor mode
correctly in any case.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: fix 32-bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit caa597bd9f5439cb16653119f362ad85a9f02b55
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:46 2013 +0000
mmu-hash*: Merge translate and fault handling functions
ppc_hash{32,64}_handle_mmu_fault() is now the only caller of
ppc_hash{32,64{_translate(), so this patch combines them together. This
means that instead of one returning a variety of non-obvious error codes
which then get translated into the various mmu exception conditions, we
can
just generate the exceptions as we discover problems in the translation
path. This also removes the last usage of mmu_ctx_hash{32,64}.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5883d8b29691e15c72e338a586509abfc65c3106
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:45 2013 +0000
mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for
get_phys_page_debug()
Currently the hash mmu versionsof get_phys_page_debug() use the same
ppc64_hash64_translate() function to do the translation logic as the
normal
mm fault handler code.
That sounds like a good idea, but has some complications. The debug path
doesn't need, or even want some parts of the full translation path, like
permissions checking. Furthermore, the pte flags update included in the
normal path means that the debug call is not quite side effect free.
This patch, therefore, reimplements get_phys_page_debug as the minimal
required subset of the full translation path.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>`z
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 75d5ec89c03cb2f1a2bd0d9912e624ceb6fd1999
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:44 2013 +0000
mmu-hash*: Correctly mask RPN from hash PTE
BEHAVIOUR CHANGE
At present we take the whole of word 1 of the hash PTE as the real page
number used to calculate the translated address. This is incorrect,
because it leaves the flags from the low bits of PTE word 1 in place in
the
rpm. We mostly get away with that because the value is later masked by
TARGET_PAGE_MASK.
More recent 64-bit CPUs also have a small number of flag bits (PP0 and
KEY) in the top bits of PTE word 1. Any guest which used those bits would
fail with the current code.
This patch fixes the problem by correctly masking out the RPN field of
PTE word 1. This is safe, even for older CPUs which didn't have PP0 and
KEY, because although the RPN notionally extended to the very top of PTE
word 1, none of those CPUs actually implemented that many real address
bits.
We add analogous masking to the 32-bit code, even though it also doesn't
have the high flag bits, for consistency and clarity.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d11d998bb866c92b0f81eb3cea2f7a3e617feb8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:43 2013 +0000
mmu-hash*: Clean up real address calculation
More recent 64-bit hash MMUs support multiple page sizes, and PTEs for
large pages only include the offset of the whole large page. But the qemu
tlb only handles pages of the base size (4k) so we need to break up the
large pages into 4k pieces for the qemu tlb. To do that we have a
somewhat
awkward piece of code that adds the folds address bits 4k and the page
size
from the virtual address into the real address from the pte.
This patch simplifies this redefining the raddr output of
ppc_hash64_translate() to be the full real address of the faulting
address,
rather than just the (4k) page offset. Computing that turns out to be
simpler, and is fine for the caller, since it already masks with
TARGET_PAGE_MASK before inserting into the qemu tlb.
The multiple page size complication doesn't exist for 32-bit hash mmus,
but
we make an analogous cleanup there for consistency.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b344074642e58fc83635c38105f38b85fc086666
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:42 2013 +0000
mmu-hash*: Clean up PTE flags update
Currently the ppc_hash{32,64}_pte_update_flags() helper functions update a
PTE's referenced and changed bits as necessary to reflect the access. It
is somewhat long winded, though. This patch open codes them in their
(single) callers, in a simpler way.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 57d0a39d98b0d0e4712e736084667bcb5aed3474
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:41 2013 +0000
mmu-hash64: Factor SLB N bit into permissions bits
BEHAVIOUR CHANGE
Currently, for 64-bit hash mmu, the execute protection bit placed into the
qemu tlb is based only on the N (No execute) bit from the PTE. However,
No Execute can also be set at the segment level. We do check this on
execute faults, but this still means we could incorrectly allow execution
of code from a No Execute segment, if a prior read or write fault caused
the page to be loaded into the qemu tlb with PROT_EXEC set.
To correct this, we (re-)check the segment level no execute permission
when
generating the protection bits for the qemu tlb.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e01b444523e2b0c663b42b3e8f44ef48a6153051
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:40 2013 +0000
mmu-hash*: Clean up permission checking
Currently checking of PTE permission bits is split messily amongst
ppc_hash{32,64}_pp_check(), ppc_hash{32,64}_check_prot() and their
callers.
This patch cleans this up to have the new function
ppc_hash{32,64}_pte_prot() compute the page permissions from the SLBE (for
64-bit) or segment register (32-bit) and the pte. A greatly simplified
version of the actual permissions check is then open coded in the callers.
The 32-bit version of ppc_hash32_pte_prot() is implemented in terms of
ppc_hash32_pp_prot(), a renamed and slightly cleaned up version of the old
ppc_hash32_pp_check(), which is also used for checking BAT permissions on
the 601.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1a53ba2e0f6dcf4a8b25586cc9d8ec1e408305c
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:39 2013 +0000
mmu-hash32: Remove nx from context structure
Previous cleanups have meant the nx field of the mmu_ctx_hash32 structure
is now only used within ppc_hash32_translate(), and so it can be replaced
by a local variable.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 87dc3fd13e9c573fc435678973d8eb9726d50c3b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:38 2013 +0000
mmu-hash*: Don't update PTE flags when permission is denied
BEHAVIOUR CHANGE
Currently if ppc_hash{32,64}_translate() finds a PTE matching the given
virtual address, it will always update the PTE's R & C (Referenced and
Changed) bits. This happens even if the PTE's permissions mean we are
about to deny the translation.
This is clearly a bug, although we get away with it because:
a) It will only incorrectly set, never reset the bits, which should not
cause guest correctness problems.
b) Linux guests never use the R & C bits anyway.
This patch fixes the behaviour, only updating R & C when access is granted
by the PTE.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59acbe28552eb7bd7be75b22b3f3de93d7d40556
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:37 2013 +0000
mmu-hash32: Don't look up page tables on BAT permission error
BEHAVIOUR CHANGE
Currently, on any failure translating an address with BATs, we proceed to
normal segment and page table translation. That's incorrect if the
BAT error was due to permissions, rather than not finding a matching BAT.
We've gotten away with it because a guest would not usually put
translations for the same address in both BATs and page table.
Nonetheless
this patch corrects the logic, only doing page table lookup if no BAT
is found. A matching BAT with bad permissions will now correctly trigger
an exception.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 145e52f31826045d8cccf5b840dc77d21a696651
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:36 2013 +0000
mmu-hash32: Cleanup BAT lookup
This patch makes a general cleanup of the ppc_hash32_get_bat() function,
renaming it to ppc_hash32_bat_lookup(). In particular, the new function
only looks for a matching BAT, with the permissions check from the old
function moved to the caller.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6fc76aa9adc1c8896a97059f12a1e5e6c1820c64
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:35 2013 +0000
mmu-hash32: Clean up BAT matching logic
The code to search for a matching BAT for a virtual address is somewhat
longwinded and awkward. In particular, it relies on seperate size and
validity information being returned from the hash32_bat_size() function
(and 601 specific variant).
We simplify this by having hash32_bat_size() return instead a mask of the
virtual address bits to match, and 0 for invalid (since a BAT can never
match the entire address space).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1d4951593426c886c1856211bc6ca81ed7c435d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:34 2013 +0000
mmu-hash32: Split BAT size logic from permissions logic
hash32_bat_size_prot() and its 601 variant, as the name suggests, returns
both a BAT's size - needed to search for a matching BAT - and its
permissions, only relevant once a matching BAT has been located.
There's no particular advantage to combining these, so we split these
roles
into seperate functions for clarity.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9986ed1ed07a01bdd236524b1a5cee695e68954a
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:33 2013 +0000
mmu-hash32: Remove odd pointer usage from BAT code
In the code for handling BATs, the hash32_bat_size_prot() and
hash32_bat_601_size_prot() functions are passed the BAT contents by
reference (pointer) for no clear reason, since they only need the values
within.
This patch removes this odd usage, and uses the resulting change to clean
up the caller slightly.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a9801106ed90b8817128e15b187a9d5f71a54d9
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:32 2013 +0000
mmu-hash*: Fold pte_check*() logic into caller
With previous cleanups made, the 32-bit and 64-bit pte_check*() functions
are pretty trivial and only have one call site. This patch therefore
clarifies the overall code flow by folding those functions into their
call site.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 181488987671841407c52b6f958650f68b66f3f4
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:31 2013 +0000
mmu-hash64: Clean up ppc_hash64_htab_lookup()
This patch makes a general cleanup of the address mangling logic in
ppc_hash64_htab_lookup(). In particular it now avoids repeatedly
switching
on the segment size. The lack of SLB and multiple segment sizes on 32-bit
means an analogous cleanup is not needed there.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f3bdc2d8e17999a26ac0f6649caef92fedfc1c0
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:30 2013 +0000
mmu-hash*: Remove permission checking from find_pte{32, 64}()
find_pte{32,64}() are poorly named, since they both find a PTE and do
permissions checking of it. This patch makes them only locate a matching
PTE, moving the permission checking and other logic to the caller. We
rename the resulting search functions ppc_hash{32,64}_htab_lookup().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1ff751abda89006f167b14fa4bfc5b59e4980f0
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:29 2013 +0000
mmu-hash*: Make find_pte{32, 64} do more of the job of finding ptes
find_pte{32,64}() are not particularly well named. They only "find" a PTE
within a given PTE group, and they also do permissions checking and other
things.
This patch makes it somewhat close to matching the name, by folding the
search of both primary and secondary hash bucket into it, along with the
various address bit shuffling to determine the right hash buckets.
In the 32-bit case we also remove the code for splitting large pages into
4k pieces for the qemu tlb, since no 32-bit hash MMUs support multiple
page
sizes.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit aea390e4be652d5b5457771d25eded0dba14fe37
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:28 2013 +0000
mmu-hash*: Separate PTEG searching from permissions checking
find_pte{32,64{() do several things. First they search through a PTEG
ooking for a PTE matching our virtual address. Then they do permissions
checking and other processing on that PTE.
This patch separates the search by VA out from the rest. The search is
combined with the pte{32,64}_match() functions into new
ppc_has{32,64}_pteg_search() functions.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f95d7cc7fecbc0e320e83c864ce2d99fee3d9236
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:27 2013 +0000
mmu-hash*: Don't keep looking for PTEs after we find a match
BEHAVIOUR CHANGE
The ppc hash mmu hashes each virtual address to a primary and secondary
possible hash bucket (aka PTE group or PTEG) each with 8 PTEs. Then we
need a linear search through the PTEs to find the correct one for the
virtual address we're translating.
It is a programming error for the guest to insert multiple PTEs mapping
the
same virtual address into a PTEG - in this case the ppc architecture says
the MMU can either act as if just one was present, or give a machine
check.
Currently our code takes the first matching PTE in a PTEG if it finds a
successful translation. But if a matching PTE is found, but permission
bits don't allow the access, we keep looking through the PTEG, checking
that any other matching PTEs contain an identical translation.
That behaviour is perhaps not exactly wrong, but it's certainly not
useful.
This patch changes it to always just find the first matching PTE in a
PTEG.
In addition, if we get a permissions problem on the primary PTEG, we then
search the secondary PTEG. This is incorrect - a permission denying PTE
in the primary PTEG should not be overwritten by an access granting PTE in
the secondary (although again, it would be a programming error for the
guest to set up such a situation anyway). So additionally we update the
code to only search the secondary PTEG if no matching PTE is found in the
primary at all.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb218042c8b4e4bbcf2ab3c8d961d78876178831
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:26 2013 +0000
mmu-hash*: Cleanup segment-level NX check
On the ppc hash mmus, no-execute can be set at the segment level (on more
recent 64-bit hash mmus it can also be set at the page level). This patch
separates out this check to make it clearer what is going on, and avoiding
excessive indentation of the remaining translation code.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 723ed73ada1ed66a67722f3051059f634d60ebf7
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:25 2013 +0000
mmu-hash32: Split direct store segment handling into a helper
This further separates the unusual case handling of direct store segments
from the main translation path by moving its logic into a helper function,
with some tiny cleanups along the way.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b9605a5b16f86d9e8eccbc0bd522904137c1200
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:24 2013 +0000
mmu-hash32: Split out handling of direct store segments
At present a large chunk of ppc_hash32_translate() is taken up with an
ugly if selecting between direct store segments (hardly ever used) and
normal paged segments. This patch clarifies the flow of code by
handling direct store segments immediately then returning, leaving the
straight line code to describe the normal MMU path.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 65d61643d01fec2792d195130531cbb71c783e8e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:23 2013 +0000
mmu-hash*: Combine ppc_hash{32, 64}_get_physical_address and
get_segment{32, 64}()
After previous work, ppc_hash{32,64}_get_physical_address() are almost
trivial wrappers around get_segment{32,64}() which does nearly all the
work of
translating an address according to the hash mmu model. Therefore
combine the
two functions into one, under the better name of
ppc_hash{32,64}_translate().
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f078cd46de9efb5f102a4b32aaf1c8b96a90bfbd
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:22 2013 +0000
mmu-hash*: Remove eaddr field from mmu_ctx_hash{32, 64}
The eaddr field of mmu_ctx_hash{32,64} is effectively just used to pass
the
effective address from get_segment{32,64}() to find_pte{32,64}(). Just
pass it as a normal parameter instead.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba36ed10059f63c981d046a3fe0d716f77959429
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:21 2013 +0000
mmu-hash64: Remove nx from mmu_ctx_hash64
The nx field in mmu_ctx_hash64 is used in two different functions. But
its
used for slightly different things in each place, and the value is never
propagated between them. In other words, it might as well be two local
variables. This patch makes it so.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 91cda45b69e45a089f9989979a65db3f710c9925
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:20 2013 +0000
mmu-hash*: Reduce use of access_type
In ppc env->access_type is updated by e.g. integer load/stores with
ACCESS_INT floating point load/stores with ACCESS_FLOAT and so forth. In
hash mmu fault paths it can also b set to ACCESS_CODE for instruction
fetch accesses.
But the only place which uses anything more of the access_type than
whether it is instruction fetch or data access is the direct store segment
handling. Instruction versus data access can be more simply determined
from the rw value passed down from the top.
This changes the code to use rw in preference to checking access_type.
For the 32-bit case there is a small amount of code (for direct store
segments) that still needs the full access type. Instead of passing it
all the way down the stack, we retrieve it from the env structure, which
is where it came anyway, before this patch.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dffdaf6162d20b992e34c4708969ed4de0353417
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:19 2013 +0000
mmu-hash*: Add hash pte load/store helpers
On real hardware the ppc hash page table is stored in memory; accordingly
our mmu emulation code can read a hash page table in guest memory. But,
when paravirtualized under PAPR, the real hash page table is in host
memory, accessible to the guest only via hypercalls. We model this by
also allowing the MMU emulation code to access a specially allocated hash
page table outside the guest's memory image. At present these two options
are implemented with some ugly conditionals at each access point in the
mmu
emulation code. In the implementation of the PAPR hypercalls, we assume
the external hash table.
This patch cleans things up by adding helpers to load and store from the
hash table for both 32-bit and 64-bit hash mmus. The 64-bit versions
handle both the in-guest-memory and outside guest memory cases. The
32-bit
versions only handle the in-guest-memory case since no 32-bit systems can
have an external hash table at present.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d5aea6f367d25b630a952a5a0c8289add774a8e8
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:18 2013 +0000
mmu-hash*: Add header file for definitions
Currently cpu.h contains a number of definitions relating to the 64-bit
hash MMU. Some are used in the MMU emulation code, but some are only used
in the spapr MMU management hcall implementations.
This patch moves these definitions (except for a few that are needed
more widely) into mmu-hash64.h header, shared between the MMU emulation
code and the spapr hcall code. The MMU emulation code is also updated to
actually use a number of those definitions in place of hard coded
constants.
Similarly, we add new analogous definitions to mmu-hash32.h and use those
in place of many hard-coded constants in mmu-hash32.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: fix 32-bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dc68eb0e4e41462bf93cf5c67fe4045571fc7bf
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:17 2013 +0000
target-ppc: mmu_ctx_t should not be a global type
mmu_ctx_t is currently defined in cpu.h. However it is used for temporary
information relating to mmu translation, and is only used in mmu_helper.c
and (now) mmu-hash{32,64}.c. Furthermore it contains information which
should be specific to particular MMU types. Therefore, move its
definition
to mmu_helper.c. mmu-hash{32,64}.c are converted to use new data types
private to the relevant MMUs (identical to mmu_ctx_t for now, but that
will
change in future patches).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9813279664162fa50d6124fe8c5ac4871fa59c13
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:16 2013 +0000
target-ppc: Disentangle BAT code for 32-bit hash MMUs
The functions for looking up BATs (Block Address Translation - essentially
a level 0 TLB) are shared between the classic 32-bit hash MMUs and the
6xx style software loaded TLB implementations.
This patch splits out a copy for the 32-bit hash MMUs, to facilitate
cleaning it up. The remaining version is left, but cleaned up slightly
to no longer deal with PowerPC 601 peculiarities (601 has a hash MMU).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59191721a16ae393c01280dc633937374cdf474e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:15 2013 +0000
target-ppc: Don't share get_pteg_offset() between 32 and 64-bit
The get_pteg_offset() helper function is currently shared between 32-bit
and 64-bit hash mmus, taking a parameter for the hash pte size. In the
64-bit paths, it's only called in one place, and it's a trivial
calculation. This patch, therefore, open codes it for 64-bit. The
remaining version, which is used in two places is made 32-bit only and
moved to mmu-hash32.c.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 496272a7018ba01aa2b87a1a5ed866ff85133401
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:14 2013 +0000
target-ppc: Disentangle hash mmu helper functions
The newly separated paths for hash mmus rely on several helper functions
which are still shared with 32-bit hash mmus: pp_check(), check_prot() and
pte_update_flags(). While these don't have ugly ifdefs on the mmu type,
they're not very well thought out, so sharing them impedes cleaning up the
hash mmu paths. For now, put near-duplicate versions into mmu-hash64.c
and
mmu-hash32.c, leaving the old version in mmu_helper.c for 6xx software
loaded tlb implementations. The hash 32 and software loaded
implementations are simplfied slightly, using the fact that no 32-bit CPUs
implement the 3rd page protection bit.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f2ad6be83bc284d6c7677bdca879db38d4fdccd5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:13 2013 +0000
target-ppc: Disentangle hash mmu versions of cpu_get_phys_page_debug()
cpu_get_phys_page_debug() is a trivial wrapper around
get_physical_address(). But even the signature of
get_physical_address() has some things we'd like to clean up on a
per-mmu basis, so this patch moves the test on mmu model out to
cpu_get_phys_page_debug(), moving the version for 64-bit hash MMUs out
to mmu-hash64.c and the version for 32-bit hash MMUs to mmu-hash32.c
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 25de24ab838be5801d5cc13b8a347922a3770fa5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:12 2013 +0000
target-ppc: Disentangle hash mmu paths for cpu_ppc_handle_mmu_fault
cpu_ppc_handle_mmu_fault() calls get_physical_address() (whose behaviour
depends on MMU type) then, if that fails, issues an appropriate exception
- which again has a number of dependencies on MMU type.
This patch starts converting cpu_ppc_handle_mmu_fault() to have a
single switch on MMU type, calling MMU specific fault handler
functions which deal with both translation and exception delivery
appropriately for the MMU type. We convert 32-bit and 64-bit hash
MMUs to this new model, but the existing code is left in place for
other MMU types for now.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 629bd516fda67c95ba1c7d1393bacb9e68ea0712
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:11 2013 +0000
target-ppc: Disentangle get_physical_address() paths
Depending on the MSR state, for 64-bit hash MMUs, get_physical_address
can either call check_physical (which has further tests for mmu type)
or get_segment64. Similarly for 32-bit hash MMUs we can either call
check_physucal or get_bat() and get_segment32().
This patch splits off the whole get_physical_addresss() path for hash
MMUs into 32-bit and 64-bit versions, handling real mode correctly for
such MMUs without going to check_physical and rechecking the mmu type.
Correspondingly, the hash MMU specific paths in check_physical() are
removed.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 44bc910794eff956ceba0030f0751a26bed748b5
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:10 2013 +0000
target-ppc: Rework get_physical_address()
Currently get_physical_address() first checks to see if translation is
enabled in the MSR, then in the translation on case switches on the mmu
type. Except that for BookE MMUs, translation is always on, and so it
has to switch in the "translation off" case as well and do the same thing
as the translation on path for those MMUs. Plus, even translation off
doesn't behave exactly the same on the various MMU types so there are
further mmu type checks in the "translation off" path.
As a first step to cleaning this up, this patch moves the switch on mmu
type to the top level, then makes the translation on/off check just for
those mmu types where it is meaningful.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0480884f1404295ba0d242791e036b05c4957bab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:09 2013 +0000
target-ppc: Disentangle get_segment()
The poorly named get_segment() function handles most of the address
translation logic for hash-based MMUs. It has many ugly conditionals on
whether the MMU is 32-bit or 64-bit.
This patch splits the function into 32 and 64-bit versions, using the
switch on mmu_type that's already in the caller
(get_physical_address()) to select the right one. Most of the
original function remains in mmu_helper.c to support the 6xx software
loaded TLB implementations (cleaning those up is a project for another
day).
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c69b6151e7f242b02f261f321c392e5ef933176f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:08 2013 +0000
target-ppc: Disentangle find_pte()
32-bit and 64-bit hash MMU implementations currently share a find_pte
function. This results in a whole bunch of ugly conditionals in the
shared
function, and not all that much actually shared code.
This patch separates out the 32-bit and 64-bit versions, putting then
in mmu-hash64.c and mmu-has32.c, and removes the conditionals from
both versions.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9d7c3f4a2935a70e7299a6862792bbfc48d62211
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:07 2013 +0000
target-ppc: Disentangle pte_check()
Currently support for both 32-bit and 64-bit hash MMUs share an
implementation of pte_check. But there are enough differences that this
means the shared function has several very ugly conditionals on "is_64b".
This patch cleans things up by separating out the 64-bit version
(putting it into mmu-hash64.c) and the 32-bit hash version (putting it
in mmu-hash32.c). Another copy remains in mmu_helper.c, which is used
for the 6xx software loaded TLB paths.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 10b4652543313ca82284193fa107151c437f9b04
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:06 2013 +0000
target-ppc: Move SLB handling into a mmu-hash64.c
As a first step to disentangling the handling for 64-bit hash MMUs from
the rest, we move the code handling the Segment Lookaside Buffer (SLB)
(which only exists on 64-bit hash MMUs) into a new mmu-hash64.c file.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8152ceaf6eea6d63f6ee65eb419fff56bb3b987b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:05 2013 +0000
target-ppc: Remove address check for logging
One LOG_MMU statement in mmu_helper.c has an odd check on the effective
address being translated. I can see no reason for this; I suspect it was
a debugging hack from long ago. This patch removes it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 213c718080f51aa4f054a79c0c5743e0e2c15f67
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:04 2013 +0000
target-ppc: Trivial cleanups in mmu_helper.c
This removes the never-used pte64_invalidate() function, and makes
ppcmas_tlb_check() static, since it's only used within that file.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9baea4a303323932ec913728173ea38a4af05f3e
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 00:31:03 2013 +0000
target-ppc: Remove vestigial PowerPC 620 support
The PowerPC 620 was the very first 64-bit PowerPC implementation, but
hardly anyone ever actually used the chips. qemu notionally supports the
620, but since we don't actually have code to implement the segment table,
the support is broken (quite likely in other ways too).
This patch, therefore, removes all remaining pieces of 620 support, to
stop it cluttering up the platforms we actually care about. This includes
removing support for the ASR register, used only on segment table based
machines.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d6478bc7e92db4669fac701d7bb8c51756b61d8a
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Mar 19 07:41:53 2013 +0000
PPC/GDB: handle read and write of fpscr
Although the support of this register may be uncomplete, there are no
reason to prevent the debugger from reading or writing it.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b5651605836fd29572fd4c8769af5378d351712
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:28 2013 +0000
pseries: Move XICS initialization before cpu initialization
Currently, the pseries machine initializes the cpus, then the XICS
interrupt controller. However, to support the upcoming in-kernel XICS
implementation we will need to initialize the irq controller before the
vcpus. This patch makes the necesssary rearrangement. This means the
xics init code can no longer auto-detect the number of cpus ("interrupt
servers" in XICS terminology) and so we must pass that in explicitly from
the platform code.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c6304a4a6822f0e3e45c94b89d4e328057355683
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:27 2013 +0000
target-ppc: Remove CONFIG_PSERIES dependency in kvm.c
target-ppc/kvm.c has an #ifdef on CONFIG_PSERIES, for the handling of
KVM exits due to a PAPR hypercall from the guest. However, since commit
e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 "ppc: express FDT dependency of
pSeries and e500 boards via default-configs/", this hasn't worked
properly.
That patch altered the configuration setup so that although CONFIG_PSERIES
is visible from the Makefiles, it is not visible from C files. This broke
the pseries machine when KVM is in use.
This patch makes a quick and dirty fix, by removing the CONFIG_PSERIES
dependency, replacing it with TARGET_PPC64 (since removing it entirely
leads to type mismatch errors). Technically this breaks the build when
configured with --disable-fdt, since that disables CONFIG_PSERIES on
TARGET_PPC64. However, it turns out the build was already broken in that
case, so this fixes pseries kvm without breaking anything extra. I'm
looking into how to fix that build breakage, but I don't think that need
delay applying this patch.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 89dfd6e1b3c0b31ef700203808be2a9a71947d1d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 13 15:53:25 2013 +0000
pseries: Remove "busname" property for PCI host bridge
Currently the "spapr-pci-host-bridge" device has a "busname" property
which
can be used to override the default assignment of qbus names for the bus
subordinate to the PHB. We use that for the default primary PCI bus, to
make libvirt happy, which expects there to be a bus named simply "pci".
The default qdev core logic would name the bus "pci.0", and the pseries
code would otherwise name it "pci@800000020000000" which is the name it
is given in the device tree based on its BUID.
The "busname" property is rather clunky though, so this patch simplifies
things by just using a special case hack for the default PHB, setting
busname to "pci" when index=0.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a4e044c30e0044947fd0d69b1888d916f96bba6b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Mar 14 17:59:29 2013 +0000
pseries: Fix breakage in CPU QOM conversion
Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad "cpu: Move halted and
interrupt_request fields to CPUState" broke the pseries machine. That's
because it uses CPU() instead of ENV_GET_CPU() to convert from the global
first_cpu pointer (still a CPUArchState) to a CPUState. This patch fixes
the breakage.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8b4a89884196aaa9115fee900396498b78245c91
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 19 12:25:43 2013 +0100
serial: Fix debug format strings
This fixes the build of hw/serial.c with DEBUG_SERIAL enabled.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 085d813407453e498e05c37d988efba8c6f5af0a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 18 17:20:07 2013 +0000
Fix typos and misspellings
Fix various typos and misspellings. The bulk of these were found with
codespell.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a7b66fa7aefb8dce564f0fa665de7965d3007148
Author: Doug Goldstein <cardoe@xxxxxxxxxx>
Date: Sun Mar 17 15:43:26 2013 -0500
Advertise --libdir in configure --help output
The configure script allows you to supply a libdir via --libdir but was
not advertising this in --help.
Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
CC: qemu-trivial@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c7cfd65b326fcff9cb0bf53c643768a5f1e6b7a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Fri Mar 15 14:32:01 2013 +0800
memory: fix a bug of detection of memory region collision
The collision reports before and after this patch are:
before:
warning: subregion collision cfc/4 (pci-conf-data) vs cf8/4 (pci-conf-idx)
warning: subregion collision 8000000/f8000000 (pci-hole) vs 0/8000000
(ram-below-4g)
warning: subregion collision 100000000/4000000000000000 (pci-hole64) vs
8000000/f8000000 (pci-hole)
warning: subregion collision 4d1/1 (kvm-elcr) vs 4d0/1 (kvm-elcr)
warning: subregion collision fec00000/1000 (kvm-ioapic) vs
8000000/f8000000 (pci-hole)
warning: subregion collision 80/1 (ioport80) vs 7e/2 (kvmvapic)
warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000
(pci-hole)
warning: subregion collision 81/3 (dma-page) vs 80/1 (ioport80)
warning: subregion collision 8/8 (dma-cont) vs 0/8 (dma-chan)
warning: subregion collision d0/10 (dma-cont) vs c0/10 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont)
warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd)
warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data)
warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr)
warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit)
warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc)
warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic)
warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic)
warning: subregion collision 4/2 (acpi-cnt) vs 0/4 (acpi-evt)
warning: subregion collision 30/8 (apci-smi) vs 20/10 (apci-gpe0)
warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs
8000000/f8000000 (pci-hole)
after:
warning: subregion collision fec00000/1000 (kvm-ioapic) vs
8000000/f8000000 (pci-hole)
warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000
(pci-hole)
warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont)
warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan)
warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd)
warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data)
warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr)
warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit)
warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc)
warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic)
warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic)
warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs
8000000/f8000000 (pci-hole)
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9957fc7f1ed731e5228089ead3f350341cdd29c0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 8 19:58:32 2013 +0100
MinGW: Replace setsockopt by qemu_setsocketopt
Instead of adding missing type casts which are needed by MinGW for the
4th argument, the patch uses qemu_setsockopt which was invented for this
purpose.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe42d7fb0f4a05fb393e1efbd681f33a0154c644
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 20 08:27:50 2013 +0100
virtio-ccw, s390-virtio: Use generic virtio-blk macro.
Now that virtio-ccw and s390-virtio define all common properties
for virtio-blk, we can switch to using the generic
DEFINE_VIRTIO_BLK_PROPERTIES macro.
CC: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit da0a58b93c88d874233902f459e01300a78e5f9d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 13 15:20:07 2013 +0100
s390-virtio, virtio-ccw: Add config_wce for virtio-blk.
There's no reason why we wouldn't want to make the cache mode
configurable.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 131cd73705bc5551ae4b64476399d440e8ac55a7
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Mar 13 14:43:22 2013 +0100
virtio-ccw: Add missing blk chs properties.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit afed26082219b49443193b4ac32d113bbcf967fd
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Tue Mar 19 17:34:47 2013 +0100
microblaze: Ignore non-cpu accesses to unmapped areas
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit f7d42093a5e54d48cab62695a374806d4303bd6b
Merge: c8a6ae8... c45e5b5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 19 08:01:07 2013 -0500
Merge remote-tracking branch 'kraxel/ipxe.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/ipxe.2:
Switch to efi-enabled nic roms by default
Add efi rom binaries
Add Makefile rules to build nic rom binaries with efi support
Update ipxe submodule to latest master
Add Makefile rules to build nic rom binaries
commit c8a6ae8bb95477d5ac11d9b491b603b2d190a96e
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Mar 19 14:23:27 2013 +0800
add a boot option to do strict boot
Seabios already added a new device type to halt booting.
Qemu can add "HALT" at the end of bootindex string, then
seabios will halt booting after trying to boot from all
selected devices.
This patch added a new boot option to configure if boot
from un-selected devices.
This option only effects when boot priority is changed by
bootindex options, the old style(-boot order=..) will still
try to boot from un-selected devices.
v2: add HALT entry in get_boot_devices_list()
v3: rebase to latest qemu upstream
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1363674207-31496-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8510d91ebad522685bc1a29e7bbc1f5050af0d2c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 18 20:28:21 2013 +0000
ui/cocoa.m: Fix compile failures introduced by recent console changes
Fix various compilation failures introduced by the recent console
changes.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363638501-29603-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 277ba8a6d717abb2f36896cd9877a68d2cf03d77
Merge: 2c8a594... a8e5cc0...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 19 07:58:44 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (2) and others
# Via Kevin Wolf
* kwolf/for-anthony:
virtio-blk: Do not segfault fault if failed to initialize dataplane
qemu-iotests: add 052 BDRV_O_SNAPSHOT test
block: fix BDRV_O_SNAPSHOT protocol detection
qcow2: Fix segfault in qcow2_invalidate_cache
sheepdog: show error message for halt status
commit 2c8a59422c06fe1e37c85502d92ccdfb5e2ac987
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 19 13:38:09 2013 +0100
char: Fix return type of qemu_chr_fe_add_watch()
qemu_chr_fe_add_watch() can return negative errors, therefore it must
not have an unsigned return type. For consistency with other
qemu_chr_fe_* functions, this uses a standard C int instead of glib
types.
In situations where qemu_chr_fe_add_watch() is falsely assumed to have
succeeded, the serial ports would go into a state where it never becomes
ready for transmitting more data; this is fixed by this patch.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f628926bb423fa8a7e0b114511400ea9df38b76a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 19 10:57:56 2013 +0100
fix monitor
chardev flow control broke monitor, fix it by adding watch support.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a8e5cc0c076a6e3a62f0e9aad88b007dccf3dd17
Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Date: Tue Mar 19 16:27:29 2013 +0800
virtio-blk: Do not segfault fault if failed to initialize dataplane
$ ~/usr/bin/qemu-system-x86_64 -enable-kvm -m 1024 -drive
if=none,id=drive0,cache=none,aio=native,format=raw,file=/root/Image/centos-6.4.raw
-device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on #
make dataplane fail to initialize
qemu-system-x86_64: -device
virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on: device is
incompatible with x-data-plane, use config-wce=off
*** glibc detected *** /root/usr/bin/qemu-system-x86_64: free(): invalid
pointer: 0x00007f001fef12f8 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d776)[0x7f00153a5776]
/root/usr/bin/qemu-system-x86_64(+0x2c34ec)[0x7f001cf5b4ec]
/root/usr/bin/qemu-system-x86_64(+0x342f9a)[0x7f001cfdaf9a]
/root/usr/bin/qemu-system-x86_64(+0x33694e)[0x7f001cfce94e]
....................
(gdb) bt
#0 0x00007f3bf3a12015 in raise () from /lib64/libc.so.6
#1 0x00007f3bf3a1348b in abort () from /lib64/libc.so.6
#2 0x00007f3bf3a51a4e in __libc_message () from /lib64/libc.so.6
#3 0x00007f3bf3a57776 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007f3bfb60d4ec in free_and_trace (mem=0x7f3bfe0129f8) at
vl.c:2786
#5 0x00007f3bfb68cf9a in virtio_cleanup (vdev=0x7f3bfe0129f8) at
/root/Develop/QEMU/qemu/hw/virtio.c:900
#6 0x00007f3bfb68094e in virtio_blk_device_init (vdev=0x7f3bfe0129f8)
at /root/Develop/QEMU/qemu/hw/virtio-blk.c:666
#7 0x00007f3bfb68dadf in virtio_device_init (qdev=0x7f3bfe0129f8) at
/root/Develop/QEMU/qemu/hw/virtio.c:1092
#8 0x00007f3bfb50da46 in device_realize (dev=0x7f3bfe0129f8,
err=0x7fff479c9258) at hw/qdev.c:176
.............................
In virtio_blk_device_init(), the memory which vdev point to is a static
member of "struct VirtIOBlkPCI", not heap memory, and it does not
get freed. So we shoule use virtio_common_cleanup() to clean this
VirtIODevice
rather than virtio_cleanup(), which attempts to free the vdev.
This error was introduced by commit
05ff686536f408ba6e8426b1b54d25bd3379fda2
recently.
Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f95e26ddf526a025aa1334bbe527739397970443
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 18 17:58:54 2013 +0100
qemu-iotests: add 052 BDRV_O_SNAPSHOT test
Check that writes to an image opened with BDRV_O_SNAPSHOT do not modify
the underlying image file.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4d70655bcb852ea0a006d3923f0b0a9c69ff462e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 18 17:58:53 2013 +0100
block: fix BDRV_O_SNAPSHOT protocol detection
realpath(3) is used to get an absolute path to the image file when
creating a -drive snapshot=on temporary qcow2. This does not work for
protocols since their filenames ("proto:foo:...") do not correspond to
file system paths.
Commit 7c96d46ec245d73fd76726588409f9abe4bd5dc1 ("Let snapshot work with
protocols") skipped realpath(3) for protocols. Later on the "raw"
format was introduced and broke the check.
Use path_has_protocol(filename) to decide if this image uses a protocol
or a filename.
Reported-by: Richard Jones <rjones@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acdfb480ba7e2779bdbffb5280cf12ff6e43669c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 18 13:08:10 2013 +0100
qcow2: Fix segfault in qcow2_invalidate_cache
Need to pass an options QDict to qcow2_open() now. This fixes a segfault
on the migration target with qcow2.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fca23f0ad211e4debf80796a65165d0eea146424
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Mar 18 14:27:55 2013 +0800
sheepdog: show error message for halt status
Sheepdog (neither quorum nor unsafe mode) will refuse to serve IO
requests when
number of alive nodes is less than that of copies specified by users.
This will
return 0x19 to QEMU client which currently doesn't recognize it.
This patch adds an error description when QEMU client receives it, other
than
plainly printing 'Invalid error code'
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Mar 6 20:23:32 2013 +0100
configure: rename OpenGL feature to GLX
As the probe now actually checks for the availability of GLX, rename it
accordingly. The only user of this feature is the milkymist-tmu2 model.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit d3fcbb16789c6f975ba6e22d8a2ba477519f51bc
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Mar 6 20:16:58 2013 +0100
configure: proper OpenGL/GLX probe
Probe for GL and GLX symbols and X11 library. This fixes a build error
where the header files are available but the libraries are not.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 6635075596e0ae583de9c04ff605e16ceaa7d294
Author: Michael Walle <michael@xxxxxxxx>
Date: Sun Mar 3 23:17:48 2013 +0100
target-lm32: use HELPER() macro
Instead of hardcoding the function name, use the HELPER() macro for this.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit a5b0f6d5c0f6678c078354c432a1f0943374f087
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Feb 26 19:51:52 2013 +0100
target-lm32: flush tlb after clearing env
The tlb data is stored within the CPU env. Therefore, the initialization
has to be done after we clear the environment. Otherwise the tlb will have
a valid entry for address 0x0.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit de55c4bd8bd163ec6c10edc085193bbcf8f9e15e
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Feb 25 18:28:57 2013 +0100
target-lm32: remove dead code
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit df5eb7d2c871ccd708e0f45cdc5d79b73550731b
Author: Michael Walle <michael@xxxxxxxx>
Date: Fri Dec 14 18:14:04 2012 +0100
target-lm32: fix cmpgui and cmpgeui opcodes
For unsigned compares the immediate has to be zero extended.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 6036e9d87e73c511fef48a3c06267f92e613fca9
Author: Michael Walle <michael@xxxxxxxx>
Date: Fri Dec 14 18:13:06 2012 +0100
tests: tcg: lm32: add more test cases
Esp. for testing zero/sign extend in compare operations.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 608a03c1df217f2111765575a91c6448218369a7
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Sep 12 19:48:42 2012 +0200
target-lm32: don't log cpu state in translation
Don't dump the cpu state because it can also be enabled by the "-d cpu"
parameter.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 562f5f5d9e8415cac3ca2eb768dabf068e8e0f4a
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Jul 31 00:04:57 2012 +0200
lm32_uart: fix receive buffering
Inform qemu-char when more input data can be received.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 44ac582d80688ea049c96a20868f4333c6885404
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Jul 31 00:04:57 2012 +0200
milkymist-uart: fix receive buffering
Inform qemu-char when more input data can be received.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit ab2b9f174db088633922eaa82c2bcffd84e6bb94
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Jul 16 19:05:59 2012 +0200
lm32-dis: fix NULL pointer dereference
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit b92e062a6f53251feef0969135b539d1fb33f7d6
Author: Michael Walle <michael@xxxxxxxx>
Date: Thu Apr 5 19:52:54 2012 +0200
target-lm32: fix debug memory access
CPU models which have the LM32_FLAG_IGNORE_MSB flag set will shadow the
lower 2GB to the upper 2GB memory space. This will fix the debug memory
access used by qemu console and GDB to match this behaviour.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 2d62a95766025e6a0a333528278936e2cc8bf978
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:28 2013 +0100
virtio-blk: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-12-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1cc91b7df687289abc0ae09083ac564d01408be8
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:27 2013 +0100
virtio-blk: cleanup: QOM cast
Use QOM casts inside virtio-blk.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-11-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 05ff686536f408ba6e8426b1b54d25bd3379fda2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:26 2013 +0100
virtio-blk: cleanup: init and exit functions.
As all virtio-blk-* are switched to the new API, we can remove the
separate
init/exit for the old API.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-10-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3400c455048a8db26db1b537ea32fa21335ea301
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:25 2013 +0100
virtio-blk-ccw switch to new API.
Here the virtio-ccw-s390 is modified for the new API. The device
virtio-ccw-s390 extends virtio-ccw-device as before. It creates and
connects a virtio-ccw during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-9-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 55d11e01cca9b83b8cdccbd29d4f078cbe4a185c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:24 2013 +0100
virtio-blk-s390: switch to the new API.
Here the virtio-blk-s390 is modified for the new API. The device
virtio-blk-s390 extends virtio-s390-device as before. It creates and
connects a virtio-blk during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-8-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 653ced071b061bbd9cc7d03374be93dcefb37910
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:23 2013 +0100
virtio-blk-pci: switch to new API.
Here the virtio-blk-pci is modified for the new API. The device
virtio-blk-pci extends virtio-pci. It creates and connects a virtio-blk
during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-7-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c028ddfb0c5004c8ec86c96ae09068026e77a38
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:22 2013 +0100
virtio-blk: add the virtio-blk device.
Create virtio-blk which extends virtio-device, so it can be connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-6-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da3dcefa648f92bfef2f99351fb6ec6a86da4695
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:21 2013 +0100
virtio-blk: don't use pointer for configuration.
The configuration field must not be a pointer as it will be used for
virtio-blk
properties. So *blk is replaced by blk in VirtIOBlock structure.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1363624648-16906-5-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10479a80893fb2666026ce0fea2251be3070b6e2
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:20 2013 +0100
virtio-pci: fix hot unplug.
Hot unplug failed because it tried to free the virtio device two times.
This fix the issue by removing the call to virtio_bus_destroy_device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1363624648-16906-4-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cbd19063e75c64ac5e4029f76198c7ba65a63b00
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:19 2013 +0100
virtio-x-bus: fix allow_hotplug assertion.
This set allow_hotplug for each existing virtio-x-bus, allowing the
refactored devices to be hot pluggable.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Message-id: 1363624648-16906-3-git-send-email-fred.konrad@xxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f1b24e840f9f85a2bb3912e4507d887e7858219d
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Mar 18 17:37:18 2013 +0100
virtio: make virtio device's structures public.
These structures must be made public to avoid two memory allocations for
refactored virtio devices.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1363624648-16906-2-git-send-email-fred.konrad@xxxxxxxxxxxxx
Changes V4 <- V3:
* Rebased on current git.
Changes V3 <- V2:
* Style correction spotted by Andreas (virtio-scsi.h).
* Style correction for virtio-net.h.
Changes V2 <- V1:
* Move the dataplane include into the header (virtio-blk).
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e531761d63b7f8fe6b6423fafb3616ebbff768aa
Merge: b1999e8... 1562e53...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 18 07:34:24 2013 -0500
Merge remote-tracking branch 'kraxel/pixman.v8' into staging
# By Gerd Hoffmann (18) and others
# Via Blue Swirl (1) and Gerd Hoffmann (1)
* kraxel/pixman.v8: (37 commits)
console: remove ds_get_* helper functions
console: zap color_table
console: stop using DisplayState in gfx hardware emulation
console: zap displaystate from dcl callbacks
cocoa: stop using DisplayState
spice: stop using DisplayState
sdl: stop using DisplayState
vnc: stop using DisplayState
gtk: stop using DisplayState
console: add surface_*() getters
console: rework DisplaySurface handling [dcl/ui side]
console: rework DisplaySurface handling [vga emu side]
sdl: drop dead code
qxl: better vga init in enter_vga_mode
qxl: zap qxl0 global
spice: zap sdpy global
console: kill DisplayState->opaque
console: fix displaychangelisteners interface
s390: Fix cpu refactoring fallout.
target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
...
commit 1562e53112fd1082c656a06d953a7447ab17e6e1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 13:40:47 2013 +0100
console: remove ds_get_* helper functions
Switch the few remaining ds_get_* uses in console.c over to the new
surface_* accessors.
While doing so tripped over a few leftovers from commit
a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0
as indicator for textmode rendering). Fixed them up.
Finally dropped ds_get_* helper helpers.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cf6f05481affb600da22dba3c0bc2564e918e8f1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Mar 6 09:50:51 2013 +0100
console: zap color_table
qemu_create_surface hands out 32bpp surfaces.
So we can just use color_table_rgb directly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c78f71378a345ea240c288993ca1378ded5504b9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 5 15:24:14 2013 +0100
console: stop using DisplayState in gfx hardware emulation
Use QemuConsole instead. Updates interfaces in console.[ch] and adapts
gfx hardware emulation code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc2ed9704fff2c721e4056ab5281f0291718bfa6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 13:03:04 2013 +0100
console: zap displaystate from dcl callbacks
Now that nobody depends on DisplayState in DisplayChangeListener
callbacks any more we can remove the parameter from all callbacks.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5e00d3ac475fb4c9afa17612a908e933fe142f00
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 12:52:06 2013 +0100
cocoa: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71874c1751ebb7368eaa023a35ac919d2c1c5e4c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 16:42:28 2013 +0100
spice: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8db9bae94eadcb7d5d07af1ba0c642aafafc5498
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 1 09:01:13 2013 +0100
sdl: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d39fa6d86d07646e3481e5c3e45a984bff590642
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 17:16:48 2013 +0100
vnc: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9d9801cf803cdceaa4845fe27150b24d5ab083e6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 16:10:02 2013 +0100
gtk: stop using DisplayState
Rework DisplayStateListener callbacks to not use the DisplayState
any more. Factor out the window size handling to a separate function,
so the zoom callbacks can call that directly instead of abusing the
gd_switch DisplayStateListener callback for that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 626e3b34e30bc62d4f25f7aa4e23a346eba1a2c0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 15:24:14 2013 +0100
console: add surface_*() getters
Add convinence wrappers to query DisplaySurface properties.
Simliar to ds_get_*, but operating in the DisplaySurface
not the DisplayState.
With this patch in place ui frontents can stop using DisplayState
in the rendering code paths, they can simply operate using the
DisplaySurface passed in via dpy_gfx_switch callback.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c12aeb860c63ba83190f962e2f0a1c5fe18ad3a6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 15:03:04 2013 +0100
console: rework DisplaySurface handling [dcl/ui side]
Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener
callbacks with a dpy_gfx_switch callback which notifies the ui code
when the framebuffer backing storage changes.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit da229ef3b3c5709b01d62e7a6e213b31bca33d16
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 10:48:02 2013 +0100
console: rework DisplaySurface handling [vga emu side]
Decouple DisplaySurface allocation & deallocation from DisplayState.
Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface
function.
This handles the graphic hardware emulation.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 468dfd6de2df3cbaed8c5cc43f8fbde6f94f9dbc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 10:48:36 2013 +0100
sdl: drop dead code
DisplayAllocator removal (commit
187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472) made this a nop.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c099e7aa0295678859d58e9e60b7619f6ae3bac8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 11:08:50 2013 +0100
qxl: better vga init in enter_vga_mode
Ask the vga core to update the display. Will trigger dpy_gfx_resize
if needed. More complete than just calling dpy_gfx_resize.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c6c06853d99127c03778fc1bf9bc2d96a05c108e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 12:15:00 2013 +0100
qxl: zap qxl0 global
DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the qxl state and kill the
qxl0 global variable.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9c80a315b47a64043f6b91bd6f14352a455b323e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 14:47:07 2013 +0100
spice: zap sdpy global
DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the spice display state and
kill the sdpy global variable.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 21ef45d71221b4577330fe3aacfb06afad91ad46
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 11:34:31 2013 +0100
console: kill DisplayState->opaque
It's broken by design. There can be multiple DisplayChangeListener
instances, so they simply can't store state in the (single) DisplayState
struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.
With DisplayChangeListenerOps having a more sane interface now we can
simply use the DisplayChangeListener pointer to get access to our
private data instead.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7c20b4a374d0016e3fce005690fb428354a56621
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 13 14:51:41 2012 +0100
console: fix displaychangelisteners interface
Split callbacks into separate Ops struct. Pass DisplayChangeListener
pointer as first argument to all callbacks. Uninline a bunch of
display functions and move them from console.h to console.c
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 17:46:11 2013 +0100
Switch to efi-enabled nic roms by default
All PCI nics are switched to EFI-enabled roms by default. They are
composed from three images (legacy, efi ia32 & efi x86), so classic
pxe booting will continue to work.
Exception: eepro100 is not switched, it uses a single rom for all
emulated eepro100 variants, then goes patch the rom header on the
fly with the correct PCI IDs. I doubt that will work as-is with
the efi roms.
Keep old roms for 1.4+older machine types via compat properties,
needed because the efi-enabled roms are larger so the pci rom bar
size would change.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8a24d3cb9be9bca2b77a4e9eb1a62ed735af712e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 4 10:19:29 2013 +0100
Add efi rom binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2f3f430d7cca3f67ef9b539dbc008d71eb6a3bd0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 16:45:58 2013 +0100
Add Makefile rules to build nic rom binaries with efi support
"make -C roms efirom" will build rom binaries with EFI support.
They are composed from three images: legacy bios, efi ia32
and efi x64. So netbooting via SeaBIOS will continue to work
like it does today, and additionally we get network support
for EFI. This target needs the EfiRom utility (shipped with
edk2) somewhere in the $PATH.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3d8dab3298c64267411fb470e3d1e18871a359b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 09:14:12 2013 +0100
Update ipxe submodule to latest master
Needed for efi support.
ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms
because that would make some pxe roms larger than 64k, which in
turn would be a guest-visible change because the rom bar size
grows from 64k to 128k.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2397edd7354ebbcebf3cd55dc3c0b1fe7621794b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 8 16:35:08 2013 +0100
Add Makefile rules to build nic rom binaries
"make -C roms pxerom" will build the ipxe roms and update
the binaries in pc-bios/, i.e. it basically documents how
the build process of our current nic roms works.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 225dc991b03f0f034aa348f5cf499de9d0979107
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Fri Mar 15 10:57:40 2013 +0100
s390: Fix cpu refactoring fallout.
Commit 259186a7 "cpu: Move halted and interrupt_request fields to
CPUState"
seems to have missed one instance in target-s390x/kvm.c:
/home/cohuck/git/qemu/target-s390x/kvm.c: In function
â??kvm_arch_process_async_eventsâ??:
/home/cohuck/git/qemu/target-s390x/kvm.c:319: error: â??CPUS390XStateâ??
has no member named â??haltedâ??
/home/cohuck/git/qemu/target-s390x/kvm.c:320: warning: control reaches
end of non-void function
make[1]: *** [target-s390x/kvm.o] Error 1
Let's just switch to cs->halted.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7fb7377594887db99a2100adcddf3bd6394ef540
Merge: 8b758d0... f8b9fe2...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Mar 17 17:44:47 2013 +0000
Merge branch 'arm-devs.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
xilinx_spips: QOM styling fixes
xilinx_spips: Add missing dual-bus snoop commands
xilinx_spips: Fix bus setup conditional check
xilinx_spips: Set unused IRQs to NULL
xilinx_zynq: added pl330 to machine model
pl330: Initial version
iov: Factor out hexdumper
hw/vexpress: Set reset values for daughterboard oscillators
hw/arm_sysctl: Implement SYS_CFG_OSC function
hw/vexpress: Pass voltage sensor properties to sysctl device
hw/arm_sysctl: Implement SYS_CFG_VOLT
qdev: Implement (variable length) array properties
hw/arm_sysctl: Convert from qdev init to instance_init
hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op
hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op
hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way
hw/vexpress: Pass proc_id via VEDBoardInfo
commit 0402a5d65ec004df5345d1f736e2ddaa7aee6665
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 6 14:58:59 2013 +0200
qdev: DEVICE_DELETED event
libvirt has a long-standing bug: when removing the device,
it can request removal but does not know when the
removal completes. Add an event so we can fix this in a robust way.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b758d0568a986d58c254b3c209691c82e0f82a1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Mar 15 18:56:19 2013 +0100
target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
Fix for rndrashift_short_acc to set correct value to higher 64 bits.
This change also corrects conditions when bit 23 of the DSPControl
register
is set.
The existing test files have been extended with several examples that
trigger the issues. One bug/example in the test file for EXTR_RS_W has
been
found and reported by Klaus Peichl.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f8b9fe249a706bfed61e0bb66c73394553696382
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: QOM styling fixes
Few fixes for the latest QOM styling guides.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
de9daeee6c142e8b57ad042fd680cedcdc94d2fc.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 08a9635b68757e18a6a8bf8569353b40bb6c1fd1
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: Add missing dual-bus snoop commands
Added additional commands to the switch to check for when snooping
commands in
dual bus mode setups. Cleaned up code to use an enum.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
848c116c711dab0af10729a487968384aadd9faf.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0891bd8bfd3349fc3fecde30e51900059f53f11
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Mar 15 16:41:59 2013 +0000
xilinx_spips: Fix bus setup conditional check
The R_LQPSI_CFG register has the LQSPI_CFG_SEP_BUS and LQSPI_CFG_TWO_MEM
bits.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d76c8e364c80a42352ae4f0661aff2cd17ad32a4.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2790cd911e563f7fec7eeb7856b7f5f54437cc0a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
xilinx_spips: Set unused IRQs to NULL
Unused CS lines should init to 0 to avoid segfaulting when accessing an
unattached QSPI controller.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
c1e45198032106e69e8fe9339fc2e6348d524fcd.1362373359.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7451afb67136275f2461f2d23139f2abed1f15b3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
xilinx_zynq: added pl330 to machine model
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
5bc295bd2aa50dfe573f428574dbd7d8add7b3f8.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06a1cea5f631f6ac69f85ae07bb47ef47b88f5f7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
pl330: Initial version
Device model for Primecell PL330 DMA controller.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Kirill Batuzov <batuzovk@xxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
098aac26233d7334bed2bca4f06f539638ca6d24.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6ff66f50f0999c3455c39de68fc2d2949963c796
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
iov: Factor out hexdumper
Factor out the hexdumper functionality from iov for all to use. Useful for
creating verbose debug printfery that dumps packet data.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
faaac219c55ea586d3f748befaf5a2788fd271b8.1361853677.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c7d489379c2a2923b4805d337dfd54f2f432449
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:58 2013 +0000
hw/vexpress: Set reset values for daughterboard oscillators
Set the reset values for the VExpress daughterboard oscillators
via the new sysctl properties.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f81f94bebc2f8c4b32a89910d071099a67dc44d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_OSC function
Implement the SYS_CFG_OSC function. Since the idea of
programmable clock rates doesn't make much sense for QEMU,
we simply allow the clock rate to be read back as written.
The number and value of the daughterboard oscillators varies
between daughterboards, so we provide an array property to
allow their reset values to be configured.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31410948bc1c8001098b076caf35aab8a5cf063d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/vexpress: Pass voltage sensor properties to sysctl device
Pass voltage sensor properties to the sysctl device. Since
these are daughterboard specific, we specify them via the
VEDBoardInfo structure.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1359985476-29380-9-git-send-email-peter.maydell@xxxxxxxxxx
commit 8bd4824a6122292060a318741595927e0d05ff5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_VOLT
Implement the SYS_CFG_VOLT registers which return the voltage
of various supplies on motherboard and daughterboard. Since
QEMU implements a perfectly stable power supply these registers
always return a constant value. The number and value of the
daughterboard voltages is dependent on the specific daughterboard,
so we use a property array to allow the board to configure them
appropriately.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0be6bfac6262900425c10847de513ee2490078d3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:57 2013 +0000
qdev: Implement (variable length) array properties
Add support for declaring array properties for qdev devices.
These work by defining an initial static property 'len-arrayname'
which the user of the device should set to the desired size
of the array. When this property is set, memory is allocated
for the array elements, and dynamic properties "arrayname[0]",
"arrayname[1]"... are created so the user of the device can
then set the values of the individual array elements.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f56f50ac484653fe996c37ac894418a34f92b89
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Convert from qdev init to instance_init
Convert this device from old-style qdev init to an instance_init
function. We don't need a realize function yet, though.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 291155cbc54212a451d0b899a01b6e3e14ed9135
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op
SYS_CFG_DVIMODE allows the guest to select whether the
output DVI signal is VGA, SVGA, XGA, SGA or UXGA. Since
this makes no difference to QEMU, implement writes as a
no-op so Linux doesn't complain.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8ff05c9842e28888b936dbd960f6416cee5addb6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op
SYS_CFG_MUXFPGA allows the guest to select whether the
video output should come from the motherboard's LCD
controller or the daughterboard's one. Since QEMU doesn't
currently support selecting the video output like this,
implement as a no-op, so Linux doesn't complain about
the register not being implemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71538323358d77f6472d66a30e948a1c23bd9e87
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way
The SYS_CFGCTRL register consists of separate fields
for DCC, function, site, position and device, as well
as a read/write bit. Refactor the code handling SYS_CFGCTRL
writes to make it easier to add support for functions
like SYS_CFG_OSC which support multiple device fields.
We also pull the handling out into its own function for
clarity, as there are potentially a lot of implementable
subfunctions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cdef10bb9373c2c22c517a4deef2363c7ebd5d48
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 15 16:41:56 2013 +0000
hw/vexpress: Pass proc_id via VEDBoardInfo
Pass the daughterboard-specific proc_id property to the code that
creates the sysctl device via the VEDBoardInfo struct, rather than
by having the daughterboard init function write to a uint32_t*
argument. This is a cleaner way to pass the info around, and
is in line with the way we are going to handle voltage and
oscillator initialization.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b1999e87b4d42305419329cae459e1b43f706d96
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 12 13:57:28 2013 +1100
Fix TAGS creation
Currently the Makefile creates TAGS for emacs with the command:
find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags
That works only if xargs ends up invoking etags just once. If xargs runs
etags several times, as it will if there are enough files, then the later
invocations will overwrite the output from the earlier invocations. This
patch uses the etags --append option to fix the bug.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Message-id: 1363057048-21534-1-git-send-email-david@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc0b0616f726956001be09e9a65a6e0b0bd939db
Merge: d4d7682... 3618a09...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 15 10:47:21 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (14) and others
# Via Stefan Hajnoczi
* stefanha/block: (28 commits)
blockdev: Fix up copyright and permission notice
qemu-iotests: use -nographic in test case 007
qemu-iotests: add tests for rebasing zero clusters
dataplane: fix hang introduced by AioContext transition
coroutine: use AioContext for CoQueue BH
threadpool: drop global thread pool
block: add bdrv_get_aio_context()
aio: add a ThreadPool instance to AioContext
threadpool: add thread_pool_new() and thread_pool_free()
threadpool: move globals into struct ThreadPool
main-loop: add qemu_get_aio_context()
sheepdog: set io_flush handler in do_co_req
sheepdog: use non-blocking fd in coroutine context
qcow2: make is_allocated return true for zero clusters
qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount()
qcow2: drop flush in update_cluster_refcount()
qcow2: flush in qcow2_update_snapshot_refcount()
qcow2: set L2 cache dependency in qcow2_alloc_bytes()
qcow2: flush refcount cache correctly in qcow2_write_snapshots()
qcow2: flush refcount cache correctly in alloc_refcount_block()
...
commit d4d7682484f339d70355b165a15f8f5e83638e40
Merge: 4f30649... 2362ecc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Mar 15 10:47:00 2013 -0500
Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging
# By Christian Borntraeger (1) and Cornelia Huck (1)
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
virtio-ccw: Wire up virtio-rng.
virtio-ccw: remove qdev_unparent in unplug routing
commit 3618a094022e984d4e045c6db21aed961b7c6fc9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 14 13:59:53 2013 +0100
blockdev: Fix up copyright and permission notice
Screwed up in commit 666daa68. Thanks to Kevin Wolf for reminding me
to fix this.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 804dd41792c8bdc0c8b34c8e580882ff8ef736d8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 14 17:06:55 2013 +0100
qemu-iotests: use -nographic in test case 007
A comment explains that -nographic hangs test case 007. This is no
longer the case so add -nographic. This makes the test suite faster and
more pleasant to run since no windows pop up.
I am not sure exactly when -nographic starting working for this case but
there is no fundamental reason why graphics are needed here. Make sure
the serial port is not on stdio, it would conflict with the monitor.
Also remove unnecessary trailing whitespace on these lines.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acbf30ec601b1f817febc4500025b7c4181312c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 13 15:58:13 2013 +0100
qemu-iotests: add tests for rebasing zero clusters
If zero clusters are erroneously treated as unallocated, "qemu-img rebase"
will copy the backing file's contents onto the cluster.
The bug existed also in image streaming, but since the root cause was in
qcow2's is_allocated implementation it is enough to test it with qemu-img.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 485e3ce88e8af0e5311dd626f399b3a1e0846dd6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 13 15:14:15 2013 +0100
dataplane: fix hang introduced by AioContext transition
The bug is that the EventNotifiers do have a NULL io_flush callback.
Because _none_ of the callbacks on the dataplane AioContext have such a
callback, aio_poll will simply do nothing. Fixed by adding the callbacks:
the ioeventfd will always be polled (this can change in the future to
pause/resume the processing during live snapshots or similar operations);
the ioqueue will be polled if there are outstanding requests.
I must admit I have screwed up my testing somehow, because commit
2c20e71 does not work even if cherry-picked on top of 1.4.0, and this
patch fixes it there as well.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 28f082469650a0f4c0e37b4ccd6f9514b1a0698d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:50 2013 +0100
coroutine: use AioContext for CoQueue BH
CoQueue uses a BH to awake coroutines that were made ready to run again
using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH
currently runs in the iothread AioContext and would break coroutines
that run in a different AioContext.
This is a slightly tricky problem because the lifetime of the BH exceeds
that of the CoQueue. This means coroutines can be awoken after CoQueue
itself has been freed. Also, there is no qemu_co_queue_destroy()
function which we could use to handle freeing resources.
Introducing qemu_co_queue_destroy() has a ripple effect of requiring us
to also add qemu_co_mutex_destroy() and qemu_co_rwlock_destroy(), as
well as updating all callers. Avoid doing that.
We also cannot switch from BH to GIdle function because aio_poll() does
not dispatch GIdle functions. (GIdle functions make memory management
slightly easier because they free themselves.)
Finally, I don't want to move unlock_queue and unlock_bh into
AioContext. That would break encapsulation - AioContext isn't supposed
to know about CoQueue.
This patch implements a different solution: each qemu_co_queue_next() or
qemu_co_queue_restart_all() call creates a new BH and list of coroutines
to wake up. Callers tend to invoke qemu_co_queue_next() and
qemu_co_queue_restart_all() occasionally after blocking I/O, so creating
a new BH for each call shouldn't be massively inefficient.
Note that this patch does not add an interface for specifying the
AioContext. That is left to future patches which will convert CoQueue,
CoMutex, and CoRwlock to expose AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c4d9d19645a484298a67e9021060bc7c2b081d0f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:49 2013 +0100
threadpool: drop global thread pool
Now that each AioContext has a ThreadPool and the main loop AioContext
can be fetched with bdrv_get_aio_context(), we can eliminate the concept
of a global thread pool from thread-pool.c.
The submit functions must take a ThreadPool* argument.
block/raw-posix.c and block/raw-win32.c use
aio_get_thread_pool(bdrv_get_aio_context(bs)) to fetch the main loop's
ThreadPool.
tests/test-thread-pool.c must be updated to reflect the new
thread_pool_submit() function prototypes.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 85d126f3ee666702ac514c66606c62d276c4341c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:48 2013 +0100
block: add bdrv_get_aio_context()
For now bdrv_get_aio_context() is just a stub that calls
qemu_aio_get_context() since the block layer is currently tied to the
main loop AioContext.
Add the stub now so that the block layer can begin accessing its
AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9b34277d23a6fb15eb9513006c96d8026beeea1f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:47 2013 +0100
aio: add a ThreadPool instance to AioContext
This patch adds a ThreadPool to AioContext. It's possible that some
AioContext instances will never use the ThreadPool, so defer creation
until aio_get_thread_pool().
The reason why AioContext should have the ThreadPool is because the
ThreadPool is bound to a AioContext instance where the work item's
callback function is invoked. It doesn't make sense to keep the
ThreadPool pointer anywhere other than AioContext. For example,
block/raw-posix.c can get its AioContext's ThreadPool and submit work.
Special note about headers: I used struct ThreadPool in aio.h because
there is a circular dependency if aio.h includes thread-pool.h.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f7311ccc630d925e7351e9440b7ad8bc6f0a51de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:46 2013 +0100
threadpool: add thread_pool_new() and thread_pool_free()
ThreadPool is tied to an AioContext through its event notifier, which
dictates in which AioContext the work item's callback function will be
invoked.
In order to support multiple AioContexts we need to support multiple
ThreadPool instances.
This patch adds the new/free functions. The free function deserves
special attention because it quiesces remaining worker threads. This
requires a new condition variable and a "stopping" flag to let workers
know they should terminate once idle.
We never needed to do this before since the global threadpool was not
explicitly destroyed until process termination.
Also stash the AioContext pointer in ThreadPool so that we can call
aio_set_event_notifier() in thread_pool_free(). We didn't need to hold
onto AioContext previously since there was no free function.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b811203cf2fbf83e26f8e8feb2c77784259a4cbd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:45 2013 +0100
threadpool: move globals into struct ThreadPool
Move global variables into a struct so multiple thread pools can be
supported in the future.
This patch does not change thread-pool.h interfaces. There is still a
global thread pool and it is not yet possible to create/destroy
individual thread pools. Moving the variables into a struct first makes
later patches easier to review.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5f3aa1ff4781f39e05b9892d58319a09fedc8918
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 7 13:41:44 2013 +0100
main-loop: add qemu_get_aio_context()
It is very useful to get the main loop AioContext, which is a static
variable in main-loop.c.
I'm not sure whether qemu_get_aio_context() will be necessary in the
future once devices focus on using their own AioContext instead of the
main loop AioContext, but for now it allows us to refactor code to
support multiple AioContext while actually passing the main loop
AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ed9ba7246758e3250849bfa0a055b4eb98fc5152
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Mar 12 16:05:43 2013 +0900
sheepdog: set io_flush handler in do_co_req
If an io_flush handler is not set, qemu_aio_wait doesn't invoke
callbacks.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0d6db300cd95339cec6b8ab2ef46bd7cdb040959
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Mar 12 16:05:42 2013 +0900
sheepdog: use non-blocking fd in coroutine context
Using a blocking socket in the coroutine context reduces the chance of
switching to other work. This patch makes the sheepdog driver use a
non-blocking fd always.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 381b487d54ba18c73df9db8452028a330058c505
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Mar 6 18:02:01 2013 +0100
qcow2: make is_allocated return true for zero clusters
Otherwise, live migration of the top layer will miss zero clusters and
let the backing file show through. This also matches what is done in qed.
QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this
directly in qcow2_get_cluster_offset instead of replicating the test
everywhere.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3647917919dfce5f731755f0ac5955a64bc12570
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:35 2013 +0100
qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount()
We already flush when the function completes. There is no need to flush
after every compressed cluster.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9cb2860bd12e223036b61a1f5d1444e57b7efce
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:34 2013 +0100
qcow2: drop flush in update_cluster_refcount()
The update_cluster_refcount() function increments/decrements a cluster's
refcount and then returns the new refcount value.
There is no need to flush since both update_cluster_refcount() callers
already take care of this:
1. qcow2_alloc_bytes() calls update_cluster_refcount() when compressed
sectors will be appended to an existing cluster with enough free
space. qcow2_alloc_bytes() already flushes so there is no need to do
so in update_cluster_refcount().
2. qcow2_update_snapshot_refcount() sets a cache dependency on refcounts
if it needs to update L2 entries. It also flushes before completing.
Removing this flush significantly speeds up qcow2 snapshot creation:
$ qemu-img create -f qcow2 test.qcow2 -o size=50G,preallocation=metadata
$ time qemu-img snapshot -c new test.qcow2
Time drops from more than 3 minutes to under 1 second.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2154f24e4e3be4435f17fa4382032f95f19e2972
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:33 2013 +0100
qcow2: flush in qcow2_update_snapshot_refcount()
Users of qcow2_update_snapshot_refcount() do not flush consistently.
qcow2_snapshot_create() flushes but qcow2_snapshot_goto() and
qcow2_snapshot_delete() do not.
Solve this by moving the bdrv_flush() into
qcow2_update_snapshot_refcount().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c1f5bafd70a8d9366570a3de472ef108415cd631
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:32 2013 +0100
qcow2: set L2 cache dependency in qcow2_alloc_bytes()
Compressed writes use qcow2_alloc_bytes() to allocate space with byte
granularity. The affected clusters' refcounts will be incremented but
we do not need to flush yet.
Set a L2 cache dependency on the refcount block cache, so that the
refcounts get written out before the L2 updates.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6977f15561973d4a67b6aa46da88aa678c505dd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:31 2013 +0100
qcow2: flush refcount cache correctly in qcow2_write_snapshots()
Since qcow2 metadata is cached we need to flush the caches, not just the
underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file).
Also add the error return path when bdrv_flush() fails and move the
flush after checking for qcow2_alloc_clusters() failure so that the
qcow2_alloc_clusters() error return value takes precedence.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9991923b262dc35f6dd8393ab4853edd7fc3724f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 4 15:02:30 2013 +0100
qcow2: flush refcount cache correctly in alloc_refcount_block()
update_refcount() affects the refcount cache, it does not write to disk.
Therefore bdrv_flush(bs->file) does nothing. We need to flush the
refcount cache in order to write out the refcount updates!
While we're here also add error returns when qcow2_cache_flush() fails.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 74c4510a3cf7c369ee524c6f8fa8a87cf08ba608
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:08 2013 +0100
qcow2: Allow lazy refcounts to be enabled on the command line
qcow2 images now accept a boolean lazy_refcounts options. Use it like
this:
-drive file=test.qcow2,lazy_refcounts=on
If the option is specified on the command line, it overrides the default
specified by the qcow2 header flags that were set when creating the
image.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0006383e1549b6f9b264575d124c553efca19d62
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:07 2013 +0100
block: Support driver specific options in drive_init()
Any non-default -drive options are now passed down to the block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb44619b06c0bef20b658ff532cf850c16362ae7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:06 2013 +0100
blockdev: Keep a copy of DriveInfo.serial
Pointing to a QemuOpts element is surprising and can lead to subtle
use-after-free errors when the QemuOpts is freed after all options are
parsed.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 376609cc6c03c2ffc8c323d804d27f95346cac08
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:05 2013 +0100
qemu-option: Add qemu_opts_absorb_qdict()
This adds a function that adds all entries of a QDict to a QemuOpts if
the keys are known, and leaves only the rest in the QDict.
This way a single QDict of -drive options can be processed in multiple
places (generic block layer, block driver, backing file block driver,
etc.), where each part picks the options it knows. If at the end of the
process the QDict isn't empty, the user specified an invalid option.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6ad491a4921557efc8815fe0ca5f11c6d8d587e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:04 2013 +0100
block: Add options QDict to bdrv_open_common()
The options are passed down to the block drivers, which are supposed to
remove all options they have processed. Anything that is left over in
the end is an unknown option and results in an error.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b382bc9a1504c7f7c112881695d08293b906b88f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:03 2013 +0100
Add qdict_clone_shallow()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit de9c0cec6c823071b903ebeebf1ee70b394ff46f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:02 2013 +0100
block: Add options QDict to bdrv_open() prototype
It doesn't do anything yet except storing the options QDict in the
BlockDriverState.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a86938f04b1abfd28e053b8c6f4b8ed9e4ffe08
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 15 10:35:01 2013 +0100
block: Add options QDict to .bdrv_open()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f306496183d81aed4b43762cf3bfd6e054de767
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Mar 15 15:04:39 2013 +1000
qga/main.c: Don't use g_key_file_get/set_int64
These functions don't exist until glib version 2.26. QEMU is currently
only
mandating glib 2.12.
This patch replaces the functions with g_key_file_get/set_integer.
Unbreaks the build on Ubuntu 10.04 and RHEL 5.6.
Regression was introduced by 39097daf15c42243742667607d2cad2c9dc4f764
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1363323879-682-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 139a4b63e3dd002de79d8c0a7c04fcc5bbeb1307
Merge: 3d34a41... 344bf1e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:54:37 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.5' into staging
* kraxel/chardev.5:
spice-qemu-char: Remove dead debugging code
spice-qemu-char: Fix name parameter issues after qapi-ifying
qemu-char.c: fix waiting for telnet connection message
Revert "hmp: Disable chardev-add and chardev-remove"
chardev: add udp support to qapi
chardev: add memory (ringbuf) support to qapi
chardev: add vc support to qapi
chardev: add spice support to qapi
chardev: add pipe support to qapi
chardev: add console support to qapi
chardev: switch pty init to qapi
chardev: switch parallel init to qapi
chardev: switch serial/tty init to qapi
chardev: add stdio support to qapi
chardev: switch file init to qapi
chardev: add braille support to qapi
chardev: add msmouse support to qapi
chardev: switch null init to qapi
chardev: add mux chardev support to qapi
chardev: add support for qapi-based chardev initialization
Conflicts:
ui/console.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3d34a4110c58bba120bc3d7c96c4b9571994c2a8
Merge: 0ec4a8e... 0ad6773...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:58 2013 -0500
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber (16) and Igor Mammedov (1)
# Via Andreas Färber
* afaerber/qom-cpu:
target-lm32: Update VMStateDescription to LM32CPU
target-arm: Override do_interrupt for ARMv7-M profile
cpu: Replace do_interrupt() by CPUClass::do_interrupt method
cpu: Pass CPUState to cpu_interrupt()
exec: Pass CPUState to cpu_reset_interrupt()
cpu: Move halted and interrupt_request fields to CPUState
target-cris/helper.c: Update Coding Style
target-i386: Update VMStateDescription to X86CPU
cpu: Introduce cpu_class_set_vmsd()
cpu: Register VMStateDescription through CPUState
stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY
vmstate: Make vmstate_register() static inline
target-sh4: Move PVR/PRR/CVR into SuperHCPUClass
target-sh4: Introduce SuperHCPU subclasses
cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()
monitor: Use qemu_get_cpu() in monitor_set_cpu()
cpu: Fix qemu_get_cpu() to return NULL if CPU not found
commit 0ec4a8e63ce5244cdb2aa8ef93427898e3f6631b
Merge: 6582d3e... cbb65fc...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:30 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-3-11-2013' into staging
# By Laszlo Ersek (3) and others
# Via Michael Roth
* mdroth/qga-pull-3-11-2013:
qga: implement qmp_guest_set_vcpus() for Linux with sysfs
qga: implement qmp_guest_get_vcpus() for Linux with sysfs
qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
qga: add guest-set-time command
qga: add guest-get-time command
qemu-ga: use key-value store to avoid recycling fd handles after restart
qemu-ga: make guest-sync-delimited available during fsfreeze
qemu-ga: fix confusing GAChannelMethod comparison
qga: cast to int for DWORD type
commit 6582d3e8be98cf8171489793e094aee94a1276ce
Merge: c69b30e... e9a970a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 14 14:50:21 2013 -0500
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Peter Maydell (5) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user/syscall.c: Don't warn about unimplemented get_robust_list
linux-user: Implement accept4
linux-user: Implement sendfile and sendfile64
linux-user: make bogus negative iovec lengths fail EINVAL
linux-user: Fix layout of usage table to account for option text
linux-user: Add more sparc syscall numbers
linux-user: Support setgroups syscall with no groups
linux-user: fix futex strace of FUTEX_CLOCK_REALTIME
linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex
linux-user: improve print_fcntl()
linux-user: Add Alpha socket constants
commit 344bf1e935163d8a4c3cce3ec4c636e1ebd035ce
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 13 14:59:44 2013 +0100
spice-qemu-char: Remove dead debugging code
Since commit d62e5f7036a018b2ad09f17ebd481bd28953d783
"chardev: add spice support to qapi"
It is impossible to set the debug parameter, so all the dprintf calls
are essentially nops. Since we've not needed the debug parameter in ages
this
is not a problem, if it later turns out we do need some more debugging
options
we can add more trace-points.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5e9b473a3d7fbb915df4b3f5487e5056762087f8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Mar 13 10:41:31 2013 +0100
spice-qemu-char: Fix name parameter issues after qapi-ifying
The strings passed in through the qapi calls are dynamic memory, since
we want to have them stick around longer then just the call to
qemu_chr_open_spice_* we need to strdup them.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c69b30e8301a49cd198d54bb740a0c9adcd2a34a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Mar 13 12:21:04 2013 -0500
gtk: fix vc initialization
commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:32 2013 +0530
qemu-char: move text console init to console.c
Broke vc initialization for GTK. It's a simple typo.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e5545854dd1e2e3507b210ac0c1cbfca69ff0fcb
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Date: Sun Mar 10 17:58:05 2013 +0400
qemu-char.c: fix waiting for telnet connection message
Current colon position in "waiting for telnet connection" message template
produces messages like:
QEMU waiting for connection on: telnet::127.0.0.16666,server
After moving a colon to the right, we will get a correct messages like:
QEMU waiting for connection on: telnet:127.0.0.1:6666,server
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 46920825402d38a4111cca8099d1261f8f80c03c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 08:46:10 2013 +0100
Revert "hmp: Disable chardev-add and chardev-remove"
This reverts commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7.
commit 3ecc059dcd06a79495d1bf171ef7f193eff79e98
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 27 14:10:47 2013 +0100
chardev: add udp support to qapi
This patch adds 'udp' support to qapi.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1da48c658a26d0c1444d05d8d3a545d311e01026
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Feb 26 16:21:11 2013 +0100
chardev: add memory (ringbuf) support to qapi
This patch adds 'memory' support to qapi and also switches over
the memory chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 702ec69cc1aa87a1e53d1b066a38a9eb0fa7845b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 15:52:32 2013 +0100
chardev: add vc support to qapi
This patch adds 'vc' support to qapi and also switches over the
vc chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd153e2aa2f0ec39c04c2b732ebebfc6d4766986
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 12:39:06 2013 +0100
chardev: add spice support to qapi
This patch adds 'spicevmc' and 'spiceport' support to qapi and also
switches over the spice chardev initialization to the new qapi code
path.
commit 548cbb36f415d6086f5252309ab5aa7634497ab5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 11:50:55 2013 +0100
chardev: add pipe support to qapi
This patch adds 'pipe' support to qapi and also switches over the
pipe chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d9ac374f0def9a65340c1768c08e3271f4d7798d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 11:48:06 2013 +0100
chardev: add console support to qapi
This patch adds 'console' support to qapi and also switches over the
console chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e68c5958668596a5023e30ddf8368410878f7682
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 10:16:46 2013 +0100
chardev: switch pty init to qapi
This patch switches over the pty chardev initialization
to the new qapi code path.
Bonus: Taking QemuOpts out of the loop allows some nice
cleanups along the way.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dc3750976914b0900446e6a5434919a0fa2ba028
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 16:17:01 2013 +0100
chardev: switch parallel init to qapi
This patch switches over the parallel chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0f1cb51da7112fa62c6cde62f546714a2c672f54
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 15:48:05 2013 +0100
chardev: switch serial/tty init to qapi
This patch switches over the serial chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7c358031eac9a41c215900020acf8600d33138aa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:34:58 2013 +0100
chardev: add stdio support to qapi
This patch adds 'stdio' support to qapi and also switches over the
stdio chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 846e2e49388aa42e030af3d5dd60a6009b80a369
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:07:14 2013 +0100
chardev: switch file init to qapi
This patch switches over the 'file' chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2d57286da6e57aacf3b2d0d3354d543ed100a485
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 12:56:10 2013 +0100
chardev: add braille support to qapi
This patch adds 'braille' support to qapi and also switches over
the braille chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f5a51cab2afd1124f0988081207d506fbec629b4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:58:44 2013 +0100
chardev: add msmouse support to qapi
This patch adds 'msmouse' support to qapi and also switches over
the msmouse chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 80dca9e643d11b54f1b9bafbaefeadfb1099e023
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:41:26 2013 +0100
chardev: switch null init to qapi
This patch switches over the 'null' chardev initialization
to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit edb2fb3cc8b85ab956f366fc036ac12853984dae
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 16:16:42 2013 +0100
chardev: add mux chardev support to qapi
This adds mux chardev support to the qapi and also makes the qapi-based
chardev creation path handle the "mux=on" option correctly.
commit 2c5f488293c7d0cd095635c74157c2526e2c4947
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 21 11:39:12 2013 +0100
chardev: add support for qapi-based chardev initialization
This patch add support for a new way to initialize chardev devices.
Instead of calling a initialization function with a QemuOpts we will
now create a (qapi) ChardevBackend, optionally call a function to
fill ChardevBackend from QemuOpts, then go create the chardev using
the new qapi code path which is also used by chardev-add.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8ca761f661a7cc972bc6bcf938feca6c538100f0
Author: Peter Feiner <peter@xxxxxxxxxxxxxx>
Date: Mon Mar 4 13:54:25 2013 -0500
exec: make -mem-path filenames deterministic
Adds ramblocks' names to their backing files when using -mem-path. Eases
introspection and debugging.
Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx>
Message-id: 1362423265-15855-1-git-send-email-peter@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4524051c32190c1dc13ec2ccd122fd120dbed736
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 8 11:42:24 2013 +0100
Add search path support for qemu data files.
This patch allows to specify multiple directories where qemu should look
for data files. To implement that the behavior of the -L switch is
slightly different now: Instead of replacing the data directory the
path specified will be appended to the data directory list. So when
specifiying -L multiple times all directories specified will be checked,
in the order they are specified on the command line, instead of just the
last one.
Additionally the default paths are always appended to the directory
data list. This allows to specify a incomplete directory (such as the
seabios out/ directory) via -L. Anything not found there will be loaded
from the default paths, so you don't have to create a symlink farm for
all the rom blobs.
For trouble-shooting a tracepoint has been added, logging which blob
has been loaded from which location.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1362739344-8068-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1272ec881440bf579c9d3c9cd0745b2551ce6a7f
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:55 2013 -0500
Build TPM passthrough for i386 and x86_64 targets
Build the TPM passthrough driver only for i386 and x86_64 targets
using the default-configs files for those targets with softmmu.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-8-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 92dcc234ec1f266fb5d59bed77d66320c2c75965
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:54 2013 -0500
Add support for cancelling of a TPM command
This patch adds support for cancelling an executing TPM command.
In Linux for example a user can cancel a command through the TPM's
sysfs 'cancel' entry using
echo "1" > /sysfs/class/misc/tpm0/device/cancel
This patch propagates the cancellation of a command inside a VM
to the host TPM's sysfs entry.
It also uses the possibility to cancel the command before QEMU VM
shutdown or reboot, which helps in preventing QEMU from hanging while
waiting for the completion of the command.
To relieve higher layers or users from having to determine the TPM's
cancel sysfs entry, the driver searches for the entry in well known
locations.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-7-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4549a8b7ee3c47155c09582f31086f7d0ba61fc4
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:53 2013 -0500
Add a TPM Passthrough backend driver implementation
This patch is based of off version 9 of Stefan Berger's patch series
"QEMU Trusted Platform Module (TPM) integration"
and adds a new backend driver for it.
This patch adds a passthrough backend driver for passing commands sent to
the
emulated TPM device directly to a TPM device opened on the host machine.
Thus it is possible to use a hardware TPM device in a system running on
QEMU,
providing the ability to access a TPM in a special state (e.g. after a
Trusted
Boot).
This functionality is being used in the acTvSM Trusted Virtualization
Platform
which is available on [1].
Usage example:
qemu-system-x86_64 -tpmdev passthrough,id=tpm0,path=/dev/tpm0 \
-device tpm-tis,tpmdev=tpm0 \
-cdrom test.iso -boot d
Some notes about the host TPM:
The TPM needs to be enabled and activated. If that's not the case one
has to go through the BIOS/UEFI and enable and activate that TPM for TPM
commands to work as expected.
It may be necessary to boot the kernel using tpm_tis.force=1 in the boot
command line or 'modprobe tpm_tis force=1' in case of using it as a
module.
Regards,
Andreas Niederl, Stefan Berger
[1] http://trustedjava.sourceforge.net/
Signed-off-by: Andreas Niederl <andreas.niederl@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-6-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab214c2960e3a6d2a86b1ff53e9ba2505d173f93
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:52 2013 -0500
Build the TPM frontend code
Build the TPM frontend code that has been added so far.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-5-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8db7c4152188a13b4de6fbab158d61e5dd50e7ec
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:51 2013 -0500
Add a debug register
This patch uses the possibility to add a vendor-specific register and
adds a debug register useful for dumping the TIS's internal state. This
register is only active in a debug build (#define DEBUG_TIS).
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-4-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit edff867807fefd9b8cc2bfd0e88a957987225f55
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:50 2013 -0500
Add TPM (frontend) hardware interface (TPM TIS) to QEMU
This patch adds the main code of the TPM frontend driver, the TPM TIS
interface, to QEMU. The code is largely based on the previous
implementation
for Xen but has been significantly extended to meet the standard's
requirements, such as the support for changing of localities and all the
functionality of the available flags.
Communication with the backend (i.e., for Xen or the libtpms-based one)
is cleanly separated through an interface which the backend driver needs
to implement.
Whenever the frontend has collected a complete packet, it will submit
a task to the backend, which then starts processing the command. Once
the result has been returned, the backend invokes a callback function
(tpm_tis_receive_cb()).
Testing the proper functioning of the different flags and localities
cannot be done from user space when running in Linux for example, since
access to the address space of the TPM TIS interface is not possible. Also
the Linux driver itself does not exercise all functionality. So, for
testing there is a fairly extensive test suite as part of the SeaBIOS
patches
since from within the BIOS one can have full access to all the TPM's
registers.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-3-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1a0cf738dab24fbfd8e9225b7f3df43dcfafc06
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 27 12:47:49 2013 -0500
Support for TPM command line options
This patch adds support for TPM command line options.
The command line options supported here are
./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
-device tpm-tis,tpmdev=<id>,id=<other id>
and
./qemu-... -tpmdev help
where the latter works similar to -soundhw help and shows a list of
available TPM backends (for example 'passthrough').
Using the type parameter, the backend is chosen, i.e., 'passthrough' for
the
passthrough driver. The interpretation of the other parameters along
with determining whether enough parameters were provided is pushed into
the backend driver, which needs to implement the interface function
'create' and return a TPMDriverOpts structure if the VM can be started or
'NULL' if not enough or bad parameters were provided.
Monitor support for 'info tpm' has been added. It for example prints the
following:
(qemu) info tpm
TPM devices:
tpm0: model=tpm-tis
\ tpm0:
type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx>
Message-id: 1361987275-26289-2-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2362ecc5c6f4073f7f4c9c3f45c335aa8a2261bb
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Mon Mar 4 13:06:56 2013 +0100
virtio-ccw: Wire up virtio-rng.
Make virtio-rng devices available for s390-ccw-virtio machines.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b8a205f2ed222a5d24bf7e8346919abee861d026
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Feb 20 13:02:07 2013 +0100
virtio-ccw: remove qdev_unparent in unplug routing
This patch fixes unplugging a virtio-ccw device. We no
longer need to do that in virtio-ccw since common code does now
proper handling.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0ad6773f1151c9e172b0b714aada78655dda4cf4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:45:29 2013 +0100
target-lm32: Update VMStateDescription to LM32CPU
Add a vmstate_lm32_cpu referencing the previous VMStateDescription as a
sub-struct and hook it up to CPUClass::vmsd. Drop cpu_{save,load}().
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e6f010cc27177c97596455b2e2b589bd19b2a486
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:33:14 2013 +0100
target-arm: Override do_interrupt for ARMv7-M profile
Enable ARMCPUInfo to specify a custom class_init functions.
Introduce arm_v7m_class_init() and use it for "cortex-m3" model.
Instead of forwarding from arm_cpu_do_interrupt() to do_interrupt_v7m(),
override CPUClass::do_interrupt with arm_v7m_cpu_do_interrupt()
in arm_v7m_class_init().
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 97a8ea5a3ae7938cb54fd4dc19d3a413024bc6c0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 10:57:51 2013 +0100
cpu: Replace do_interrupt() by CPUClass::do_interrupt method
This removes a global per-target function and thus takes us one step
closer to compiling multiple targets into one executable.
It will also allow to override the interrupt handling for certain CPU
families.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c3affe5670e5d0df8a7e06f1d6e80853633146df
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:03:43 2013 +0100
cpu: Pass CPUState to cpu_interrupt()
Move it to qom/cpu.h to avoid issues with include order.
Change pc_acpi_smi_interrupt() opaque to X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d8ed887bdcd29ce2e967f8b15a6a2b6dcaa11cd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 22:30:20 2013 +0100
exec: Pass CPUState to cpu_reset_interrupt()
Move it to qom/cpu.c to avoid build failures depending on include order
of cpu-qom.h and exec/cpu-all.h.
Change opaques of various ..._irq_handler() functions to the
appropriate CPU type to facilitate using cpu_reset_interrupt().
Fix Coding Style issues while at it (missing braces, indentation).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 259186a7d2f7184efc96ae99bc5658e6159f53ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 18:51:17 2013 +0100
cpu: Move halted and interrupt_request fields to CPUState
Both fields are used in VMState, thus need to be moved together.
Explicitly zero them on reset since they were located before
breakpoints.
Pass PowerPCCPU to kvmppc_handle_halt().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21317bc222ef4cdca594b1856eea62f3dfbbfb6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 17:37:28 2013 +0100
target-cris/helper.c: Update Coding Style
Reindent, add missing braces and drop/adjust whitespace.
Prepares for CPUArchState-to-CPUState field movements in
cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt().
The remaining functions were so minor that they can be fixed in one go.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f56e3a147683f0ed69d8339e497b7a36e3260c86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 13:38:08 2013 +0100
target-i386: Update VMStateDescription to X86CPU
Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd.
Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca91b15f2d2e43eba8f9a3ec5090f0a11b861ba4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 21:50:10 2013 +0100
cpu: Introduce cpu_class_set_vmsd()
This setter avoids redefining each VMStateDescription value to
vmstate_dummy by not referencing the value for CONFIG_USER_ONLY.
Suggested-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b170fce3dd06372f7bfec9a780ebcb1fce6d57e4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 20:23:22 2013 +0100
cpu: Register VMStateDescription through CPUState
In comparison to DeviceClass::vmsd, CPU VMState is split in two,
"cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1.
Therefore add a CPU-specific CPUClass::vmsd field.
Unlike the legacy CPUArchState registration, rather register CPUState.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit c71c3e99b8897323af8c2fe0b9851610cd148538
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 17:56:20 2013 +0100
stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7650eab429a033c23947f20d1ae14c4d1e719a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 18 21:41:59 2013 +0100
vmstate: Make vmstate_register() static inline
This avoids adding a duplicate stub for CONFIG_USER_ONLY.
Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b350ab758342c764a6ead6ef064b15a72c830808
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Nov 20 16:15:47 2012 +0100
target-sh4: Move PVR/PRR/CVR into SuperHCPUClass
They are never changed once initialized, and moving them to the class
will allow to inspect them before instantiating.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1b382e77d8693955d8838c19b33aeb214724f9b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Nov 19 02:42:18 2012 +0100
target-sh4: Introduce SuperHCPU subclasses
Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive
class lookup.
List CPUs by iterating over TYPE_SUPERH_CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 151d1322a3a0c865089c09aeb50f18215121921a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:41:49 2013 +0100
cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()
No functional change, just less usages of first_cpu and next_cpu fields.
env is passed to cpu_memory_rw_debug(), which in turn passes it to
target-specific cpu_get_phys_page_debug(). Changing both would be a
larger refactoring, so defer that by using env_ptr for now.
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1c8bb3cc7b98ad07a028567b86fc6baa5c5a0b7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 17:01:09 2013 +0100
monitor: Use qemu_get_cpu() in monitor_set_cpu()
No functional change, just a reduction of CPU loops.
The mon_cpu field is left untouched for now since changing that requires
a number of larger prerequisites, including cpu_synchronize_state() and
mon_get_cpu().
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d76fddaeeec674cab4802b585db6c9fb3a0066dc
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Mar 7 19:12:43 2013 +0100
cpu: Fix qemu_get_cpu() to return NULL if CPU not found
Commit 55e5c2850 breaks CPU not found return value, and returns
CPU corresponding to the last non NULL env.
Fix it by returning CPU only if env is not NULL, otherwise CPU is
not found and function should return NULL.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cbb65fc27fd97a3b020df7fce9db4ce09e3956ad
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:31 2013 +0100
qga: implement qmp_guest_set_vcpus() for Linux with sysfs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d2baff62538d6c638c1c0d2b3fc900060a90dd78
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:30 2013 +0100
qga: implement qmp_guest_get_vcpus() for Linux with sysfs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 70e133a7080116340b1a8898893c6d455bd47299
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Mar 6 22:59:29 2013 +0100
qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a1bca57f758a1ebe2ee808aa6c94f7687f9cfdd0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 5 17:39:12 2013 +0800
qga: add guest-set-time command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*added stub for w32
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6912e6a94cb0a1d650271103efbc3ac2299e4fd0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 5 17:39:11 2013 +0800
qga: add guest-get-time command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*added stub for w32
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 39097daf15c42243742667607d2cad2c9dc4f764
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 11:40:27 2013 -0600
qemu-ga: use key-value store to avoid recycling fd handles after restart
Hosts hold on to handles provided by guest-file-open for periods that can
span beyond the life of the qemu-ga process that issued them. Since these
are issued starting from 0 on every restart, we run the risk of issuing
duplicate handles after restarts/reboots.
As a result, users with a stale copy of these handles may end up
reading/writing corrupted data due to their existing handles effectively
being re-assigned to an unexpected file or offset.
We unfortunately do not issue handles as strings, but as integers, so a
solution such as using UUIDs can't be implemented without introducing a
new interface.
As a workaround, we fix this by implementing a persistent key-value store
that will be used to track the value of the last handle that was issued
across restarts/reboots to avoid issuing duplicates.
The store is automatically written to the same directory we currently
set via --statedir to track fsfreeze state, and so should be applicable
for stable releases where this flag is supported.
A follow-up can use this same store for handling fsfreeze state, but
that change is cosmetic and left out for now.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
* fixed guest_file_handle_add() return value from uint64_t to int64_t
commit c5dcb6ae23a3ed7a01bae1cd75ce02abea31db5e
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 11:49:38 2013 -0600
qemu-ga: make guest-sync-delimited available during fsfreeze
We currently maintain a whitelist of commands that are safe during
fsfreeze. During fsfreeze, we disable all commands that aren't part of
that whitelist.
guest-sync-delimited meets the criteria for being whitelisted, and is
also required for qemu-ga clients that rely on guest-sync-delimited for
re-syncing the channel after a timeout.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9e7c23db13b23febac4ba2d22419aa8f1884929e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 19 15:12:34 2013 +0100
qemu-ga: fix confusing GAChannelMethod comparison
In commit 7868e26e5930f49ca942311885776b938dcf3b77
("qemu-ga: add initial win32 support") support was added for qemu-ga on
Windows using virtio-serial. Other channel methods (ISA serial and UNIX
domain socket) are not supported on Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ed2cbf74446b008f9de526a50e4b06265635120c
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 28 12:49:09 2013 +0800
qga: cast to int for DWORD type
This patch fixes a compiler warning when cross-build:
qga/service-win32.c: In function 'printf_win_error':
qga/service-win32.c:32:5: warning: format '%d' expects argument of type
'int',
but argument 3 has type 'DWORD' [-Wformat]
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d
Merge: bba18e2... ee0b44a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 11 08:30:34 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Paolo Bonzini (40) and others
# Via Juan Quintela
* quintela/migration.next: (46 commits)
page_cache: dup memory on insert
page_cache: fix memory leak
Fix cache_resize to keep old entry age
Fix page_cache leak in cache_resize
migration: inline migrate_fd_close
migration: eliminate s->migration_file
migration: move contents of migration_close to migrate_fd_cleanup
migration: move rate limiting to QEMUFile
migration: small changes around rate-limiting
migration: use qemu_ftell to compute bandwidth
migration: use QEMUFile for writing outgoing migration data
migration: use QEMUFile for migration channel lifetime
qemu-file: simplify and export qemu_ftell
qemu-file: add writable socket QEMUFile
qemu-file: check exit status when closing a pipe QEMUFile
qemu-file: fsync a writable stdio QEMUFile
migration: merge qemu_popen_cmd with qemu_popen
migration: use qemu_file_rate_limit consistently
migration: remove useless qemu_file_get_error check
migration: detect error before sleeping
...
commit bba18e23f7266d63734fd31045fec7794cc34a38
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 11 11:31:26 2013 +0100
arm: fix compilation with CONFIG_FDT
A conflict was resolved the wrong way when merging commit 320ba5f (build:
always link device_tree.o into emulators if libfdt available, 2013-02-05).
This causes a build failure for the arm-softmmu target due to multiply
defined symbol.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1362997886-9470-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9a970a8316f9f86a6c800a9a90175bd593f862c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 04:34:54 2013 +0000
linux-user/syscall.c: Don't warn about unimplemented get_robust_list
The nature of the kernel ABI for the get_robust_list and set_robust_list
syscalls means we cannot implement them in QEMU. Make get_robust_list
silently return ENOSYS rather than using the default "print message and
then fail ENOSYS" code path, in the same way we already do for
set_robust_list, and add a comment documenting why we do this.
This silences warnings which were being produced for emulating
even trivial programs like 'ls' in x86-64-on-x86-64.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit a94b4987e243d9afebf56a098afeddae133276b5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 04:35:04 2013 +0000
linux-user: Implement accept4
Implement the accept4 syscall (which is identical to accept
but has an additional flags argument).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit a8fd1aba8584cbe68583907ce766fd8ecfe81f4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 07:31:55 2013 +0000
linux-user: Implement sendfile and sendfile64
Implement the sendfile and sendfile64 syscalls. This implementation
passes all the LTP test cases for these syscalls.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dfae8e00f8ddeedcda24bd28f71d4fd2a9f988b8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 8 07:58:41 2013 +0000
linux-user: make bogus negative iovec lengths fail EINVAL
If the guest passes us a bogus negative length for an iovec, fail
EINVAL rather than proceeding blindly forward. This fixes some of
the error cases tests for readv and writev in the LTP.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 63ec54d7b319824df8b60cfe25afdfb607ce3905
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 14 08:46:43 2013 +0000
linux-user: Fix layout of usage table to account for option text
The linux-user usage message attempts to line up the columns in
its table by calculating the maximum width of any item in them.
However for the 'Argument' column it was only accounting for the
length of the option switch (eg "-d"), not the additional example
text (eg "item[,...]"). This currently has no adverse effects
because the widest item in the column happens to be the argumentless
"-singlestep" option, but improving the "-d" option help to read
"-d item[,...]" exceeds that limit.
Fix this by correctly calculating maxarglen as the width of the
first column text including a possible option argument, and
adjusting its uses to match.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ee0b44aa9d9450e873a761ca2030b2fa3ec52eb0
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 19:12:04 2013 +0200
page_cache: dup memory on insert
The page cache frees all data on finish, on resize and
if there is collision on insert. So it should be the caches
responsibility to dup the data that is stored in the cache.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 32a1c08b60a8ac0e63b54a5793a26b5e32b36618
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 19:12:03 2013 +0200
page_cache: fix memory leak
XBZRLE encoded migration introduced a MRU page cache
meachnism. Unfortunately, cached items where never freed in
case of a collision in the page cache on cache_insert().
This lead to out of memory conditions during XBZRLE migration
if the page cache was small and there where a lot of collisions
in the cache.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a0ee2031dbf5f0183412d4b20a30cbfd404616a8
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Feb 25 19:12:02 2013 +0200
Fix cache_resize to keep old entry age
Instead of using cache_insert do the update itself
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0db65d624e0211a43c011579d6607a50d8f06082
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Mon Feb 25 19:12:01 2013 +0200
Fix page_cache leak in cache_resize
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f190a0641f5b06a462b62955c15c77b8fb3990c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:48 2013 +0100
migration: inline migrate_fd_close
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b352365f5abec075dede0222f1bc37674d64117c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:47 2013 +0100
migration: eliminate s->migration_file
The indirection is useless now. Backends can open s->file directly.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 404a7c05bcc20c51fe1a9bf2deaeb4d6b658d3a3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:46 2013 +0100
migration: move contents of migration_close to migrate_fd_cleanup
With this patch, the migration_file is not needed anymore.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1964a397063967acc5ce71a2a24ed26e74824ee1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:45 2013 +0100
migration: move rate limiting to QEMUFile
Rate limiting is now simply a byte counter; client call
qemu_file_rate_limit() manually to determine if they have to exit.
So it is possible and simple to move the functionality to QEMUFile.
This makes the remaining functionality of s->file redundant;
in the next patch we can remove it and write directly to
s->migration_file.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 442773cef15092b5927851237850760345d2cf16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:44 2013 +0100
migration: small changes around rate-limiting
This patch extracts a few small changes from the next patch, which
are unrelated to adding generic rate-limiting functionality to
QEMUFile. Make migration_set_rate_limit a simple accessor, and
use qemu_file_set_rate_limit consistently. Also fix a typo where
INT_MAX should have been SIZE_MAX.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit be7172e22a9c3bc448894e57f6c2d1af6ffd47fd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:43 2013 +0100
migration: use qemu_ftell to compute bandwidth
Prepare for when s->bytes_xfer will be removed.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e6a1cf21328802f3a83e84e893b8cb8a468141cc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:42 2013 +0100
migration: use QEMUFile for writing outgoing migration data
Second, drop the file descriptor indirection, and write directly to the
QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f8bbc1286337a8506162b5785babe6f2a7de2476
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:41 2013 +0100
migration: use QEMUFile for migration channel lifetime
As a start, use QEMUFile to store the destination and close it.
qemu_get_fd gets a file descriptor that will be used by the write
callbacks.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3f2d38faab97f4d676c41868a8243997b2aab7cb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:40 2013 +0100
qemu-file: simplify and export qemu_ftell
Force a flush when qemu_ftell is called. This simplifies the buffer magic
(it also breaks qemu_ftell for input QEMUFiles, but we never use it).
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0cc3f3ccc9d29acc94b995430518bda1c7c01bef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:39 2013 +0100
qemu-file: add writable socket QEMUFile
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 13c7b2da073ec83cb47f9582149c8d28bb038e73
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:38 2013 +0100
qemu-file: check exit status when closing a pipe QEMUFile
This is what exec_close does. Move this to the underlying QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ce39ee3184a02eca7f9529cc19b1582f6f704c70
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:37 2013 +0100
qemu-file: fsync a writable stdio QEMUFile
This is what fd_close does. Prepare for switching to a QEMUFile.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 817b9ed5eb300dbb434d752da416441028539a96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:36 2013 +0100
migration: merge qemu_popen_cmd with qemu_popen
There is no reason for outgoing exec migration to do popen manually
anymore (the reason used to be that we needed the FILE* to make it
non-blocking). Use qemu_popen_cmd.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a0ff044b8ea81908cd8fe5819ce33780f53f58ee
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:35 2013 +0100
migration: use qemu_file_rate_limit consistently
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit db2f25309af1af0f27e0ddec4acc3b66837fa668
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:34 2013 +0100
migration: remove useless qemu_file_get_error check
migration_put_buffer is never called if there has been an error.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit fd45ee2c643bb3d55de5c54b50c23859ca631a9f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:33 2013 +0100
migration: detect error before sleeping
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 059f896cefb2776181e39d9ba69345bd9d07d52b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:32 2013 +0100
migration: eliminate last_round
We will go around the loop exactly once after setting last_round.
Eliminate the variable altogether.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 05f28b837c6bd6124abab2496ce15c07a334a5ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:31 2013 +0100
qemu-file: make qemu_fflush and qemu_file_set_error private again
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5f496a1be3d15f192be1ab1fed3a3278fd5a91a1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 22 17:36:30 2013 +0100
Rename buffered_ to migration_
This is consistent once that we have moved everything to migration.c
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit edaae611f6df0d66a8b5a90c84123b72980c7a22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:29 2013 +0100
migration: yay, buffering is gone
Buffering was needed because blocking writes could take a long time
and starve other threads seeking to grab the big QEMU mutex.
Now that all writes (except within _complete callbacks) are done
outside the big QEMU mutex, we do not need buffering at all.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 9b0950375277467fd74a9075624477ae43b9bb22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:28 2013 +0100
migration: run setup callbacks out of big lock
Only the migration_bitmap_sync() call needs the iothread lock.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 32c835ba3984728c22d4e73cdb595090a60f437e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:27 2013 +0100
migration: run pending/iterate callbacks out of big lock
This makes it possible to do blocking writes directly to the socket,
with no buffer in the middle. For RAM, only the migration_bitmap_sync()
call needs the iothread lock. For block migration, it is needed by
the block layer (including bdrv_drain_all and dirty bitmap access),
but because some code is shared between iterate and complete, all of
mig_save_device_dirty is run with the lock taken.
In the savevm case, the iterate callback runs within the big lock.
This is annoying because it complicates the rules. Luckily we do not
need to do anything about it: the RAM iterate callback does not need
the iothread lock, and block migration never runs during savevm.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 8c8de19d93444536d3291e6ab83e2bcf61dd2d0c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:26 2013 +0100
migration: reorder SaveVMHandlers members
This groups together the callbacks that later will have similar
locking rules.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 52e850dea988585c3d693fd9cd4a4c38968d89b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:25 2013 +0100
block-migration: add lock
Some state is shared between the block migration code and its AIO
callbacks. Once block migration will run outside the iothread,
the block migration code and the AIO callbacks will be able to
run concurrently. Protect the critical sections with a separate
lock. Do the same for completed_sectors, which can be used from
the monitor.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 323920c4eac01de74cf2b5e941c97ca9b2d36b7f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:24 2013 +0100
block-migration: document usage of state across threads
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 13197e3cbaba0ba693dd2855a32182ca584fa97e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:23 2013 +0100
block-migration: small preparatory changes for locking
Some small changes that will simplify the positioning of lock/unlock
primitives.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a55ce1c851b5802569fb00b2a645a73c03fd7c86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:22 2013 +0100
block-migration: remove variables that are never read
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bb1fadc444ff967554c41d96cb9dde110e8aece9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:21 2013 +0100
migration: cleanup migration (including thread) in the iothread
Perform final cleanup in a bottom half, and add joining the thread to
the series of cleanup actions.
migrate_fd_error remains for connection error, but it doesn't need
to cleanup anything anymore.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f4410a5d9926886c36d9fa9fdd969d0469d62724
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:20 2013 +0100
migration: prepare to access s->state outside critical sections
Accessing s->state outside the big QEMU lock will simplify a bit the
locking/unlocking of the iothread lock.
We need to keep the lock in migrate_fd_error and migrate_fd_completed,
however, because they call migrate_fd_cleanup.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c09e5bb1d88ef38986bac7c6ed59dbd732cc4771
Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Date: Fri Feb 22 17:36:19 2013 +0100
migration: add migrate_set_state tracepoint
Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a3fa1d78cbae2259491b17689812edcb643a3b30
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:18 2013 +0100
migration: do not nest flushing of device data
Completion of migration is currently done with a "nested" loop that
invokes buffered_flush: migrate_fd_completed is called by
buffered_file_thread, which calls migrate_fd_cleanup, which calls
buffered_close (via qemu_fclose), which flushes the buffer.
Simplify this, by reusing the buffered_flush call of buffered_file_thread.
Then if qemu_savevm_state_complete was called, and the buffer is empty
(including the QEMUFile buffer, for which we need the previous patch), we
are done.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dba433c03a0f5dc22a459435dd89557886298921
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:17 2013 +0100
migration: simplify error handling
Always use qemu_file_get_error to detect errors, since that is how
QEMUFile itself drops I/O after an error occurs. There is no need
to propagate and check return values all the time.
Also remove the "complete" member, since we know that it is set (via
migrate_fd_cleanup) only when the state changes.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 63dfbd7ee03185c181a0791958ec9c8337089b55
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:16 2013 +0100
migration: use qemu_file_set_error
Remove the return value of buffered_flush, pass it via the error code
of s->file. Once this is done, the error can be retrieved simply
via migrate_fd_close's call to qemu_fclose.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f5821518ed6d49aae9fd0aa6169d2d74bb83054c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:15 2013 +0100
migration: flush all data to fd when buffered_flush is called
Including data that resided in the QEMUFile's own buffer.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4eb938102b3d533e142de23e255e46da1326fc5a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:14 2013 +0100
qemu-file: temporarily expose qemu_file_set_error and qemu_fflush
Right now, migration cannot entirely rely on QEMUFile's automatic
drop of I/O after an error, because it does its "real" I/O outside
the put_buffer callback. To fix this until buffering is gone, expose
qemu_file_set_error which we will use in buffered_flush.
Similarly, buffered_flush is not a complete flush because some data may
still reside in the QEMUFile's own buffer. This somewhat complicates the
process of closing the migration thread. Again, when buffering is gone
buffered_flush will disappear and calling qemu_fflush will not be needed;
in the meanwhile, we expose the function for use in migration.c.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 47c8c17af883b5bd0f147cfcec8d7ef8ff76023b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:13 2013 +0100
migration: use qemu_file_set_error to pass error codes back to
qemu_savevm_state
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 93bf21044c38134bc7d35577b675d9f2bdcb8419
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:12 2013 +0100
qemu-file: pass errno from qemu_fflush via f->last_error
This is done by almost all callers of qemu_fflush, move the code
directly to qemu_fflush.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d418cf57a3e699746ef0bfa772bbe8c7e17cebb5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:11 2013 +0100
block-migration: remove useless calls to blk_mig_cleanup
Now that the cancel callback is called consistently for all errors,
we can avoid doing its work in the other callbacks.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 04943ebaa9e4f5f9ac080198a7b0d25c6d7ac444
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:10 2013 +0100
migration: push qemu_savevm_state_cancel out of qemu_savevm_state_*
This is useful, because it lets us keep the cancellation callbacks
inside the big lock while pushing the others out.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7a2c17216cd5ae4c22844123b8e9360d517932f8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:09 2013 +0100
migration: move more error handling to migrate_fd_cleanup
The next patch will add more cases where qemu_savevm_state_cancel
needs to be called; prepare for that already, the function can be
called twice with no ill effect.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 891518abd804401978e402d588733e282be960ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:08 2013 +0100
migration: always use vm_stop_force_state
vm_stop_force_state does:
if (runstate_is_running()) {
vm_stop(state);
} else {
runstate_set(state);
}
migration.c does:
if (runstate_is_running()) {
vm_stop(state);
} else {
vm_stop_force_state(state);
}
The code run is the same even if we always use vm_stop_force_state in
migration.c.
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5da5aad068def65b5e278a6380192d4bfe279585
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 17:36:07 2013 +0100
migration: simplify while loop
Unify the goto around the loop, with the exit condition at the end of it.
Both can be expressed as "while (ret >= 0)".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d95fda86b0d69fc4010f6bb37aa4fd38f1addff
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Thu Jan 3 22:10:26 2013 -0500
linux-user: Add more sparc syscall numbers
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f2b79ce9dc65753c6833921dd5ef6fa59632851f
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Sat Feb 2 18:04:48 2013 -0500
linux-user: Support setgroups syscall with no groups
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bfb669f39f2ecd854992924ced20b00163509043
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Sat Feb 23 16:14:08 2013 -0700
linux-user: fix futex strace of FUTEX_CLOCK_REALTIME
Handle same as existing FUTEX_PRIVATE_FLAG.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit cce246e0a21577bb2372ab3a7d6789371e087de9
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Sat Feb 23 16:14:07 2013 -0700
linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex
Upstream libc has recently changed to start using
FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this
is causing do_futex to return -TARGET_ENOSYS.
Pass bitset in val3 to sys_futex which will be
ignored by kernel for the FUTEX_WAIT case.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d95ec14fd20ff69881ab26e7ebd1dab4eb851d97
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Mon Dec 31 21:00:11 2012 +0100
linux-user: improve print_fcntl()
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit ec00b51a6c3e6c515c52e6e4564d915ee1f19022
Author: Dillon Amburgey <dillona@xxxxxxxxxxx>
Date: Wed Jan 2 21:06:35 2013 -0500
linux-user: Add Alpha socket constants
Without these, some networking programs will not work
Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fa3889162ff724d09eb6b6bd06ba54769100a77f
Merge: 6e72a00... a4960ef...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 20:39:17 2013 -0500
Merge remote-tracking branch 'origin/master' into staging
* origin/master: (75 commits)
tcg: Don't make exitreq flag a local temporary
Makefile: Add subdir dependency on config-devices-all.mak
make_device_config.sh: Emit dependency file to directory where included
Revert "make_device_config.sh: Fix target path in generated dependency
file"
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
s390/css: Fix subchannel detection
Allow virtio-net features for legacy s390 virtio bus
s390: virtio-ccw maintainer
s390: simplify kvm cpu init
pseries: Add compatible property to root of device tree
target-ppc: Move CPU aliases out of translate_init.c
target-ppc: Report CPU aliases for QMP
target-ppc: List alias names alongside CPU models
target-ppc: Make host CPU a subclass of the host's CPU model
PPC: xnu kernel expects FLUSH to be cleared on STOP
PPC: Fix dma interrupt
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
target-ppc: Synchronize FPU state with KVM
target-ppc: Add mechanism for synchronizing SPRs with KVM
Save memory allocation in the elf loader
...
commit 6e72a00f909dcd093fbdd1faa2b3c8caa1697a6c
Merge: 6a245c6... 7a2771d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:39:07 2013 -0500
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
* bonzini/hw-dirs:
sh: move files referencing CPU to hw/sh4/
ppc: move more files to hw/ppc
ppc: move files referencing CPU to hw/ppc/
m68k: move files referencing CPU to hw/m68k/
i386: move files referencing CPU to hw/i386/
arm: move files referencing CPU to hw/arm/
hw: move boards and other isolated files to hw/ARCH
ppc: express FDT dependency of pSeries and e500 boards via
default-configs/
build: always link device_tree.o into emulators if libfdt available
hw: include hw header files with full paths
ppc: do not use ../ in include files
vt82c686: vt82c686 is not a PCI host bridge
virtio-9p: remove PCI dependencies from hw/9pfs/
virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX
hw: move device-hotplug.o to toplevel, compile it once
hw: move qdev-monitor.o to toplevel directory
hw: move fifo.[ch] to libqemuutil
hw: move char backends to backends/
Conflicts:
backends/baum.c
backends/msmouse.c
hw/a15mpcore.c
hw/arm/Makefile.objs
hw/arm/pic_cpu.c
hw/dataplane/event-poll.c
hw/dataplane/virtio-blk.c
include/char/baum.h
include/char/msmouse.h
qemu-char.c
vl.c
Resolve conflicts caused by header movements.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6a245c666d02210b8461952eccc17379fdeedd9f
Merge: 6d06368... db2d5eb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:33:03 2013 -0500
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Lei Li (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
Fix the wrong description in qemu manual
pci_host: Drop write-only address_space field
rng-random: Use qemu_open / qemu_close
configure: Require at least spice-protocol-0.12.3
osdep: replace setsockopt by qemu_setsockopt
lm32: remove unused function
rtc-test: Fix test failures with recent glib
configure: Create link to icon bitmap for out-of-tree builds
commit 6d06368d6bebad74fd16ef76a6bbea0c1cb63c9a
Merge: 44ab9ed... 0c92e0e6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Mar 10 19:30:45 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (4) and Peter Lieven (2)
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi-disk: handle io_canceled uniformly and correctly
scsi-disk: do not complete canceled UNMAP requests
scsi: do not call scsi_read_data/scsi_write_data for a canceled request
iscsi: look for pkg-config file too
iscsi: add iscsi_truncate support
iscsi: retry read, write, flush and unmap on unit attention check
conditions
commit 44ab9ed4f859fc6f691ba433c24d354ba93f056f
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 09:56:04 2013 +0000
qemu-char: fix win32 build
96c6384776d631839a9c8fe02bf135f9ba22586c did not adjust
Win32 #ifdeffery properly, breaking build in later commits. Fix.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Message-id:
0ba5565b1ed44380c57d4a5fab86e9549f581ebf.1362822910.git.blauwirbel@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7830cf78ac00643930503732834c00387e9e75ff
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 09:56:03 2013 +0000
baum: fix build
08744c98115cfa144ed3493556024e400b2e2573 removed hw/baum.h
but did not adjust hw/baum.c, breaking build. Fix.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Message-id:
c50406bda98f8b277e8b9004a0012fa5e5c124d0.1362822910.git.blauwirbel@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a4960ef34829c355fdf25b8ee6b869c92393e366
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 5 08:54:41 2013 -0800
tcg: Don't make exitreq flag a local temporary
The value is not actually live across basic blocks, so there's no
need for the local property. This eliminates storing the temporary
to its home location at the branch.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 916359f66f838481b4a37a45ab27ccd0474ae487
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:47 2013 +0100
Makefile: Add subdir dependency on config-devices-all.mak
What 23bf49b5eca716aaad073f2b47613434e1515cb5 really seemed to try to
fix is that Makefile could recurse into *-softmmu/ subdirectories before
a new *-softmmu/config-devices.mak was generated from pci.mak.
Fix this by adding a dependency on config-all-devices.mak, which in turn
has dependencies on *-softmmu/config-devices.mak.
Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 880708013357fa5d1c077e2a4a364b65706e09e7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:46 2013 +0100
make_device_config.sh: Emit dependency file to directory where included
Placing the config-devices.mak.d file alongside the config-devices.mak
file in *-softmmu/ lead to it getting included into through
*-softmmu/Makefile in addition to ./Makefile, leading to confusion.
Instead, emit it to ./%-config-devices.mak.d, where it is included.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1b3048170ad0dad83186a39cbf22471fc32583ea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Feb 21 16:26:45 2013 +0100
Revert "make_device_config.sh: Fix target path in generated dependency
file"
This reverts commit 23bf49b5eca716aaad073f2b47613434e1515cb5.
While *-softmmu/config-devices.mak.d is included through *.d pattern via
Makefile.target, the make_devices_config.sh call these dependencies are
for is in ./Makefile. Therefore revert to original behavior.
This should unbreak pci.mak dependencies not propagating.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit eb839909aa22069e04e1c910fcdf7feaa5581af6
Merge: 62e1aea... 8a7df84...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 11:02:23 2013 +0000
Merge branch 's390-for-upstream' of git://github.com/agraf/qemu
* 's390-for-upstream' of git://github.com/agraf/qemu:
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
s390/css: Fix subchannel detection
Allow virtio-net features for legacy s390 virtio bus
s390: virtio-ccw maintainer
s390: simplify kvm cpu init
commit 62e1aeaee4d0450222a0ea43c713b59526e3e0fe
Merge: d6258c9... d63919c...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Mar 9 11:02:07 2013 +0000
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu: (66 commits)
pseries: Add compatible property to root of device tree
target-ppc: Move CPU aliases out of translate_init.c
target-ppc: Report CPU aliases for QMP
target-ppc: List alias names alongside CPU models
target-ppc: Make host CPU a subclass of the host's CPU model
PPC: xnu kernel expects FLUSH to be cleared on STOP
PPC: Fix dma interrupt
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
target-ppc: Synchronize FPU state with KVM
target-ppc: Add mechanism for synchronizing SPRs with KVM
Save memory allocation in the elf loader
pseries: Implement h_read hcall
target-ppc: Change "POWER7" CPU alias
target-ppc: Fix remaining microcontroller typos among models
target-ppc: Split model definitions out of translate_init.c
target-ppc: Update Coding Style for CPU models
target-ppc: Turn descriptive CPU model comments into device descriptions
target-ppc: Turn descriptive CPU family comments into device
descriptions
target-ppc: Set remaining fields on CPU family classes
target-ppc: Register all types for TARGET_PPCEMB
...
commit 8a7df84f9ff4342cae30f4e515e6ac82a0eb0bea
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 09:01:33 2013 +0000
s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
blockdev_mark_auto_del is already called in virtio-blk-exit.
Remove the redundant call.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38dd7cc776bbde7edbe60ba5d0abbd156e7e0f2f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 09:01:32 2013 +0000
s390/css: Fix subchannel detection
We have to consider the m bit to find the real channel subsystem when
determining the last subchannel.
If we fail to take this into account, removal of a subchannel in
the middle of a big list of devices will stop device detection after
a reboot.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35569cea79fd3f5ccb5b23ca024c7d3aa4d24e75
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Mar 7 17:21:41 2013 +0100
Allow virtio-net features for legacy s390 virtio bus
Enable all virtio-net features for the legacy s390 virtio bus. This also
fixes
kernel BUG at
/usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121!
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dd4ad64ada4316d2f61af0e0489e89fe620244db
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Mar 5 02:22:01 2013 +0000
s390: virtio-ccw maintainer
Add myself as maintainer for virtio-ccw and the s390-ccw-virtio machine.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
[agraf: add myself for virtio-ccw machine]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1c9d2a1d3c63ab7cee37acdcab92aafad3d6b3fe
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Feb 4 22:53:25 2013 +0000
s390: simplify kvm cpu init
There is no special code right now and the reset ioctl is done later
on in the the reset handler anyway. Lets simplify the cpu init.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d63919c93e6fb0587632adafba82c21e55ea4396
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Feb 25 19:27:12 2013 +0000
pseries: Add compatible property to root of device tree
Currently, for the pseries machine the device tree supplied by qemu to
SLOF
and from there to the guest does not include a 'compatible property' at
the
root level. Usually that works fine, since in this case the compatible
property doesn't really give any information not already found in the
'device_type' or 'model' properties.
However, the lack of 'compatible' confuses the bootloader install in the
SLES11 SP2 and SLES11 SP3 installers. This patch therefore adds a token
'compatible' property to work around that.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e9a9607527746600a1af79ba63494ec596ec8584
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 25 03:43:17 2013 +0000
target-ppc: Move CPU aliases out of translate_init.c
Move array of CPU aliases to cpu-models.c, alongside model definitions.
This requires to zero-terminate the aliases array since ARRAY_SIZE() can
no longer be used in translate_init.c then.
Suggested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35e21d3f53068911a98014577880f76c4734f31c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 07:52:24 2013 +0000
target-ppc: Report CPU aliases for QMP
The QMP query-cpu-definitions implementation iterated over CPU classes
only, which were getting less and less as aliases were extracted.
Keep them in QMP as valid -cpu arguments even if not guaranteed stable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 55d3d1a4d1a8dca7a0f31dc0d212d7fb219563c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 07:34:28 2013 +0000
target-ppc: List alias names alongside CPU models
Revert adding a separate -cpu ? output section for aliases and list them
per CPU subclass.
Requested-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5ba4576b858c0d6056f59abb7e17a2b63f7905f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 23 11:22:12 2013 +0000
target-ppc: Make host CPU a subclass of the host's CPU model
This avoids assigning individual class fields and contributors
forgetting to add field assignments in KVM-only code.
ppc_cpu_class_find_by_pvr() requires the CPU model classes to be
registered, so defer host CPU type registration to kvm_arch_init().
Only register the host CPU type if there is a class with matching PVR.
This lets us drop error handling from instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 987422bc4a4c6366ca6a7fbfa38a9920fd7ada2f
Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Date: Thu Feb 21 07:34:11 2013 +0000
PPC: xnu kernel expects FLUSH to be cleared on STOP
otherwise it gets stuck in a loop
so clear it when unsetting run when flush is set
void
IODBDMAStop( volatile IODBDMAChannelRegisters *registers)
{
IOSetDBDMAChannelControl( registers,
IOClearDBDMAChannelControlBits( kdbdmaRun )
| IOSetDBDMAChannelControlBits( kdbdmaFlush ));
DBDMA: writel 0x0000000000000b00 <= 0xa0002000
DBDMA: channel 0x16 reg 0x0
DBDMA: status 0x00002000
while( IOGetDBDMAChannelStatus( registers) & (
kdbdmaActive | kdbdmaFlush))
eieio();
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
it continues to get printed
}
Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
[agraf: replace tabs with spaces]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e13da40448fabb0829d75b01dc57da5f44f391b3
Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Date: Thu Feb 21 07:34:10 2013 +0000
PPC: Fix dma interrupt
In openbios (drivers/ide.c) they are set to
0000000d 00000000 00000002 00000000
0000000e 00000000 00000003 00000000
0000000f 00000000 00000004 00000000
(The last one seems to be not implemented in qemu)
It follows convention of how they are set on real machines,
both ide and dma ones are increased
Real machine one:
http://web.archive.org/web/20090107151044/http://penguinppc.org/historical/dev-trees-html/g4_agp_500_2.html
00000013 00000001 0000000b 00000000
00000014 00000001 0000000c 00000000
00000015 00000001 0000000d 00000000
Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit edbe35e0319c15ed2f373bcca626cbb4361f87c8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 20 18:24:57 2013 +0000
target-ppc: Fix PPC_DUMP_SPR_ACCESS build
A victim of the d523dd00a7d73b28f2e99acf45a4b3f92e56e40a AREG0
conversion, insert the missing cpu_env arguments.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 70b79849b84510604e46299672e663a703ad5a4b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 20 16:41:51 2013 +0000
target-ppc: Synchronize FPU state with KVM
Currently qemu does not get and put the state of the floating point and
vector registers to KVM. This is obviously a problem for savevm, as well
as possibly being problematic for debugging of FP-using guests.
This patch fixes this by using new extensions to the ONE_REG interface to
synchronize the qemu floating point state with KVM.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d67d40ea07577b0a952d3bea5a2f92edf0ee26a6
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 20 16:41:50 2013 +0000
target-ppc: Add mechanism for synchronizing SPRs with KVM
Currently when runing under KVM on ppc, we synchronize a certain number of
vital SPRs to KVM through the SET_SREGS call. This leaves out quite a lot
of important SPRs which are maintained in KVM. It would be helpful to
have their contents in qemu for debugging purposes, and when we implement
migration it will be vital, since they include important guest state that
will need to be restored on the target.
This patch sets up for synchronization of any registers supported by the
KVM ONE_REG calls. A new variant on spr_register() allows a ONE_REG id to
be stored with the SPR information. When we set/get information to KVM
we also synchronize any SPRs so registered.
For now we set this mechanism up to synchronize a handful of important
registers that already have ONE_REG IDs, notably the DAR and DSISR.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d60fa42e8bae39440f997ebfe8fe328269a57d16
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Feb 19 04:41:11 2013 +0000
Save memory allocation in the elf loader
The current elf loader uses too much memory. For example, I have a
executable with a bss section of 400 MB and I set the ram size to 512
MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at
1.6 GB during initialization (this is not fine).
This patch fixes two things:
1) do not allocate each elf program twice.
2) do not allocate memory for areas that are only zeros.
For this we need a new field in Rom: "datasize" which is the size of the
allocated data. If datasize is less than romsize, it means that the area
from datasize to romsize is filled with zeros.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bbd5dde9a10520eb069c4bff9f2e34b96b1cfee
Author: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 18 05:00:32 2013 +0000
pseries: Implement h_read hcall
This h_call is useful for DLPAR in future amongst other things. Given an
index
it fetches the corresponding PTE stored in the htab.
Signed-off-by: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit befa8af375acd52d7118fa8d4fdf15acee8d378a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:51 2013 +0000
target-ppc: Change "POWER7" CPU alias
Let it resolve to v2.3 rather than v2.0.
Suggested-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cc4a04db05b083748b0ee9e642d68496a3d531ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:50 2013 +0000
target-ppc: Fix remaining microcontroller typos among models
controler -> controller
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 953af181f5d1c51e8111c345c70f277185f1a6e0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:49 2013 +0000
target-ppc: Split model definitions out of translate_init.c
Now that model definitions only reference their parent type, model
definitions are independent of the family definitions and can be
compiled independently of TCG translation.
Keep all #if defined(TODO) code local to cpu-models.c.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09cc86f2b16ae242c031a01c6adca0ac5c5791ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:48 2013 +0000
target-ppc: Update Coding Style for CPU models
Drop the space in #if defined (TODO).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0233c9abe16d8f7cdeb76ea54e84c68fe2b0037
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:47 2013 +0000
target-ppc: Turn descriptive CPU model comments into device descriptions
Fix microcontroller typo while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca5dff0a3e532ea9168934fc361e96d969007284
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:46 2013 +0000
target-ppc: Turn descriptive CPU family comments into device descriptions
This gets rid of some more overly long comments that have lost most of
their purpose now that in most cases there's only two functions left per
CPU family.
The class field is inherited by the actual CPU models, so override it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ba9fd9f1509c9729286a1071e217db9df05e6896
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:45 2013 +0000
target-ppc: Set remaining fields on CPU family classes
Now POWERPC_DEF_SVR() no longer sets family-specific fields itself.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d7fb187e07b35dcbe51e906927a94ed691e0c7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:44 2013 +0000
target-ppc: Register all types for TARGET_PPCEMB
Don't attempt to suppress registration of CPU types, since the criteria
is actually a property of the class and should thus become a field.
Since we can't check a field set in a class_init function before
registering the type that leads to execution of that function, guard the
-cpu class lookup instead and suppress exposing these classes in -cpu ?
and in QMP.
In case someone tries to hot-add an incompatible CPU via device_add,
error out in realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 53116ebfc98b72a00297255e216fac87c65e23a5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:43 2013 +0000
target-ppc: Set instruction flags on CPU family classes
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7856e3a41ba8ec5da3dc0b449dc6feaf999d3ffe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:42 2013 +0000
target-ppc: Introduce abstract CPU family types
Instead of assigning *_<family> constants, set .parent to a family type.
Introduce a POWERPC_FAMILY() macro to keep type registration close to
its implementation. This macro will need tweaking later.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cfe34f44b3a13ed32891e0b3c84be91d3d91a4b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:41 2013 +0000
target-ppc: Convert CPU definitions
Turn the array of model definitions into a set of self-registering QOM
types with their own class_init. Unique identifiers are obtained from
the combination of PVR, SVR and family identifiers; this requires all
alias #defines to be removed from the list. Possibly there are some more
left after this commit that are not currently being compiled.
Prepares for introducing abstract intermediate CPU types for families.
Keep the right-aligned macro line breaks within 78 chars to aid
three-way merges.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit de400129daf3ff0f7468363f6d886fcdcc626ea6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:40 2013 +0000
target-ppc: Get model name from type name
We are about to drop the redundant name field along with ppc_def_t.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f591784b639c72138f0cfd30b46dcf328f9adc8b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:39 2013 +0000
target-ppc: Extract POWER7 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df43f4b863ba4f7f89afedddc86ad9e11157b51e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:38 2013 +0000
target-ppc: Extract 970 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4bdba7fd2efbd57b9dc12bfb930f085a54f3df47
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:37 2013 +0000
target-ppc: Extract 405GPe alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b48a1ad3242fc7f6a19620f8a23f92a4f9ffb67
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:36 2013 +0000
target-ppc: Extract MPC8240 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 236824f276fafbfbb5399ca2c9c72298a401e223
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:35 2013 +0000
target-ppc: Extract MPC5200/MPC5200B aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cf9314cd77f07398303423dd17c520fa92d0b30f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:34 2013 +0000
target-ppc: Extract MPC52xx alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d329ceb2baa441629e83006a7e86933d871edadd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:33 2013 +0000
target-ppc: Extract MPC82xx_HiP{3, 4} aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f172e4b99f73115705842bcd676253644e8c356c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:32 2013 +0000
target-ppc: Extract MPC82xx aliases to *_HiP4
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d55320fdb64b9110fa379520434f70d60d90bdd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:31 2013 +0000
target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases
This depends on the fix for "G2leGP3" PVR.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 63499f2109f7849420cc8858204bff267a0edcd6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:30 2013 +0000
target-ppc: Extract MPC82xx alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4475e98f995ab726ce8bbf70225b2d90b20b9cd3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:29 2013 +0000
target-ppc: Extract e200 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0683641cc754e3d786acdeab8d00723dbd87727b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:28 2013 +0000
target-ppc: Extract e300 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9538de4fe708ca09af3a786fb9b26e2269ebc8f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:27 2013 +0000
target-ppc: Extract MPC83xx aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d4decb484b5cc31a9a4a069eff21c89f8d288b5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:26 2013 +0000
target-ppc: Extract e500v1/e500v2 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 52d80768dba6876919bb4e7f4fc00641431ef2cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:25 2013 +0000
target-ppc: Extract MPC85xx aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 91b5d028786b22bc4fe89b439ea55276ad09ec8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:21 2013 +0000
target-ppc: Extract 604e alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 336c86322d67dd3eb2e6d571b9d94c761b6988ea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:24 2013 +0000
target-ppc: Extract 601/601v aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4ae0e9d870f0e588a459529d9cc660e20f2ac5b3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:23 2013 +0000
target-ppc: Extract 603r alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 16a177333eaa041104f8eeb37d7bbc33d6753695
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:22 2013 +0000
target-ppc: Extract 603e alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0446aecd56739760a2fa4b1dec342e3a4d5ebe9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:20 2013 +0000
target-ppc: Extract 740/750 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8fc82f9e0d93b6d827a874a25dce6f6a226cef5d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:19 2013 +0000
target-ppc: Extract 750 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80c7abd3171c2939020f01d5310c3bd066ccad19
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:18 2013 +0000
target-ppc: Extract 7x5 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 06704e9ceb85916537c8398735aa18e24ebdad86
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:17 2013 +0000
target-ppc: Extract 7400 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 08546b912cc5f2940ef9e6d2d83abb43d295bbee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:16 2013 +0000
target-ppc: Extract 7410 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df502ce84527fc55544c66c2bd9a920480036cb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:15 2013 +0000
target-ppc: Extract 7448 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e9a7cf3bb386ce4b425e4dd154fa660e59939ab5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:14 2013 +0000
target-ppc: Extract 7450 alias
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 078840e1bc1e21964fbf91548a9430a1a61195de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:13 2013 +0000
target-ppc: Extract 74x1 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d96c8a2344eea5d15556d86f986c4911fb875831
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:12 2013 +0000
target-ppc: Extract 74x5 as aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4c739207ddaa2d4da96f887b802536117a49e6e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:11 2013 +0000
target-ppc: Extract 74x7[A] aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a7de06e17ecdd3b2cd57c2b6f01913e663365f49
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:10 2013 +0000
target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8c00a9991ae759048c444a6836ce2206e4b0d372
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:09 2013 +0000
target-ppc: Extract 440 aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8f43bc789c7ddd1a0f5b3cbc55cf67a1c6ae44e5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:08 2013 +0000
target-ppc: Extract 40x aliases
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 20267b6f327ed2d7c54451034d234d67b1b410e9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:07 2013 +0000
target-ppc: Extract MGT823/MPC8xx as aliases
They used different PVRs but were defined to MPC8xx.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0b9a74e53c012953c54f4bd5a09e20cf1cc48a7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:06 2013 +0000
target-ppc: Extract MPC5xx aliases
Their PVR differed but was defined to MPC5xx.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f7851859d2af38bbdf953269a7e2a9b4681b4253
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:05 2013 +0000
target-ppc: Make -cpu "ppc" an alias to "ppc32"
Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64.
If we ever want to change it, we can more easily do so now.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fd5ed418c7703bb7403f89f1474b0fe633f989cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:04 2013 +0000
target-ppc: Extract aliases from definitions list
Move definitions that were 100% identical except for the name into a
list of aliases so that we don't register duplicate CPU types.
Drop the accompanying comments since they don't really add value.
We need to support recursive lookup due to code names referencing a
generic name referencing a specific model revision.
List aliases separately for -cpu ?.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4d0a36c3630ad30058406747d3cd4cc6a6eae3c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:03 2013 +0000
target-ppc: Inline comma into POWERPC_DEF_SVR() macro
To repurpose the POWERPC_DEF_SVR() macro outside of an array,
move the comma into the macro. No functional change.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9a1350539a69f465c14109605d6648572794ceda
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:02 2013 +0000
target-ppc: Drop nested TARGET_PPC64 guard for POWER7
It is within a large TARGET_PPC64 section from 970 to 620,
so an #endif /* TARGET_PPC64 */ is confusing. Clean this up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e95acc8ff2a068b09494f2522744f89f662a515
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:01 2013 +0000
target-ppc: Update error handling in ppc_cpu_realize()
Commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e added a new fatal error
message while QOM realize'ification was in flight.
Convert it to return an Error instead of exit()ing.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bfe6d5b0daf9fdafeb0dbb7c26774dbb1bbb4507
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 17 23:16:00 2013 +0000
target-ppc: Fix "G2leGP3" PVR
Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the
"G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR.
Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to
"G2leGP3".
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0136d715ad985fccb8fed4bb5081d5bd20bfe88c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 10:53:11 2013 +0000
target-ppc: Fix CPU_POWERPC_MPC8547E
It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21.
Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show.
Fixing this nontheless helps with QOM'ifying CPU aliases.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 156dfaded87d718a9ea798083e1c3e5ea7526713
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Feb 10 18:59:02 2013 +0000
pseries: Add cleanup hook for PAPR virtual LAN device
Currently the spapr-vlan device does not supply a cleanup call for its
NetClientInfo structure. With current qemu versions, that leads to a SEGV
on exit, when net_cleanup() attempts to call the cleanup handlers on all
net clients.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d6258c93a7133bb2bf2ab4e91476bc0b631ba7f1
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:35 2013 +0530
virtio-serial: make flow control explicit in virtio-console
virtio-console.c used to return a value less than the number of bytes
asked to be written out to a chardev backend in case the backend is not
writable. virtio-serial-bus.c then implicitly enabled flow control for
that port.
Make this explicit instead.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
f5ec50b068c25422256e499cf4adc06d353bf394.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7df4d4578f70b565870f353ba0b72f2f23781a09
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:34 2013 +0530
virtio: console: add flow control
The virtio-serial-bus already has the logic to make flow control work
properly. Hook into the char layer's new ability to signal a backend is
writable again.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
abffa02235d55ca6e2489068c58971c8897e976c.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fcfb4d6aae611d1f804d486d3c998000912c4c81
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:33 2013 +0530
serial: add flow control to transmit
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
2976f10d4e66ed4a34011f6f0d6937026d22be5f.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:32 2013 +0530
qemu-char: move text console init to console.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
17cefde0a8d7807294bab95e93c3328a20d3f2ed.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5ab8211b9e1215ed136164c6d9622f2c928f7a8d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:31 2013 +0530
qemu-char: move msmouse registeration to msmouse.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
b47d1153b0d7669743c9a6bb98ce30f4cf7f876b.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08744c98115cfa144ed3493556024e400b2e2573
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:30 2013 +0530
qemu-char: move baum registration to baum.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
1b24baa1ec3a174d5cad31e079d829904b53077b.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 26c60614524f41bc9016cbe27eaefe59473d3461
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:29 2013 +0530
qemu-char: move spice registration to spice-qemu-char.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
49a8d12eeb117e5530b2fab02af7681b54f9245c.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d654f34ec8bf006f9b57a067e0f272ab94ee8e06
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:28 2013 +0530
qemu-char: make char drivers dynamically registerable
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
0ff4f5f2b8b7afdb85a0c241403ad73f472f0b81.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f939df955a4152aad69a19a77e0898631bb2c18
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:27 2013 +0530
qemu-char: remove use of QEMUTimer in favor of glib idle function
qemu-char is now independent of the QEMU main loop.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
3cda0bbcfb94912df8a767983a52bb71a4a3231d.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aa33cafc41a0fe8549d1dbcc65b75c31112dea8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:26 2013 +0530
qemu-char: use a glib timeout instead of qemu-timer
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
05a883ce5a98275b976bf0124610599859c2b7da.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d3cc5bc416cdf25bae0f3f6de58830be8ac5b648
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Mar 5 23:21:25 2013 +0530
char: add gio watch fn for tcp backends
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
b50e668c4f4146a654c5d4412440eb9e589f2c02.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e6a87ed837b52aea903c25693b1e3703824b9ef7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:24 2013 +0530
qemu-char: add pty watch
This lets ptys support adding front end watchs.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
23380f37b22d407ba0b9e080f6ea0d66b279f2d2.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 23673ca740e0eda66901ca801a5a901df378b063
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:23 2013 +0530
qemu-char: add watch support
This allows a front-end to request for a callback when the backend
is writable again.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
96f93c0f741064604bbb6389ce962191120af8b7.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ea5a7af7bfa576a5936400ccca4144caca9640b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:22 2013 +0530
qemu-char: tcp: make use GIOChannel
I didn't bother switching to g_io_channel_read/write because we need to
use
sendmsg on Unix. No problem though since we're using an unbuffered
channel.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
002f726576dfb51bca4854aa257b74d77c1cd4e8.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76a9644b711541472d9fb3a9b418acd55d9464a1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:21 2013 +0530
qemu-char: convert UDP to GIOChannel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
775a2bd666a3d1fa008656bf97191b7573c6ffb5.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 093d3a20055282e282ba056addbe59b79e13a32f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:20 2013 +0530
qemu-char: convert pty to GIOChannel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
339eebf3c59a450b0354056e9ac4b41f67230831.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a29753f8aa79a34a324afebe340182a51a5aef11
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:19 2013 +0530
qemu-char: convert fd_chr to use a GIOChannel
This uses the newly introduced IOWatchPoll source.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
0cb5d14510ee835a0ebc23676d10a2cce9280da5.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 96c6384776d631839a9c8fe02bf135f9ba22586c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:18 2013 +0530
char: add IOWatchPoll support
This is a special GSource that supports CharDriverState style
poll callbacks.
For reviewability and bisectability, this code is #if 0'd out in this
patch to avoid unused warnings since all of the functions are static.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
9b59ac17b9d0bb3972a73fed04d415f07b391936.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ed7a154063266a30a31752d3b18d484ddc7f5aa9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:17 2013 +0530
qemu-char: remove dead/confusing logic with nb_stdio_clients
This code is very old dating back to 2007. What is puzzling is that
STDIO_MAX_CLIENTS was always #define to 1 meaning that all of the code to
deal
with more than one client was unreachable.
Just remove the whole mess of it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
d276bccdbf4e7463020c5f539f61ae3bfbc88d1d.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit baca6f183d78a0c864a5ccc0ec64e26ba960e604
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Mar 5 23:21:16 2013 +0530
char-socket: fix error reporting
Right now the inet connect code tries all available addresses but until
one
doesn't fail. It passes local_err each time without clearing it from the
previous failure. This can trigger an assert since the inet connect code
tries to set an error on an object != NULL.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Message-id:
16c806d60aa5e9660ed7751bb4e37dcd278f97f0.1362505276.git.amit.shah@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit db2d5eba652ecb7420ac4ef79fc747ef391ad0d9
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 7 15:50:26 2013 +0800
Fix the wrong description in qemu manual
Fix LP#1151450 the wrong description in qemu manual:
'qemu-system-x86_84' should be 'qemu-system-x86_64'.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d37e12a07c06b13610b7fabb6b8e009d7a759bc8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 1 16:57:41 2013 +0000
pci_host: Drop write-only address_space field
The address_space field of PCIHostState was only ever written, never used.
Drop it completely.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f9c9d12856e65e272297a619705864d9e6346f8
Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 1 07:53:55 2013 -0500
rng-random: Use qemu_open / qemu_close
In the rng backend use qemu_open and qemu_close rather than POSIX
open/close.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 358689fe299c306f1d81bea57a5067d0abb56699
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Mar 1 08:43:18 2013 +0100
configure: Require at least spice-protocol-0.12.3
As of 5a49d3e9 we assume SPICE_PORT_EVENT_BREAK to be defined.
However, it is defined not in 0.12.2 what we require now, but in
0.12.3. Therefore in order to prevent build failure we must
adjust our minimal requirements.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bd1afbdb3a228683dafa77a9fb3093f0dfab1de
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 6 22:29:16 2013 +0800
osdep: replace setsockopt by qemu_setsockopt
Fix the compiler warning when cross build qemu-ga
for windows by using qemu_setsockopt() instead of
setsockopt().
util/osdep.c: In function 'socket_set_nodelay':
util/osdep.c:69:5: warning: passing argument 4 of 'setsockopt' from
incompatible pointer type [enabled by default]
In file included from /home/lei/qemu_b/include/sysemu/os-win32.h:30:0,
from /home/lei/qemu_b/include/qemu-common.h:46,
from util/osdep.c:48:
/usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:990:63: note:
expected 'const char *' but argument is of type 'int *'
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58427a0f42679c875b077b7adc5db36897973865
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 4 18:11:47 2013 +0100
lm32: remove unused function
The milkymist-minimac device in fact does not exist at all.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eeb29fb9aa733f97d85857c210d6580a92a1b532
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Feb 26 19:31:32 2013 -0500
rtc-test: Fix test failures with recent glib
As of glib 2.35.4, glib changed its logic for ordering test cases:
https://bugzilla.gnome.org/show_bug.cgi?id=694487
This was causing failures in rtc-test. Group the reordered test
cases into their own suite, which maintains the original ordering.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4652b792f01b559e005186b703ed9b1a11cbf8e3
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 21:05:01 2013 +0100
configure: Create link to icon bitmap for out-of-tree builds
This allows to pick up the icon when starting QEMU directly from an
out-of-tree build directory.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0bc472a9d6b80567c212023c5eae413f4dfb53ad
Author: Kuo-Jung Su <dantesu@xxxxxxxxx>
Date: Tue Mar 5 21:27:24 2013 +0000
hw/nand.c: correct the sense of the BUSY/READY status bit
The BIT6 of Status Register(SR):
SR[6] behaves the same as R/B# pin
SR[6] = 0 indicates the device is busy;
SR[6] = 1 means the device is ready
Some NAND flash controller (i.e. ftnandc021) relies on the SR[6]
to determine if the NAND flash erase/program is success or error timeout.
P.S:
The exmaple NAND flash datasheet could be found at following link:
http://www.mxic.com.tw/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/8FEA549237D2F7674825795800104C26/$File/MX30LF1G08AA,%203V,%201Gb,%20v1.1.pdf
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0c92e0e6b64c9061f7365a2712b9055ea35b52f9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:16:05 2013 +0100
scsi-disk: handle io_canceled uniformly and correctly
Always check it immediately after calling bdrv_acct_done, and
always do a "goto done" in case the "done" label has to free
some memory---as is the case for scsi_unmap_complete in the
previous patch.
This patch could fix problems that happen when a request is
split into multiple parts, and one of them is canceled. Then
the next part is fired, but the HBA's cancellation callbacks have
fired already. Whether this happens or not, depends on how the
block/ driver implements AIO cancellation. It it does a simple
bdrv_drain_all() or similar, then it will not have a problem.
If it only cancels the given AIOCB, this scenario could happen.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d0242eadc5bba4f3abe34bc5d536bbfb81aa9891
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:14:34 2013 +0100
scsi-disk: do not complete canceled UNMAP requests
Canceled requests should never be completed, and doing that could cause
accesses to a NULL hba_private field.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Tested-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6f6710aa99ac53b59ff0f14380830cb9ab6bdc14
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 25 12:12:58 2013 +0100
scsi: do not call scsi_read_data/scsi_write_data for a canceled request
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c33ea9640758bb625e110a77673e5abfd184e54
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 18:14:28 2013 +0100
iscsi: look for pkg-config file too
Due to library conflicts, Fedora will have to put libiscsi in
/usr/lib/iscsi. Simplify configuration by using a pkg-config
file. The Fedora package will distribute one, and the patch
to add it has been sent to upstream libiscsi as well.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb1b83e740384b4e0d950f3d7c81c02b8ce86c2e
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 18 14:50:46 2013 +0100
iscsi: add iscsi_truncate support
this patch adds iscsi_truncate which effectively allows for
online resizing of iscsi volumes. for this to work you have
to resize the volume on your storage and then call
block_resize command in qemu which will issue a
readcapacity16 to update the capacity.
v4:
- factor out complete readcapacity logic into a separate function
- handle capacity change check condition in readcapacity function
(this happens if the block_resize cmd is the first iscsi task
executed after a resize on the storage)
v3:
- remove switch statement in iscsi_open
- create separate patch for brdv_drain_all() in bdrv_truncate()
v2:
- add a general bdrv_drain_all() before bdrv_truncate() to avoid
in-flight AIOs while the device is truncated
- since no AIOs are in flight we can use a sync libiscsi call
to re-read the capacity
- factor out the readcapacity16 logic as it is redundant
to iscsi_open() and iscsi_truncate().
Signed-off-by: Peter Lieven <pl@xxxxxxx>
[allow any type of unit attention check condition in
iscsi_readcapacity_sync(),
as in Message-ID: <51263A2A.6070304@xxxxxxxxx> - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1dde716ed6719c341c1bfa427781f0715af90cbc
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Thu Feb 21 16:15:54 2013 +0100
iscsi: retry read, write, flush and unmap on unit attention check
conditions
the storage might return a check condition status for various reasons.
(e.g. bus reset, capacity change, thin-provisioning info etc.)
currently all these informative status responses lead to an I/O error
which is populated to the guest. this patch introduces a retry mechanism
to avoid this.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76c48503c4c87afabf0c93acf78480f65276844d
Merge: 597e2ce... ed4659d...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Mar 5 15:11:30 2013 +0100
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
MAINTAINERS: add entry for ARM KVM guest cores
configure: Enable KVM on ARM
hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC
target-arm: Use MemoryListener to identify GIC base address for KVM
hw/arm_gic: Convert ARM GIC classes to use init/realize
hw/arm_gic: Add presave/postload hooks
ARM KVM: save and load VFP registers from kernel
ARM: KVM: Add support for KVM on ARM architecture
target-arm: Drop CPUARMState* argument from bank_number()
linux-headers: resync from mainline to add ARM KVM headers
oslib-posix: Align to permit transparent hugepages on ARM Linux
target-arm: Don't decode RFE or SRS on M profile cores
target-arm: Factor out handling of SRS instruction
commit 597e2cec8096e0703506abcbbf66938b5ac04368
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:50 2013 -0800
mipsn32-linux-user: Configure the architecture properly
N32 is a 64-bit cpu with a 32-bit address space. We have
existing cpp defines for this situation, but weren't using them.
This does mean that the linux-user/mipsn32 directory must be
merged with the linux-user/mips64 directory, and differences
must be resolved via ifdefs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 68473f15d4c9948986618f63828825beafcaf1cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:46 2013 -0800
mips64-linux-user: Enable 64-bit address mode and fpu
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ff4f7382815d31933fe0cbedce03270e4b62b771
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:45 2013 -0800
mips-linux-user: Fix n32 and n64 syscalls
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 084d0497a0edf060d8f61c798217b6d0622a5feb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:44 2013 -0800
mips-linux-user: Save and restore fpu and dsp from sigcontext
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 51cd14d3f56f15cb82e63d694a023ce2b02334f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:43 2013 -0800
mips-linux-user: Enable mips64 and mipsn32 linux-user targets
At this point we can enable compilation, though things
still don't work.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ff97090469eb4a5f21a1f482b27382b8205d1232
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:42 2013 -0800
mips-linux-user: Share o32 code for n32 and n64 signals
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2c3c6689b32529b56261bbbca36ba8544a34dd60
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Feb 10 10:30:41 2013 -0800
mips-linux-user: Delete n32 and n64 signal stubs
Deleting these first makes the next patch much easier to read.
This doesn't cause any sort of compilation failure because we
have not yet enabled n32/n64 compilation. This is dead code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ed4659d10fa2ec16ace367e4fffe6f7ced73112c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
MAINTAINERS: add entry for ARM KVM guest cores
Add an entry indicating maintainer status for the ARM KVM code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 68b05c427b0d220e38bfa21ee6df7970f158b377
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
configure: Enable KVM on ARM
Enable KVM on ARM hosts, now that all the necessary components
for it exist.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ed46676160d94d279e32ce955fd60b76c7a1b370
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:43 2013 +0000
hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC
Implement support for using the KVM in-kernel GIC for ARM.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit eb035b48d5ff26a155f37106f693acb8b8487d80
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:42 2013 +0000
target-arm: Use MemoryListener to identify GIC base address for KVM
When using an in-kernel GIC with KVM, we need to tell the kernel where
the GIC's memory mapped registers live. Do this by registering a
MemoryListener which tracks where the board model maps the A15's
private peripherals, so we can finish the GIC initialisation
when the GIC is actually mapped.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 53111180946a56d314a9c1d07d09b9ef91e847b9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:42 2013 +0000
hw/arm_gic: Convert ARM GIC classes to use init/realize
Convert the ARM GIC classes to use init/realize rather than
SysBusDevice::init. (We have to do them all in one patch to
avoid unconverted subclasses calling a nonexistent SysBusDevice
init function in the base class and crashing.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ecb992674cec86091b4fce3bd66faee8b56b165
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
hw/arm_gic: Add presave/postload hooks
Add presave/postload hooks to the ARM GIC common base class.
These will be used by the KVM in-kernel GIC subclass to sync
state between kernel and userspace when migrating.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 81635574f6e7f4d18ea059ecbeeec93c3ffc284c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
ARM KVM: save and load VFP registers from kernel
Add support for saving and restoring VFP register state from the
kernel. This includes a check that the KVM-created CPU has full
VFP support (as the TCG Cortex-A15 model always does), since for
the moment ARM QEMU doesn't have any way to tweak optional features
on created CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 494b00c76afb906a2d093b71c8772331c2a19a89
Author: Christoffer Dall <cdall@xxxxxxxxxxxxxxx>
Date: Tue Mar 5 00:34:41 2013 +0000
ARM: KVM: Add support for KVM on ARM architecture
Add basic support for KVM on ARM architecture.
Signed-off-by: Christoffer Dall <cdall@xxxxxxxxxxxxxxx>
[PMM: Minor tweaks and code cleanup, switch to ONE_REG]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f5206413affd658e2fdcf893c810d715b2c7fec6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
target-arm: Drop CPUARMState* argument from bank_number()
Drop the CPUARMState* argument from bank_number(), since we only
use it for passing to cpu_abort(). Use hw_error() instead.
This avoids propagating further interfaces using env pointers.
In the long term this function's callers need auditing to fix
problems where badly behaved guests can pass invalid bank numbers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit eadd0e4413c9b69015c798909f48ec48ab0c7bd4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
linux-headers: resync from mainline to add ARM KVM headers
Resync QEMU's copy of the Linux kernel headers from
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM
support has just hit mainline via Russell's ARM tree.
This is not a pure sync -- I have removed by hand some changes
that would have reverted updates for s390x and ppc which have not
yet hit mainline.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2e07b297e0b450fe38bab115f71749e032d7191c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:34:40 2013 +0000
oslib-posix: Align to permit transparent hugepages on ARM Linux
ARM Linux (like x86-64 Linux) can use transparent hugepages for
KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN
accordingly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 00115976bb066d4b33dbb07a92f8bde5ec8b9518
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:31:17 2013 +0000
target-arm: Don't decode RFE or SRS on M profile cores
M profile cores do not have the RFE or SRS instructions, so
correctly UNDEF these insn patterns on those cores.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 81465888c5306cd94abb9847e560796fd13d3c2f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 5 00:31:17 2013 +0000
target-arm: Factor out handling of SRS instruction
Factor out the handling of the SRS instruction rather than
duplicating it between the Thumb and ARM decoders. This in
passing fixes two bugs in the Thumb decoder's SRS handling
which didn't exist in the ARM decoder:
* (LP:1079080) storing CPSR rather than SPSR (fixed in the
ARM decoder in commit c67b6b71 in 2009)
* failing to free the 'addr' TCG temp in the writeback case
Reported-by: Cesson Vincent <vcesson@xxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 26135ead80fa1fd13e95c162dacfd06f2ba82981
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Mon Jan 21 20:43:31 2013 +0000
target-mips: Fix accumulator selection for MIPS16 and microMIPS
Add accumulator arguments to gen_HILO and gen_muldiv, rather than
extracting the accumulator directly from ctx->opcode. The extraction
was only right for the standard encoding: MIPS16 doesn't have access
to the DSP registers, while microMIPS encodes the accumulator register
in a different field (bits 14 and 15).
Passing the accumulator register is probably an over-generalisation
for division and 64-bit multiplication, which never access anything
other than HI and LO, and which always pass 0 as the new argument.
Separating them felt a bit fussy though.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 54b2f42cb1eef758b6070e805a5d6f7a84315ace
Author: Meador Inge <meadori@xxxxxxxxxxxxxxxx>
Date: Thu Jan 10 16:50:22 2013 -0600
target-mips: Translate breaks and traps into the appropriate signal
GCC and GAS are capable of generating traps or breaks to check for
division by zero. Additionally, GAS is capable of generating traps
or breaks to check for overflow on certain division and multiplication
operations. The Linux kernel translates these traps and breaks into
signals. This patch implements the corresponding feature in QEMU.
Signed-off-by: Meador Inge <meadori@xxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 20c334a797bf46a4ee59a6e42be6d5e7c3cda585
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Feb 25 16:45:40 2013 +0100
target-mips: fix DSP overflow macro and affected routines
The previous implementation incorrectly used same macro to detect overflow
for addition and subtraction. This patch makes distinction between these
two, and creates separate macros. The affected routines are changed
accordingly.
This change also includes additions to the existing tests for SUBQ_S_PH
and
SUBQ_S_W that would trigger the fixed issue, and it removes dead code from
the test file. The last test case in subq_s_w.c is a bug found/reported/
isolated by Klaus Peichl from Dolby.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 71df81afc618da79008a7071a666cf97b62e1237
Merge: a690060... 272d2d8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:22:48 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By MORITA Kazutaka (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block: for HMP commit() operations on 'all', skip non-COW drives
sheepdog: add support for connecting to unix domain socket
sheepdog: use inet_connect to simplify connect code
sheepdog: accept URIs
move socket_set_nodelay to osdep.c
slirp/tcp_subr.c: fix coding style in tcp_connect
dataplane: remove EventPoll in favor of AioContext
virtio-blk: fix unplug + virsh reboot
ide/macio: Fix macio DMA initialisation.
commit a6900601caf2286a704bdc42da33e98c65feb3a9
Merge: e482ded... 554f199...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:22:41 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,vhost,pci,e1000
Mostly bugfixes, but also some ICH work by Laszlo.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 28 Feb 2013 07:13:56 AM CST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
Set virtio-serial device to have a default of 2 MSI vectors.
ICH9 LPC: Reset Control Register, basic implementation
Fix guest OS hang when 64bit PCI bar present
e1000: unbreak the guest network migration to 1.3
vhost: memory sync fixes
commit e482dedc503819a009e245996f7cdb13eed6b165
Merge: bf5363e... 5c75fb1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:20:32 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-1.7.2.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2.1:
update seabios to 1.7.2.1
commit bf5363efcff81226d779d1cc1117cb277b458ecb
Merge: 806f352... af347aa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Mar 4 08:20:06 2013 -0600
Merge remote-tracking branch 'stefanha/net' into staging
# By Jason Wang (2) and others
# Via Stefan Hajnoczi
* stefanha/net:
qmp: netdev_add is like -netdev, not -net, fix documentation
doc: document -netdev hubport
net: reduce the unnecessary memory allocation of multiqueue
tap: set IFF_ONE_QUEUE per default
tap: forbid creating multiqueue tap when hub is used
net: fix unbounded NetQueue
net: fix qemu_flush_queued_packets() in presence of a hub
commit 272d2d8e1241b92ab9be87b2c8fb590fd84987a8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Feb 26 09:55:48 2013 -0500
block: for HMP commit() operations on 'all', skip non-COW drives
During a commit of 'all' using the HMP non-live commit, the operation
is aborted and returns error on the first error enountered. When
non-COW drives are in use (e.g. ejected floppy, cdrom, or drives without
a backing parent), that means a commit all will return an error of either
-ENOMEDIUM or -ENOTSUP. This is not desirable, so for the 'all' commit
case, only attempt the commit if both bs->drv and bs->backing_hd are
present.
More succinctly: 'commit all' now means a commit on all COW drives.
This means an individual commit to a specific non-COW drive will still
return the appropriate error (-ENOMEDIUM if eject / not present, -ENOTSUP
if no backing file).
Reported-by: Jan Kiszka <jan.kiszka@xxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b8bbb46e7593b92ded74cc2a5461202c2b6c05c
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:53 2013 +0900
sheepdog: add support for connecting to unix domain socket
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu sheepdog+unix:///<vdiname>?socket=<socket path>[#snapid]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 25af257d219ed2708b3bcf7f1fabf93234d27620
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:52 2013 +0900
sheepdog: use inet_connect to simplify connect code
This uses the form "<host>:<port>" for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d6768e3b8908a60f0a3016b7fa24194f6b47c80
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:51 2013 +0900
sheepdog: accept URIs
The URI syntax is consistent with the NBD and Gluster syntax. The
syntax is
sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf1c852aa9cbe21beeb7c37d03e167c33ac196b2
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:50 2013 +0900
move socket_set_nodelay to osdep.c
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4ef7b8944cc5eae66159c60066b21466e2dc1ee4
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Fri Feb 22 12:39:49 2013 +0900
slirp/tcp_subr.c: fix coding style in tcp_connect
Fix coding style in tcp_connect before the next patch.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c20e711de308cdebc91ae4b7a983396b56f1de0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 22 10:40:34 2013 +0100
dataplane: remove EventPoll in favor of AioContext
During the review of the dataplane code, the EventPoll API morphed itself
(not concidentially) into something very very similar to an AioContext.
Thus, it is trivial to convert virtio-blk-dataplane to use AioContext,
and a first baby step towards letting dataplane talk directly to the
QEMU block layer.
The only interesting note is the value-copy of EventNotifiers. At least
in my opinion this is part of the EventNotifier API and is even portable
to Windows. Of course, in this case you should not close the notifier's
underlying file descriptors or handle with event_notifier_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69b302b2044a9a0f6d157d25b39a91ff7124c61f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 22 14:37:10 2013 +0100
virtio-blk: fix unplug + virsh reboot
virtio-blk registers a vmstate change handler. Unfortunately this
handler is not unregistered on unplug, leading to some random
crashes if the system is restarted, e.g. via virsh reboot.
Lets unregister the vmstate change handler if the device is removed.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02d583c7232d65920634f7553700eb348f84e472
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Feb 24 20:46:11 2013 +0000
ide/macio: Fix macio DMA initialisation.
Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a
bug
in the initialisation of the second macio DMA device which could cause
some
DMA operations to segfault QEMU.
CC: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 806f352d3d6f7b326b0ab3a49c622b124459dc8d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:05 2013 +0000
gen-icount.h: Rename gen_icount_start/end to gen_tb_start/end
The gen_icount_start/end functions are now somewhat misnamed since they
are useful for generic "start/end of TB" code, used for more than just
icount. Rename them to gen_tb_start/end.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3a808cc407744c30daa7470b5f191cde1fbc1aae
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:04 2013 +0000
translate-all.c: Remove cpu_unlink_tb()
The (unsafe) function cpu_unlink_tb() is now unused, so we can simply
remove it and any code that was only used by it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 378df4b23753a11be650af7664ca76bc75cb9f01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:03 2013 +0000
Handle CPU interrupts by inline checking of a flag
Fix some of the nasty TCG race conditions and crashes by implementing
cpu_exit() as setting a flag which is checked at the start of each TB.
This avoids crashes if a thread or signal handler calls cpu_exit()
while the execution thread is itself modifying the TB graph (which
may happen in system emulation mode as well as in linux-user mode
with a multithreaded guest binary).
This fixes the crashes seen in LP:668799; however there are another
class of crashes described in LP:1098729 which stem from the fact
that in linux-user with a multithreaded guest all threads will
use and modify the same global TCG date structures (including the
generated code buffer) without any kind of locking. This means that
multithreaded guest binaries are still in the "unsupported"
category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 77211379d73ea0c89c0b5bb6eee74b17cb06f9a8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:02 2013 +0000
cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC
If tcg_qemu_tb_exec() returns a value whose low bits don't indicate a
link to an indexed next TB, this means that the TB execution never
started (eg because the instruction counter hit zero). In this case the
guest PC has to be reset to the address of the start of the TB.
Refactor the cpu-exec code to make all tcg_qemu_tb_exec() calls pass
through a wrapper function which does this restoration if necessary.
Note that the apparent change in cpu_exec_nocache() from calling
cpu_pc_from_tb() with the old TB to calling it with the TB returned by
do_tcg_qemu_tb_exec() is safe, because in the nocache case we can
guarantee that the TB we try to execute is not linked to any others,
so the only possible returned TB is the one we started at. That is,
we should arguably previously have included in cpu_exec_nocache() an
assert(next_tb & ~TB_EXIT_MASK) == tb), since the API requires restore
from next_tb but we were using tb.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fadf982584b040527aeee0ede270a4d01463d293
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 22 18:10:01 2013 +0000
cpu: Introduce ENV_OFFSET macros
Introduce ENV_OFFSET macros which can be used in non-target-specific
code that needs to generate TCG instructions which reference CPUState
fields given the cpu_env register that TCG targets set up with a
pointer to the CPUArchState struct.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0980011b4f66482d2733ab2dd0f2f61747772c6b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 22 18:10:00 2013 +0000
tcg: Document tcg_qemu_tb_exec() and provide constants for low bit uses
Document tcg_qemu_tb_exec(). In particular, its return value is a
combination of a pointer to the next translation block and some
extra information in the low two bits. Provide some #defines for
the values passed in these bits to improve code clarity.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 07ca08bac88f116e9beb05d48d07b406ace8fbc0
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Wed Feb 27 16:09:38 2013 +0000
tcg-sparc: fix build
Fix build breakage by 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c:
make tcg_out_addsub2() always available.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7a2771d1541ec9a0c585e9b853e5f4dc036919ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
sh: move files referencing CPU to hw/sh4/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f64bd8aec7c31c76fa0954aaee1475d482662b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:20:00 2013 +0100
ppc: move more files to hw/ppc
These sPAPR files do not implement devices, move them over.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c68c4a56e93f54b374c5207f0185f8e9fa2aec3b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
ppc: move files referencing CPU to hw/ppc/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9743b581a819a05668e6a1f60e3ee6486d25f141
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
m68k: move files referencing CPU to hw/m68k/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8786b05e7bf3c4fc7a25fa14f1736a716cd8a8c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
i386: move files referencing CPU to hw/i386/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dd285b06490d7ef5f7b2f5e6c87b85ddf4345078
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 15:22:56 2013 +0100
arm: move files referencing CPU to hw/arm/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 530182169e897c0e401b245552a4c58dc6846912
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:03:15 2013 +0100
hw: move boards and other isolated files to hw/ARCH
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:52:23 2013 +0100
ppc: express FDT dependency of pSeries and e500 boards via
default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 320ba5fe494c0ef59080eac33801ec1e453663fa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 5 12:36:30 2013 +0100
build: always link device_tree.o into emulators if libfdt available
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83c9f4ca794ec3b6fa7e5a5bb055d378916503e0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:40:22 2013 +0100
hw: include hw header files with full paths
Done with this script:
cd hw
for i in `find . -name '*.h' | sed 's/^..//'`; do
echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
done | sed -i -f - `find . -type f`
This is so that paths remain valid as files are moved.
Instead, files in hw/dataplane are referenced with the relative path.
We know they are not going to move to include/, and they are the only
include files that are in subdirectories _and_ move.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7948b4b009b60c6e3b21daad29088b204ddb1966
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Feb 3 20:18:28 2013 +0100
ppc: do not use ../ in include files
This simplifies the scripted execution of the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eac7ec7f6a5c9e1a0a082ea8525f31549b1f0cb4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:00:38 2013 +0100
vt82c686: vt82c686 is not a PCI host bridge
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 60653b28f505288689d0b44218de4bb9fd254519
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:37:49 2013 +0100
virtio-9p: remove PCI dependencies from hw/9pfs/
Also move the 9p.h file to 9pfs/virtio-9p-device.h, for consistency
with the corresponding .c file.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7e6b14dfb575a687cb26be9995c96e5bbf5cba2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 15:32:02 2013 +0100
virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1559e0d4b54d1b0744983b57da893617ceae8b94
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 17:20:47 2013 +0100
hw: move device-hotplug.o to toplevel, compile it once
The situation with device-hotplug.c is similar to qdev-monitor.c.
Add a stub for pci_drive_hot_add, so that it can be compiled once,
and move it out of hw/.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b4a42f81383d60900aae09513f42eb857a5a7c7c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 11:37:52 2013 +0100
hw: move qdev-monitor.o to toplevel directory
qdev-monitor.c is the only "core qdev" file that is not used in
user-mode emulation, and it does not define anything that is used
by hardware models. Remove it from the hw/ directory and
remove hw/qdev-monitor.h from hw/qdev.h too; this requires
some files to have some new explicitly includes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd7f0d66177ec1058a2a256856ff38fc9ceae5af
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 4 10:57:50 2013 +0100
hw: move fifo.[ch] to libqemuutil
fifo.c is generic code that can be easily unit tested. So it
belongs in libqemuutil.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 159b6e9f144c7afdf3ad95c29d1fede9626fa8b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Feb 3 20:21:00 2013 +0100
hw: move char backends to backends/
Braille and msmouse support is in hw/, but it is not hardware.
Move it to the backends/ directory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 288f1e3f87ec24abeac38399f175fe74243f7bc5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:16 2013 +0000
cadence_gem: Add debug msgs for rx desc movement
Add some helpful messages that show the rx descriptor pointer moving as
packets
are rxed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1ef2eb34dade64d589a69a2bcfd5aaddb7d50164.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5025388b5083f199b05cc252c2b031d9fc230391
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:16 2013 +0000
cadence_gem: Don't reset rx desc pointer on rx_en
This doesn't happen in the real hardware. The Zynq TRM explicitly states
that
this bit has no effect on the rx descriptor pointer ("The receive queue
pointer register is unaffected").
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
06fdf92b78ee62d8965779bafd29c8df1a5d2718.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ae80a3546f412c407199b9b7ebd52ac604361e10
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: fix interrupt events
Bits in the ISR were continually mirroring their corresponding TX/RX SR
bits.
This is incorrect. The ISR bits are only ever set at the time their
corresponding event occurs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cedfb6d108318846480b416a6041023ea5a353d6.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1c5d07909aea7657c7c6b24223460150526369ba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: factor out can_rx() logic replication
The gem_receive() function replicates the logic for whether or not the
device
can rx. Just call the actual gem_can_receive() function in place.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bf7f93969f3e01fbc76d68d2955307fdbad11bb1.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e3f9d31c9899cc94e124b042d7d5353dbfd812ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
cadence_gem: Flush queued packets
The device needs to check for queued RX packets when the RX path is
re-enabled.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1fa8c88a3b7c654886d0a7484c2463cd4c2a2781.1360901435.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7fd6915d84b20d5ff9ae287ddfabb9b222e7067
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:15 2013 +0000
m25p80.c: Use QOM classes for part differentiation
Currently, M25P80 uses an object property to differentiate between flash
parts.
Changed this over to use QOM sub-classes - the actual names of the
different parts
are used to create a set of dynamic classes which passes the part info as
class
data. The object no longer needs to search the known_devices table for
itself,
instead it just gets its info from its own class.
Kept the intermediate class definition private to m25p80.c for the
moment, as
the expectation is parts will only be added as new entries in the table.
We can
factor out the TYPE_M25P80 abstraction into a header on a demand basis.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: e24e156d-ff96-4901-997a-e31178b08bee@xxxxxxxxxxxxxxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b972b4e25340abdd23238bc8f3bdacbef533bd5a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
xilinx_zynq: Added SD controllers
The Xilinx Zynq device has two SDHCI controllers. Added to the machine
model.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 80f4d9fcea86aeb3071750c199416cab9abd5c28
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
vl.c: allow for repeated -sd arguments
Allows for repeating of -sd arguments in the same way as -pflash and
-mtdblock.
Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d7dfca0807a0f579d3ec985bf1220519420c4dfe
Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
hw/sdhci: introduce standard SD host controller
Device model for standard SD Host Controller Interface (SDHCI) compliant
with
version 2.00 of SD association specification.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 353575f0959234e1680622f747e20308c94505b7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:14 2013 +0000
arm: a9mpcore: Coreify the SCU
Split the SCU in a9mpcore out into its own object definition. mpcore is
now
just a container for the mpcore components.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9595978292e9a5b5f0ec77a9f6a0e724c10bf3b4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: a9mpcore: remove old_timer_status field
This field was write only and thus unused. Removed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cde4577f11cd557cfd48d752b7a0929d19eac9e9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: mptimer: Remove WDT distinction
In QEMU emulation, there is no functional difference between the ARM
mpcore
private timers and watchdogs. Removed all the distinction between the two
from
arm_mptimer.c and converted it to be just the mptimer. a9mpcore and
arm11mpcore
just instantiate the same mptimer object twice to get both timer and WDT.
If in the future we want to make the WDT functionally different then we
can use
either QOM hierarchy to derive WDT from from mptimer, or we can add a
property
"is-wdt" or some such.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 845769fc6319d308a39a78734c6dc03fa93ff2c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: arm11mpcore, a9mpcore: CamelCased type names
To conform with QEMU coding style.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6205ddf6cff202ac0ce6621987cd3de8b57adee
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Feb 28 18:23:13 2013 +0000
arm: mptimer: CamelCased type names
Trivial find replace on type names "timerblock" and "arm_mptimer_state" to
conform with QEMU coding style.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1be97bf22447088adebf23b1ca508d4bb00f853c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/pflash_cfi01: Treat read in unknown command state as read
The code for handling the default "unknown command state" case in
pflash_read in pflash_cfi01.c comments "reset state & treat it as
a read". However the code doesn't actually do this. Moving the
default case to the top of the switch so it can fall through into
the read case brings this file into line with pflash_cfi02 and
makes the code behave as the comments suggest.
The pflash_cfi01 code has always had this bug -- it was presumably
introduced when the original author copied the cfi02 code and
rearranged the order of the switch statement without noticing
that the default case relied on the fall-through.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1358777318-7579-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 6e392787c85809671033ec419d8e8ecf684d55da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/pflash_cfi01: Make read after byte-write or erase return status
The Intel flash command set requires that a read operation after
doing a 'single byte write' command returns the status register;
add this case to pflash_read() so we return the correct information.
Similarly, the case for the 0x28 flavour of block erase was missing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1358777318-7579-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 5c78d6a84b504e831adc8f1917cde0c79061dff0
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Feb 28 18:23:12 2013 +0000
hw/ds1338: Fix conversion between 12 hours and 24 hours modes.
The proper mapping between 24 hours and 12 hours modes is:
0 12 AM
1-11 1-11 AM
12 12 PM
13-23 1-11 PM
Fix code accordingly.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 28 09:18:56 2013 +0100
update seabios to 1.7.2.1
Alex Williamson (3):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function
Avik Sil (1):
USB-EHCI: Fix null pointer assignment
Kevin O'Connor (4):
Update tools/acpi_extract.py to handle iasl 20130117 release.
Fix Makefile - don't reference "out/" directly, instead use
"$(OUT)".
build: Don't require $(OUT) to be a sub-directory of the main
directory.
Verify CC is valid during build tests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a4bcea3d67949c6be45992bd5092a19f163bcd4e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 26 12:06:23 2013 -0800
target-i386: Use mulu2 and muls2
These correspond very closely to the insns that we're emulating.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 554f1997f0328bc259454239db64b20b3376d9a6
Author: Gal Hammer <ghammer@xxxxxxxxxx>
Date: Wed Feb 27 15:15:31 2013 +0200
Set virtio-serial device to have a default of 2 MSI vectors.
The virtio-serial device is expected to use 2 MSI vectors, one for
control queue and a second shared for all queues.
Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0e98b436eceb9d31caad898f4983a369c76524e0
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Feb 20 02:51:24 2013 +0100
ICH9 LPC: Reset Control Register, basic implementation
This commit does the same for the ICH9 LPC as commit 1ec4ba74 for the
PIIX3. For the present we're ignoring the Full Reset (FULL_RST) and System
Reset (SYS_RST) bits; the guest can read them back but that's it.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7feb640cf32d86f91f5a624136345eb6a63eab42
Author: Alexey Korolev <akorolex@xxxxxxxxx>
Date: Fri Feb 22 16:58:44 2013 +1300
Fix guest OS hang when 64bit PCI bar present
This patch addresses the issue fully described here:
http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html
Linux kernels prior to 2.6.36 do not disable the PCI device during
enumeration process. Since lower and higher parts of a 64bit BAR
are programmed separately this leads to qemu receiving a request to occupy
a completely wrong address region for a short period of time.
We have found that the boot process screws up completely if kvm-apic range
is overlapped even for a short period of time (it is fine for other
regions though).
This patch raises the priority of the kvm-apic memory region, so it is
never pushed out by PCI devices. The patch is quite safe as it does not
touch memory manager.
Signed-off-by: Alexey Korolev <akorolex@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2af234e61d59f39ae16ba882271e7c4fef2c41c1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Feb 14 19:11:27 2013 +0200
e1000: unbreak the guest network migration to 1.3
QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a
1.3 machine during link auto negotiation, the guest link will be set to
down.
Fix this by just disabling auto negotiation for 1.3 and older.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit af347aa5a521555f5342e67993eb717d4f542ba8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 22 18:31:51 2013 +0100
qmp: netdev_add is like -netdev, not -net, fix documentation
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40e8c26d7b7e260cc3566c6b68cee969e816970e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 26 11:07:16 2013 +0100
doc: document -netdev hubport
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6b26cf257232e5854c0e5c98a8685c625bf986e
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Fri Feb 22 23:15:06 2013 +0800
net: reduce the unnecessary memory allocation of multiqueue
Edivaldo reports a problem that the array of NetClientState in NICState
is too
large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue
is not
used.
Instead of static arrays, solving this issue by allocating the queues on
demand
for both the NetClientState array in NICState and VirtIONetQueue array in
VirtIONet.
Tested by myself, with single virtio-net-pci device. The memory
allocation is
almost the same as when multiqueue is not merged.
Cc: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d26e445c80fddcc7483b83f3115e5067fef28fe6
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 25 10:17:08 2013 +0100
tap: set IFF_ONE_QUEUE per default
historically the kernel queues packets two times. once
at the device and second in qdisc. this is believed to cause
interface stalls if one of these queues overruns.
setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the
flag is ignored since then. see kernel commit
5d097109257c03a71845729f8db6b5770c4bbedc
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce675a7579fea498397c5d2da3c5367671e9f02a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Feb 21 11:05:56 2013 +0800
tap: forbid creating multiqueue tap when hub is used
Obviously, hub does not support multiqueue tap. So this patch forbids
creating
multiple queue tap when hub is used to prevent the crash when command
line such
as "-net tap,queues=2" is used.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d91ddd25e3a4e5008a2ac16127d51a34fd56bf1
Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Date: Tue Feb 5 18:29:09 2013 +0100
net: fix unbounded NetQueue
In the current implementation of qemu, running without a network
backend will cause the queue to grow unbounded when the guest is
transmitting traffic.
This patch fixes the problem by implementing bounded size NetQueue,
used with an arbitrary limit of 10000 packets, and dropping packets
when the queue is full _and_ the sender does not pass a callback.
The second condition makes sure that we never drop packets that
contains a callback (which would be tricky, because the producer
expects the callback to be run when all previous packets have been
consumed; so we cannot run it when the packet is dropped).
If documentation is correct, producers that submit a callback should
stop sending when their packet is queued, so there is no real risk
that the queue exceeds the max size by large values.
Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 199ee608f0d08510b5c6c37f31a7fbff211d63c4
Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Date: Tue Feb 5 17:53:31 2013 +0100
net: fix qemu_flush_queued_packets() in presence of a hub
When frontend and backend are connected through a hub as below
(showing only one direction), and the frontend (or in general, all
output ports of the hub) cannot accept more traffic, the backend
queues packets in queue-A.
When the frontend (or in general, one output port) becomes ready again,
quemu tries to flush packets from queue-B, which is unfortunately empty.
e1000.0 <--[queue B]-- hub0port0(hub)hub0port1 <--[queue A]-- tap.0
To fix this i propose to introduce a new function net_hub_flush()
which is called when trying to flush a queue connected to a hub.
Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b37a23df98faa26391a93373930bfb15b943e00
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Feb 21 13:16:06 2013 +0200
vhost: memory sync fixes
This fixes two bugs related to memory sync during
migration:
- ram address calculation was missing the chunk
address, so the wrong page was dirtied
- one after last was used instead of the
end address of a region, which might overflow to 0
and cause us to skip the region when the region ends at
~0x0ull.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Jason Wang <jasowang@xxxxxxxxxx>
commit ee24aaf356f44ca7c8fbef136a438c12091cffd0
Merge: 31e76f6... 7bd43ec...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 13:36:09 2013 -0600
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Jan Kiszka
# Via Jan Kiszka
* kiszka/queues/slirp:
slirp: Properly initialize pollfds_idx of new sockets
commit 31e76f65a98e1502cbfd362eed5768c48e264c23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Feb 26 00:46:10 2013 +0100
glib: Add compat wrapper for g_poll on old glib
Older glib doesn't implement g_poll(). Most notably the glib version in
use
on SLE11 is on 2.18 which is hit by this.
We do want to use g_poll() in the source however. So on older systems,
just
wrap it with functions that do exist on older versions.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1361835970-2889-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 989b697ddd46769b0999e8cd16b5ecd393204734
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 26 17:52:40 2013 +0000
qemu-log: default to stderr for logging output
Switch the default for qemu_log logging output from "/tmp/qemu.log"
to stderr. This is an incompatible change in some sense, but logging
is mostly used for debugging purposes so it shouldn't affect production
use. The previous behaviour can be obtained by adding "-D /tmp/qemu.log"
to the command line.
This change requires us to:
* update all the documentation/help text (we take the opportunity
to smooth out minor inconsistencies between the phrasing in
linux-user/bsd-user/system help messages)
* make linux-user and bsd-user defer to qemu-log for the default
logging destination rather than overriding it themselves
* ensure that all logfile closing is done via qemu_log_close()
and that that function doesn't close stderr
as well as the obvious change to the behaviour of do_qemu_set_log()
when no logfile name has been specified.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1361901160-28729-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab4004495cb1cf38ab2e35f84ee54e669e2ad08a
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Mon Feb 25 10:27:48 2013 +0800
show --disable-gtk and --enable-gtk in the help message
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Message-id: 1361759268-16314-1-git-send-email-hutao@xxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bc0477c7d6445730b22e733ad4a65f0cc23fa405
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:46 2013 +0000
Add compat for GDK_KEY_XXX symbols
The GDK_KEY_XXX symbols are new in GTK3 and only the most
recent GTK2 releases. Most versions of GTK2 have simply
used GDK_XXX
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-14-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef6413a2a833abe24aae072bd59c7434969fc59d
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:45 2013 +0000
Add compat macro for gtk_widget_get_realized
The gtk_widget_get_realized method only arrived in GTK 2.20,
so defined a compat macro for earlier GTK
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-13-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 528de90ab7133e22df7c1da4632a6dcd525e88f0
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:44 2013 +0000
Add support for enabling build with GTK3
Add a arg to configure to switch from GTK2 (default) to
GTK3 (optional) build for QEMU.
./configure --with-gtkabi=3.0
will choose GTK3, while
./configure --with-gtkabi=2.0
will choose GTK2 (and remains the current default)
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-12-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d20664018a401120af28ff80ac8d22fbc887956
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:43 2013 +0000
Ensure x_keymap.o is built when GTK is enabled
The x_keymap.o file is required by both GTK and SDL builds,
so it must be explicitly listed as a GTK dep to ensure the
linker works when SDL is disabled
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-11-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe43bca85b269314b007cd9b2eecc4a52aa73dde
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:42 2013 +0000
Replace expose-event handler with draw handler in GTK3
In GTK3 the 'expose-event' signal has been replaced by a new
'draw' signal. The only difference is that the latter will
pre-create the cairo drawing context & set the clip mask.
Since the drawing code is already structured in a nice way,
we can just wire up the 'gd_draw_event' method to the 'draw'
signal in GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-10-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ed76b59c4f8670eb06df48cebe086da06111e1f
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:41 2013 +0000
Conditionalize use of gtk_widget_size_request
The gtk_widget_size_request method has been replaced by
the gtk_widget_get_preferred_size method in GTK3. Conditionally
call the new method in GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-9-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8906de769be0978fed31a0341d0a5829a4ef7ecf
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:40 2013 +0000
Conditionalize use of gdk_display_warp_pointer
In GTK3 the gdk_display_warp_pointer method is deprecated.
Instead we should use gdk_device_warp on the GdkDevice
instead associated with the event being processed.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-8-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 530daf82c129c2a8a6fa757b3ef5a21f1f50f66a
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:39 2013 +0000
Replace gtk_menu_append with gtk_menu_shell_append
The gtk_menu_append method has long been deprecated in favour
of the gtk_menu_shell_append method. The former is now entirely
gone in GTK3, so switch all code to the latter which works on
both GTK2 and GTK3
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-7-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 51572ab087b900ea67cc25f1c49dae4112274221
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:38 2013 +0000
Remove use of GtkVBox in GTK3
The GtkVBox class is deprecated, in favour of just using the
GtkBox class directly. Eventually even GtkBox will be
deprecated in favour of GtkGrid, but that is a bigger fix
which can wait.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-6-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a05485d72504ed92ce91dffd1f5867974c47ff0
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:37 2013 +0000
Conditionalize use of gdk_pointer_grab / gdk_pointer_ungrab
On GTK3 there is support for multiple pointer devices, so
rather than using gdk_pointer_grab / gdk_pointer_ungrab
we should iterate over all devices, grabbing each one in
turn
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-5-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 655199da197d2c3407d4bc937c9d3d3ac4551764
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:36 2013 +0000
Conditionalize use of gdk_keyboard_grab / gdk_keyboard_ungrab
On GTK3 there is support for multiple keyboard devices, so
rather than using gdk_keyboard_grab / gdk_keyboard_ungrab
we should iterate over all devices, grabbing each one in
turn
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-4-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 66962f14378d0adf2e7d0fcfac66e2248b09bb4d
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:35 2013 +0000
Remove use of gdk_drawable_get_{screen, display}
The gdk_drawable_get_screen and gdk_drawable_get_display
methods don't exist in GDK3. Fortunately, even on GTK2
they are not required - we can call the equivalent
gtk_widget_get_screen/gtk_widget_get_display methods
which have existed since GTK 2.2
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-3-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cba68834c69f2d0fd04127301171fedac63d9b67
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Mon Feb 25 15:20:34 2013 +0000
Add compat for gdk_drawable_get_size on GTK3
GTK3 lacks the gdk_drawable_get_size method, so we create a
stub impl which gets the get_width/get_height mehtods instead
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Message-id: 1361805646-6425-2-git-send-email-berrange@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f963e4d0ca5b7704aed8048e2bc293597d333dfb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 25 16:02:30 2013 +0100
gtk ui: unbreak spice
Merge of the gtk ui brought a initialitation order issue for spice:
The using_spice variable isn't set yet when checked, leading to the
default UI being activated (additionally to spice remote access).
Let's set display_remote when we find a -spice switch on the command
line, like we do for vnc.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1361804550-15858-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 864a556e9a800116a305f10fbb714268ca7e9bc3
Merge: 9a1d7f0... bf3caa3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:39 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Paolo Bonzini (7) and others
# Via Kevin Wolf
* kwolf/for-anthony: (22 commits)
pc: add compatibility machine types for 1.4
blockdev: enable discard by default
qemu-nbd: add --discard option
blockdev: add discard suboption to -drive
block: implement BDRV_O_UNMAP
block: complete all IOs before .bdrv_truncate
coroutine: trim down nesting level in perf_nesting test
coroutine: move pooling to common code
qemu-iotests: Test qcow2 image creation options
qemu-iotests: Add qemu-img compare test
qemu-img: Add compare subcommand
qemu-img: Add "Quiet mode" option
block: Add synchronous wrapper for bdrv_co_is_allocated_above
block: refuse negative iops and bps values
block: use Error in do_check_io_limits()
qcow2: support compressed clusters in BlockFragInfo
qemu-img: add compressed clusters to BlockFragInfo
qemu-img: fix missing space in qemu-img check output
qcow2: record fragmentation statistics during check
qcow2: introduce check_refcounts_l1/l2() flags
...
commit 9a1d7f00efd4b69f051d4223a70ca91af0ccb19d
Merge: b1c07f0... 90f8ae7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:32 2013 -0600
Merge remote-tracking branch 'quintela/stats.next' into staging
# By Juan Quintela
# Via Juan Quintela
* quintela/stats.next:
migration: calculate expected_downtime
migration: don't account sleep time for calculating bandwidth
migration: calculate end time after we have sent the data
migration: change initial value of expected_downtime
commit b1c07f06ed0e2094197274e636a90ad33674653c
Merge: 08f4a0f... 3960c41...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 26 07:44:24 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Markus Armbruster
# Via Luiz Capitulino
* luiz/queue/qmp:
check-qjson: More thorough testing of UTF-8 in strings
commit 7bd43ec2dd3ffaa12e6331af41fc55d4b2b12f13
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 20:47:10 2013 +0100
slirp: Properly initialize pollfds_idx of new sockets
Otherwise we may start processing sockets in slirp_pollfds_poll that
were created past slirp_pollfds_fill.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 08f4a0f7ee899c32bac91114e859d2687cbcf1d7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 25 11:41:40 2013 -0800
target-ppc: Fix SUBFE carry
While ~T0+T1+CF = T1-T0+CF-1 is true for the low 32-bits,
it does not produce the correct carry-out to bit 33. Do
exactly what the manual says.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e77f083292916ba43b940fdacd2fc1001b750d1d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 25 11:41:39 2013 -0800
target-arm: Fix sbc_CC carry
While T0+~T1+CF = T0-T1+CF-1 is true for the low 32-bits,
it does not produce the correct carry-out to bit 33. Do
exactly what the manual says.
Using the ~T1 makes the add and subtract code paths nearly
identical, so have sbc_CC use adc_CC.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c3ac601bdaf8d4d81823a79f2a166b586db7dab
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 25 11:41:38 2013 -0800
arm/translate.c: Fix adc_CC/sbc_CC implementation
commits 49b4c31efcce45ab714f286f14fa5d5173f9069d and
2de68a4900ef6eb67380b0c128abfe1976bc66e8 reworked the implementation of
adc_CC
and sub_CC. The new implementations (on the TCG_TARGET_HAS_add2_i32 code
path)
are incorrect. The new logic is:
CF:NF = 0:A +/- 0:CF
CF:NF = CF:A +/- 0:B
The lower 32 bits of the intermediate result stored in NF needs to be
passes
into the second addition in place of A (s/CF:A/CF:NF):
CF:NF = 0:A +/- 0:CF
CF:NF = CF:NF +/- 0:B
This patch fixes the issue.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a345481baa2b2fb3d54f8c9ddb58dfcaf75786df
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Thu Feb 7 19:36:09 2013 +0100
target-mips: fix for sign-issue in MULQ_W helper
Correct sign-propagation before multiplication in MULQ_W helper.
The change also fixes previously incorrect expected values in the
tests for MULQ_RS.W and MULQ_S.W.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9c19eb1e205b29018f6f61c5f43db6abbe7dc0e5
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Feb 6 18:05:25 2013 +0100
target-mips: fix for incorrect multiplication with MULQ_S.PH
The change corrects sign-related issue with MULQ_S.PH. It also includes
extension to the already existing test which will trigger the issue.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d2123a079d983677ec8333940aa4bec803d98cde
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:26 2013 -0800
target-xtensa: Use add2/sub2 for mac
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9cda20bc55e549d31e791bfa55eabe3642b73a7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:25 2013 -0800
target-xtensa: Use mul*2 for mul*hi
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d1f8cd839136337b713a05aaf11a5f189e81532d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:24 2013 -0800
target-unicore32: Use mul*2 for do_mult
Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d3b708491b9d7dde573261fdee8ca0afc6980fd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:23 2013 -0800
target-sh4: Use mul*2 for dmul*
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 528692a8a4fb6c545d818957e758d6ad70fa255c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:22 2013 -0800
target-sparc: Use mul*2 for multiply
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 15fe216fc510c2a0ecf39536bbbc92ba75beb963
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:21 2013 -0800
target-sparc: Use official add2/sub2 interfaces for addx/subx
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e4a2c846248ff8e786e741bc4bc3103b24dfba74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:20 2013 -0800
target-ppc: Compute mullwo without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ba4af3e422f7ba2de58fd752d6ca89922c259a74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:19 2013 -0800
target-ppc: Compute arithmetic shift carry without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fd3f0081e5d873b26b9988b48f7118a9914bbd64
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:18 2013 -0800
target-ppc: Implement neg in terms of subf
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:17 2013 -0800
target-ppc: Use add2 for carry generation
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 146de60dcade65a401c6665ae4b51c2b15dfaa55
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:16 2013 -0800
target-ppc: Compute addition carry with setcond
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ffe30937c89dd67a53bf3f35b962701cd9d8f70e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:15 2013 -0800
target-ppc: Compute addition overflow without branches
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2fdcb629071cb6206028bc7d6b69f3585fc365ec
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:14 2013 -0800
target-ppc: Use setcond in gen_op_cmp
Which means that callers need not copy data into local tmps.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit da91a00f191fc70ea7d81d7476ef933c562e6fcd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:13 2013 -0800
target-ppc: Split out SO, OV, CA fields from XER
In preparation for more efficient setting of these fields.
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 23ad1d5d3c00cd07ab7aedc128565c6029802c30
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:12 2013 -0800
target-ppc: Use mul*2 in mulh* insns
Cc: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bf45f97133b7f81d27711971a9e28d60528d90c8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:11 2013 -0800
target-cris: Use mul*2 in mul* insns
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ce1dd5d1bbb0a3769566cb6967714c8c8c97a815
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:10 2013 -0800
target-mips: Use mul[us]2 in [D]MULT[U] insns
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2de68a4900ef6eb67380b0c128abfe1976bc66e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:09 2013 -0800
target-arm: Implement sbc_cc inline
Use sub2 if available, otherwise use 64-bit arithmetic.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 49b4c31efcce45ab714f286f14fa5d5173f9069d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:08 2013 -0800
target-arm: Implement adc_cc inline
Use add2 if available, otherwise use 64-bit arithmetic.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:07 2013 -0800
target-arm: Use add2 in gen_add_CC
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9f10124a2704b6bab21b31e79735b18d414a654
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:06 2013 -0800
target-arm: Use mul[us]2 and add2 in umlal et al
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 831d7fe800774db0d7142fdf2a8f8758c8bf9c92
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:05 2013 -0800
target-arm: Use mul[us]2 in gen_mul[us]_i64_i32
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:04 2013 -0800
target-s390x: Use mulu2 for mlgr insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:03 2013 -0800
target-alpha: Use mulu2 for umulh insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f1fae40c61fd4558c7d10992c98b4bb47f99e0ed
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:02 2013 -0800
tcg: Apply life analysis to 64-bit multiword arithmetic ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f402f38f439f17d4361b28248f948a6170d30133
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:01 2013 -0800
tcg: Implement muls2 with mulu2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 76f131332310d8317880ef73a2bc90725d857ed3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:52:00 2013 -0800
target-i386: Use add2 to implement the ADX extension
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d693e14733509f9a2124b03a912058790411140a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:58 2013 -0800
tcg-arm: Implement muls2_i32
We even had the encoding of smull already handy...
Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 624988a53b4db34ee2a2b96dc2bccdf52e133a0a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:57 2013 -0800
tcg-i386: Implement multiword arithmetic ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f6953a739972353f2cc5e3d5994127ca8c8236ce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:56 2013 -0800
tcg: Implement multiword addition helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 696a8be6a077a5760bbf9822209999c908cdf0b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:55 2013 -0800
tcg: Implement multiword multiply helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:54 2013 -0800
tcg: Implement a 64-bit to 32-bit extraction helper
We're going to have use for this shortly in implementing other helpers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:53 2013 -0800
tcg: Add signed multiword multiplication operations
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d7156f7ce4581c874df4a27409e7d99873faa413
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:52 2013 -0800
tcg: Add 64-bit multiword arithmetic operations
Matching the 32-bit multiword arithmetic that we already have.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:51 2013 -0800
tcg-sparc: Always implement 32-bit multiword ops
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bbc863bfecfb3e3a3e21ce569e25046e24c0487c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:50 2013 -0800
tcg-i386: Always implement 32-bit multiword ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e6a72734549bd05d06d19957518811c24a6cbee4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 23:51:49 2013 -0800
tcg: Make 32-bit multiword operations optional for 64-bit hosts
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f708e736d0dafc05f8b7e9e73d6440c930b94686
Merge: 6ab7e54... f437d0a...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Feb 23 17:21:41 2013 +0000
Merge branch 'eflags3' of git://github.com/rth7680/qemu
* 'eflags3' of git://github.com/rth7680/qemu: (61 commits)
target-i386: Use movcond to implement shiftd.
target-i386: Discard CC_OP computation in set_cc_op also
target-i386: Use movcond to implement rotate flags.
target-i386: Use movcond to implement shift flags.
target-i386: Add CC_OP_CLR
target-i386: Implement tzcnt and fix lzcnt
target-i386: Use clz/ctz for bsf/bsr helpers
target-i386: Implement ADX extension
target-i386: Implement RORX
target-i386: Implement SHLX, SARX, SHRX
target-i386: Implement PDEP, PEXT
target-i386: Implement MULX
target-i386: Implement BZHI
target-i386: Implement BLSR, BLSMSK, BLSI
target-i386: Implement BEXTR
target-i386: Implement ANDN
target-i386: Implement MOVBE
target-i386: Decode the VEX prefixes
target-i386: Tidy prefix parsing
target-i386: Use CC_SRC2 for ADC and SBB
...
commit 6ab7e5465a4d6188e29398fb43a30dbab1015b75
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 20 15:21:09 2013 +0000
Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp()
The setjmp() function doesn't specify whether signal masks are saved and
restored; on Linux they are not, but on BSD (including MacOSX) they are.
We want to have consistent behaviour across platforms, so we should
always use "don't save/restore signal mask" (this is also generally
going to be faster). This also works around a bug in MacOSX where the
signal-restoration on longjmp() affects the signal mask for a completely
different thread, not just the mask for the thread which did the longjmp.
The most visible effect of this was that ctrl-C was ignored on MacOSX
because the CPU thread did a longjmp which resulted in its signal mask
being applied to every thread, so that all threads had SIGINT and SIGTERM
blocked.
The POSIX-sanctioned portable way to do a jump without affecting signal
masks is to siglongjmp() to a sigjmp_buf which was created by calling
sigsetjmp() with a zero savemask parameter, so change all uses of
setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf,
0)
to save the signal mask; however the following siglongjmp() must not
restore the signal mask, so the pair can be effectively considered as
"sigjmp/longjmp which don't touch the mask".]
For Windows we provide a trivial sigsetjmp/siglongjmp in terms of
setjmp/longjmp -- this is OK because no user will ever pass a non-zero
savemask.
The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c
are left untouched because these are self-contained singlethreaded
test programs intended to be run under QEMU's Linux emulation, so they
have neither the portability nor the multithreading issues to deal with.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d1c36ba707637173b818652e51181370d51b6c58
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 12:45:07 2013 +0100
SPARC LEON power-down support added
Signed-off-by: Ronald Hecht <address@hidden>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7a0a9c2c64be242d5953d5ce6172976b05f6c14f
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 12:45:06 2013 +0100
Added LEON MMU ASI mappings and corrected LEON3 MMU masks.
This patch adds SPARC ASI mappings that are used by the LEON processor.It
also
corrects the MMU context register and context table pointer mask of the
LEON3.
Signed-off-by: Ronald Hecht <ronald.hecht@xxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 99e448006d9267d71c2e3a629b6e5d29ed67bb30
Author: Ronald Hecht <ronald.hecht@xxxxxx>
Date: Tue Feb 19 17:22:11 2013 +0100
grlib-apbuart: Add support of various flags
- enable/disable Rx and Tx
- Rx and Tx interrupt
- Tx FIFO empty and Tx SHIFT empty
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8eda222831d31e6562bf1ce50d22fa29e1b6d958
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Feb 19 17:22:10 2013 +0100
Typo: replace gptimer by apbuart
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit af18078d8057203b1ed26ac5534d233aabb36886
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 2 17:17:54 2013 +0000
disas/i386.c: Add explicit braces round empty for-loop body
Add explicit braces round an empty for-loop body; this fits
QEMU style and is easier to read than an inconspicuous semicolon
at the end of the line. It also silences a clang warning:
disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body]
for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++);
^
disas/i386.c:4723:49: note: put the semicolon on a separate line to
silence this warning [-Wempty-body]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 632314c49ce20ee9c974f07544d9125fbbbfbe1b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 12 16:13:27 2013 +0000
qemu-log: Remove qemu_log_try_set_file() and its users
Remove the function qemu_log_try_set_file() and its users (which
are all in TCG code generation functions for various targets).
This function was added to abstract out code which was originally
written as "if (!logfile) logfile = stderr;" in order that BUG:
case code which did an unguarded "fprintf(logfile, ...)" would
not crash if debug logging was not enabled. Since those direct
uses of logfile have also been abstracted away into qemu_log()
calls which check for a NULL logfile, there is no need for the
target-* files to mess with the user's chosen logging settings.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 685cbd2f63a48bd111bd2c3c4a2228029595ba12
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Thu Feb 21 22:58:08 2013 +0100
xhci: fix bad print specifier
This fixes the following compilation error:
hw/usb/hcd-xhci.c:1156:17: error: format â??%llxâ?? expects argument of
type
â??long long unsigned intâ??, but argument 4 has type â??unsigned intâ??
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 30e8f22b7bc6694b9abea43f45db6fd5be4df429
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Feb 22 20:53:33 2013 +0100
gtk: Rename File to Machine menu and add pause, reset and power down items
This adds basic guest control commands to the "Machine" menu - a nice
added-value for the GTK UI.
We use "pause" as the term for stopping the machine here. So reword also
the related caption tag.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 104092825ac3274d16ffc35b7ef9ac8c636e1c48
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 20:33:34 2013 +0100
ui/gtk: Use menu item from stock for full screen
This reduces the required translations and gives a nicer menu
with an icon.
The full screen menu item is no longer a check menu item.
A checked item is not visible in full screen mode,
so it is not needed for this special menu item.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361561614-11180-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28d2e5b27d538d94d2489d657b563c58b4d69bc4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 20:09:59 2013 +0100
ui/gtk: Support versions of VTE before 0.26
This is needed for current Debian stable (Squeeze).
VTE versions before 0.26 did not support VtePty.
Lower the version requirement and use alternate code which works for
Debian.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361560199-28906-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c95e3080a44946ac5739542b549f5a10ee4ec377
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 22 21:08:51 2013 +0100
Reenable -Wstrict-prototypes
One part of this patch reverts commit 22bc9a46, which disabled the
warning. The rest of it deals with the warning by adding a #pragma for
newer gcc and by disabling -Werror for compilers that can't deal with
the #pragma.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Message-id: 1361563731-13307-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf3caa3dc17552b323cec6831301a22cfc98ecd5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:15 2013 +0100
pc: add compatibility machine types for 1.4
Adds both pc-i440fx-1.4 and pc-q35-1.4.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 215e47b9ea2cd7926333b7dc683024aa00e0c386
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:14 2013 +0100
blockdev: enable discard by default
Because discard is now a host parameter, we can always fake it as enabled
in the guest. This is an extension of the current choice to ignore
"not supported" errors from the host when discard_granularity is set
to nonzero.
The default granularity is set to the logical block size or 4k, whichever
is largest, because cluster sizes below 4k are rarely used and 4K is a
typical block size for files.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ded9d2d5e247dc4d141c01bc8dc99d6ec832f9e8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:13 2013 +0100
qemu-nbd: add --discard option
Similar to --cache and --aio, this option mimics the discard suboption
of "-drive".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a9384aff5315e7568b6ebc171f4a482e01f06526
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:12 2013 +0100
blockdev: add discard suboption to -drive
Add support for BDRV_O_UNMAP from the QEMU command-line.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e8f1835ea3ab3be83634f34c1bb8b69cd871766
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 14:06:11 2013 +0100
block: implement BDRV_O_UNMAP
It is better to present homogeneous hardware independent of the storage
technology that is chosen on the host, hence we make discard a host
parameter; the user can choose whether to pass it down to the image
format and protocol, or to ignore it.
Using DISCARD with filesystems can cause very severe fragmentation, so it
is left default-off for now. This can change later when we implement the
"anchor" operation for efficient management of preallocated files.
There is still one choice to make: whether DISCARD has an effect on the
dirty bitmap or not. I chose yes, though there is a disadvantage: if
the guest is buggy and issues discards for data that is in use, there
will be no way to migrate storage for that guest without downgrading
the machine type to an older one.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9a665b2b8640e464f0a778216fc2dca8d02acf33
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Feb 18 13:48:31 2013 +0100
block: complete all IOs before .bdrv_truncate
bdrv_truncate() invalidates the bdrv_check_request() result for
in-flight requests, so there should better be none.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 027003152f4cf21952f9282b4487daf3fdd372ba
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 19 11:59:10 2013 +0100
coroutine: trim down nesting level in perf_nesting test
20000 nested coroutines require 20 GB of virtual address space.
Only nest 1000 of them so that the test (only enabled with
"-m perf" on the command line) runs on 32-bit machines too.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 402397843e20e35d6cb7c80837c7cfdb19ede591
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 19 11:59:09 2013 +0100
coroutine: move pooling to common code
The coroutine pool code is duplicated between the ucontext and
sigaltstack backends, and absent from the win32 backend. But the
code can be shared easily by moving it to qemu-coroutine.c.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4dc9f9d67dbf5d062d8db188b81cef435f291dd8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 29 10:46:52 2013 +0100
qemu-iotests: Test qcow2 image creation options
Just create lots of images and try out each of the creation options that
qcow2 provides (except backing_file/fmt for now)
I'm not totally happy with the behaviour of qemu-img in each of the
cases, but let's be explicit and update the test when we do change
things later.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e930d201bc8066a314b9e115e4a2afca50f9c504
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:42 2013 +0100
qemu-iotests: Add qemu-img compare test
Simple test for qemu-img compare to check it's working correctly.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d14ed18c8d10a936e6f8b55f56afb4b75c305e10
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:41 2013 +0100
qemu-img: Add compare subcommand
This patch adds new qemu-img subcommand that compares content of two disk
images.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f382d43a9180ed20c671dc058d5452c2df7d3c61
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:40 2013 +0100
qemu-img: Add "Quiet mode" option
There can be a need to turn output to stdout off. This patch adds a -q
option
that enable "Quiet mode". In Quiet mode, only errors are printed out.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b35b2bba5b372ff912c5fe7e5ad6c5a9d883464f
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Wed Feb 13 09:09:39 2013 +0100
block: Add synchronous wrapper for bdrv_co_is_allocated_above
There's no synchronous wrapper for bdrv_co_is_allocated_above function
so it's not possible to check for sector allocation in an image with
a backing file.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d81c1413c9c9bdcc966453636e4ca7776b59861
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 16:53:43 2013 +0100
block: refuse negative iops and bps values
Negative I/O throttling iops and bps values do not make sense so reject
them with an error message.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c546194f260fb3e391193cb8cc33505618077ecb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 16:53:42 2013 +0100
block: use Error in do_check_io_limits()
The do_check_io_limits() function returns false when I/O limits are
invalid but it doesn't set an Error to indicate why. The two
do_check_io_limits() callers duplicate error reporting. Solve this by
passing an Error pointer into do_check_io_limits().
Note that the two callers report slightly different errors: drive_init()
prints a custom error message while qmp_block_set_io_throttle() does
error_set(errp, QERR_INVALID_PARAMETER_COMBINATION).
QERR_INVALID_PARAMETER_COMBINATION is a generic error, see
include/qapi/qmp/qerror.h:
#define QERR_INVALID_PARAMETER_COMBINATION \
ERROR_CLASS_GENERIC_ERROR, "Invalid parameter combination"
Since it is generic we are not obliged to keep this error. Switch to
the custom error message which contains more information.
This patch prepares for adding additional checks with their own error
messages to do_check_io_limits(). The next patch adds a new check.
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4db35162ea54d84c29074adfcff470ee2687e7b9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:05 2013 +0100
qcow2: support compressed clusters in BlockFragInfo
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e6439d783cce2c5cdbe4f8028f0b45162b540f82
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:04 2013 +0100
qemu-img: add compressed clusters to BlockFragInfo
Show how many clusters are compressed. This can be used to monitor how
many compressed clusters remain and whether to recompress the image.
Suggested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c9fc50839863f05545caca92bb9fbead8b1c91bd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:03 2013 +0100
qemu-img: fix missing space in qemu-img check output
The qemu-img check fragmentation printf() is missing a space before the
'=' sign. The human output is not guaranteed to be stable and we are
not aware of screen scrapers, so add the missing space.
Also fix the missing indentation of the printf() arguments.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fba31bae2d776fb4134186a830a252523df7933f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:02 2013 +0100
qcow2: record fragmentation statistics during check
The qemu-img check command can display fragmentation statistics:
* Total number of clusters in virtual disk
* Number of allocated clusters
* Number of fragmented clusters
This patch adds fragmentation statistics support to qcow2.
Compressed and normal clusters count as allocated. Zero clusters are
not counted as allocated unless their L2 entry has a non-zero offset
(e.g. preallocation).
Only the current L1 table counts towards the statistics - snapshots are
ignored.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 801f70445293ec8ed2d78fd92313c2f71fa48ac9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 7 17:15:01 2013 +0100
qcow2: introduce check_refcounts_l1/l2() flags
The check_refcounts_l1/l2() functions have a check_copied argument to
check that the QCOW_O_COPIED flag is consistent with refcount == 1.
This should be a bool, not an int.
However, the next patch introduces qcow2 fragmentation statistics and
also needs to pass an option to check_refcounts_l1/l2(). This is a good
opportunity to use an int flags field.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8599ea4c42c098d2657ed632ad569f7a665706a4
Author: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Date: Mon Jan 28 06:59:47 2013 -0500
qemu-img: add json output option to the check command
This option --output=[human|json] makes qemu-img check output a human
or JSON representation at the choice of the user.
Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c6bb9ad198c2caa9c7c8ba360a07630b5c10e4a8
Author: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Date: Mon Jan 28 06:59:46 2013 -0500
qemu-img: find the image end offset during check
This patch adds the support for reporting the image end offset (in
bytes). This is particularly useful after a conversion (or a rebase)
where the destination is a block device in order to find the first
unused byte at the end of the image.
Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5cbb08283789caf7dbfd0890dcff47124ad766c2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 22 08:40:30 2013 -0600
ui/gtk: require at least GTK 2.18 and VTE 0.26
This gives us the bare amount of features we need. We can add work
arounds
for older versions and lower the requirement but this should be a good
starting point.
Suggested-by: Daniel Berrange <berrange@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
---
v1 -> v2
- tremendous simplification suggested by danpb
commit 82fb0c8908ccbf775be749be9eb3fc0a5813ceaa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 22 12:11:59 2013 +0100
unbreak hw/usb/redirect.c build
Commit 8550a02d1239415342959f6a32d178bc05c557cc added a streams
parameter to usb_wakeup and didn't update redirect.c. Fix it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3f58eadeed497445a0ce11468c7394cb3d3f1b65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 22 07:28:01 2013 +0100
ui/gtk: Fix build (missing include for setlocale)
At least for Ubuntu Linux locale.h is needed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1361514481-26164-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90f8ae724a575861f093fbdbfd49a925bcfec327
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 13:22:37 2013 +0100
migration: calculate expected_downtime
We removed the calculation in commit
e4ed1541ac9413eac494a03532e34beaf8a7d1c5
Now we add it back. We need to create dirty_bytes_rate because we
can't include cpu-all.h from migration.c, and there is no other way to
include TARGET_PAGE_SIZE.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7161082c8d8cf167c508976887a0a63f4db92b51
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 12:41:38 2013 +0100
migration: don't account sleep time for calculating bandwidth
While we are sleeping we are not sending, so we should not use that
time to estimate our bandwidth.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a3e879cd51c4f614f702117c4b1449f0218c00f3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 12:39:08 2013 +0100
migration: calculate end time after we have sent the data
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit cc283e3bf04d2f64eb6ec2ee5bcd36edd779fe89
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Feb 1 11:12:26 2013 +0100
migration: change initial value of expected_downtime
0 is a very bad initial value, what we are trying to get is
max_downtime, so that is a much better estimation.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 73d4dc71f3a41131541c73b3ac2a8b160a51842b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:26 2013 -0600
gtk: suppress accelerators from the File menu when grab is active
If you're full screen, you probably expect Ctrl-Q to go to the guest,
not the host. I think restricting certain menus is the right way to
handle this generally speaking.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-10-git-send-email-aliguori@xxxxxxxxxx
commit 15546425c5527ebb08ede399373b705866f1ff84
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:25 2013 -0600
gtk: make default UI (v5)
A user can still enable SDL with '-sdl' or '-display sdl' but start
making the
default display GTK by default.
I'd also like to deprecate the SDL display and remove it in a few
releases.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-9-git-send-email-aliguori@xxxxxxxxxx
commit 834574ea89fa9c3ee0a557a13ad3f50db2509054
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:24 2013 -0600
gtk: add translation support (v5)
This includes a de_DE translation from Kevin Wolf and an it translation
from
Paolo Bonzini.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-8-git-send-email-aliguori@xxxxxxxxxx
commit c61584833c579cd7bf800499124ce3d0e15bfb37
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:23 2013 -0600
gtk: add support for screen scaling and full screen (v5)
Basic menu items to enter full screen mode and zoom in/out. Unlike SDL,
we
don't allow arbitrary scaling based on window resizing. The current
behavior
with SDL causes a lot of problems for me.
Sometimes I accidentally resize the window a tiny bit while trying to
move it
(Ubuntu's 1-pixel window decorations don't help here). After that,
scaling is
now active and if the screen changes size again, badness ensues since the
aspect ratio is skewed.
Allowing zooming by 25% in and out should cover most use cases. We can
add a
more flexible scaling later but for now, I think this is a more friendly
behavior.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-7-git-send-email-aliguori@xxxxxxxxxx
commit 5104a1f65088285ddf870aa641b9061064e8757d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:22 2013 -0600
gtk: add support for input grabbing (v2)
There is a small deviation from SDL's behavior here. Instead of Ctrl+Alt
triggering grab, we now use Ctrl-Alt-g to trigger grab.
GTK will not accept Ctrl+Alt as an accelerator since it just consists of
modifiers. Having grab as a proper accelerator is important as it allows
a user
to override the accelerator for accessibility purposes.
We also are not automatically grabbing on left-click. Besides the
inability to
tie mouse clicks to an accelerator, I think this behavior is hard to
discover
and since it only happens depending on the guest state, it can lead to
confusing
behavior.
This can be changed in the future if there's a strong resistence to
dropping
left-click-to-grab, but I think we're better off dropping it.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-6-git-send-email-aliguori@xxxxxxxxxx
commit d861def367b516055dc4c46dc1305143ee653c84
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:21 2013 -0600
gtk: add virtual console support (v2)
This enables VteTerminal to be used to render the text consoles.
VteTerminal is
the same widget used by gnome-terminal which means it's VT100 emulation
is as
good as they come.
It's also screen reader accessible, supports copy/paste, proper scrolling
and
most of the other features you would expect from a terminal widget.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-5-git-send-email-aliguori@xxxxxxxxxx
commit a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:20 2013 -0600
ui: add basic GTK gui (v5)
This is minimalistic and just contains the basic widget infrastructure.
The GUI
consists of a menu and a GtkNotebook. To start with, the notebook has
its tabs
hidden which provides a UI that looks very similar to SDL with the
exception of
the menu bar.
The menu bar allows a user to toggle the visibility of the tabs. Cairo
is used
for rendering.
I used gtk-vnc as a reference. gtk-vnc solves the same basic problems as
QEMU
since it was originally written as a remote display for QEMU. So for the
most
part, the approach to rendering and keyboard handling should be pretty
solid for
GTK.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-4-git-send-email-aliguori@xxxxxxxxxx
commit d82831dbc5471d72785c49b33710436af49bf9ca
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:19 2013 -0600
console: allow VCs to be overridden by UI
We want to expose VCs using a VteTerminal widget. We need access to
provide our
own CharDriverState in order to do this.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-3-git-send-email-aliguori@xxxxxxxxxx
commit 22bc9a46bda8f5f88626d3fb578f5d55953c9743
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 20 07:43:18 2013 -0600
build: disable Wstrict-prototypes
GTK won't build with strict-prototypes due to gtkitemfactory.h:
/* We use () here to mean unspecified arguments. This is deprecated
* as of C99, but we can't change it without breaking compatibility.
* (Note that if we are included from a C++ program () will mean
* (void) so an explicit cast will be needed.)
*/
typedef void (*GtkItemFactoryCallback) ();
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1361367806-4599-2-git-send-email-aliguori@xxxxxxxxxx
commit 00e2ceae6c55bef40f5128a3e606f5c44351e0f9
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 19 14:02:10 2013 +1000
qom/object.c: Allow itf cast with num_itfs = 0
num_interfaces only tells you how many interfaces the concrete child
class has
(as defined in the TypeInfo). This means if you have a child class which
defines
no interfaces of its own, but its parent has interfaces you cannot cast
to those
parent interfaces.
Fixed changing the guard to check the class->interfaces list instead
(which is
a complete flattened list of implemented interfaces).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a8c2db3b9b1f3c4bb81aca352b69e33260f36545.1361246206.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3e407de47700cce4babbe0f3ac35677e7b852cf6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 19 14:02:09 2013 +1000
qom/object.c: Reset interface list on inheritance
The QOM framework will attempt the recreate a classes interface list from
scratch for each class. This means that a child class should zero out the
list of interfaces when cloned from the parent class.
Currently the list is memcpy()d from the parent to the child. As the
interface
list is just a pointer to a list, this means the parent and child will
share
the same list of interfaces. When the child inits, it will append its own
interfaces to the parents list. This is incorrect as the parent should
not pick
up its childs interfaces.
This actually causes an infinite loop at class init time, as the child
will
iterate through the parent interface list adding each itf to its own
list(in
type_initialize()). As the list is (erroneously) shared, the new interface
instances for the child are appended to the parent, and the iterator
never hits
the tail and loops forever.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id:
1f58d2b629d82865dbb2fd5ba8445854049c4382.1361246206.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b1424e0381a7f1c9969079eca4458d5f20bf1859
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 20 09:37:12 2013 +0100
vga: fix byteswapping.
In case host and guest endianness differ the vga code first creates
a shared surface (using qemu_create_displaysurface_from), then goes
patch the surface format to indicate that the bytes must be swapped.
The switch to pixman broke that hack as the format patching isn't
propagated into the pixman image, so ui code using the pixman image
directly (such as vnc) uses the wrong format.
Fix that by adding a byteswap parameter to
qemu_create_displaysurface_from, so we'll use the correct format
when creating the surface (and the pixman image) and don't have
to patch the format afterwards.
[ v2: unbreak xen build ]
Cc: qemu-stable@xxxxxxxxxx
Cc: mark.cave-ayland@xxxxxxxxxxxx
Cc: agraf@xxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1361349432-23884-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ba43da36983a0bff2778abfa2338697da129030c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 20 16:24:22 2013 +0000
Remove elderly top level TODO file
The top level TODO file hasn't been touched since 2008, so it's now
an unhelpful and out of date mix of things that have already been done,
things that don't make sense any more and things which could in theory
be done but are not in practice important enough (or we'd have done
them some time in the last five years). Remove it. The bug tracking
system is probably a better place to track TODO items if we want to
do so.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1361377462-19816-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2ca81baa0b3363d57de94f8b80c02a003b361161
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Feb 20 18:04:01 2013 +0800
help: add docs for multiqueue tap options
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Message-id: 1361354641-51969-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5a01a70ad49b518c2c4b0f0a37f5435f01ce716
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:33 2013 +0100
aio: support G_IO_HUP and G_IO_ERR
aio-posix.c could not take advantage of G_IO_HUP and G_IO_ERR because
select(2) does not have equivalent events. Now that g_poll(3) is used
we can support G_IO_HUP and G_IO_ERR.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-11-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6b5f876252b7aeec43e319afdf17705f512be2bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:32 2013 +0100
aio: convert aio_poll() to g_poll(3)
AioHandler already has a GPollFD so we can directly use its
events/revents.
Add the int pollfds_idx field to AioContext so we can map g_poll(3)
results back to AioHandlers.
Reuse aio_dispatch() to invoke handlers after g_poll(3).
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-10-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0c8d2c05f67a1a007d87fa3b99254abfa42d06d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:31 2013 +0100
aio: extract aio_dispatch() from aio_poll()
We will need to loop over AioHandlers calling ->io_read()/->io_write()
when aio_poll() is converted from select(2) to g_poll(2).
Luckily the code for this already exists, extract it into the new
aio_dispatch() function.
Two small changes:
* aio_poll() checks !node->deleted to avoid calling handlers that have
been deleted.
* Fix typo 'then' -> 'them' in aio_poll() comment.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-9-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9cbaacf999b01b27dc3a22502705178057af66de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:30 2013 +0100
main-loop: drop rfds/wfds/xfds for good
Now that all *_fill() and *_poll() functions use GPollFD we no longer
need rfds/wfds/xfds or pollfds_from_select()/pollfds_to_select().
>From now on everything uses GPollFD.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-8-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3e4b4a8091cc4fcf7cb619570c72c54c2d6a6e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:29 2013 +0100
iohandler: switch to GPollFD
Convert iohandler_select_fill() and iohandler_select_poll() to use
GPollFD instead of rfds/wfds/xfds.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-7-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8917c3bdba37d6fe4393db0fad3fabbde9530d6b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:28 2013 +0100
slirp: switch to GPollFD
Slirp uses rfds/wfds/xfds more extensively than other QEMU components.
The rarely-used out-of-band TCP data feature is used. That means we
need the full table of select(2) to g_poll(3) events:
rfds -> G_IO_IN | G_IO_HUP | G_IO_ERR
wfds -> G_IO_OUT | G_IO_ERR
xfds -> G_IO_PRI
I came up with this table by looking at Linux fs/select.c which maps
select(2) to poll(2) internally.
Another detail to watch out for are the global variables that reference
rfds/wfds/xfds during slirp_select_poll(). sofcantrcvmore() and
sofcantsendmore() use these globals to clear fd_set bits. When
sofcantrcvmore() is called, the wfds bit is cleared so that the write
handler will no longer be run for this iteration of the event loop.
This actually seems buggy to me since TCP connections can be half-closed
and we'd still want to handle data in half-duplex fashion. I think the
real intention is to avoid running the read/write handler when the
socket has been fully closed. This is indicated with the SS_NOFDREF
state bit so we now check for it before invoking the TCP write handler.
Note that UDP/ICMP code paths don't care because they are
connectionless.
Note that slirp/ has a lot of tabs and sometimes mixed tabs with spaces.
I followed the style of the surrounding code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-6-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cf1d078e4ea094e516faab49678fbea3a34b7848
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:27 2013 +0100
slirp: slirp/slirp.c coding style cleanup
The slirp glue code uses tabs in some places. Since the next patch will
modify the file, convert tabs to spaces and fix checkpatch.pl issues.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-5-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 48ce11ff972c733afaed3e2a2613a2e56081ec92
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:26 2013 +0100
main-loop: switch POSIX glib integration to GPollFD
Convert glib file descriptor polling from rfds/wfds/xfds to GPollFD.
The Windows code still needs poll_fds[] and n_poll_fds but they can now
become local variables.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-4-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cbff4b342b000a7642125dbdabf61113e05eee44
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:25 2013 +0100
main-loop: switch to g_poll() on POSIX hosts
Use g_poll(3) instead of select(2). Well, this is kind of a cheat.
It's true that we're now using g_poll(3) on POSIX hosts but the *_fill()
and *_poll() functions are still using rfds/wfds/xfds.
We've set the scene to start converting *_fill() and *_poll() functions
step-by-step until no more rfds/wfds/xfds users remain. Then we'll drop
the temporary gpollfds_from_select() and gpollfds_to_select() functions
and be left with native g_poll(2).
On Windows things are a little crazy: convert from rfds/wfds/xfds to
GPollFDs, back to rfds/wfds/xfds, call select(2), rfds/wfds/xfds back to
GPollFDs, and finally back to rfds/wfds/xfds again. This is only
temporary and keeps the Windows build working through the following
patches. We'll drop this excessive conversion later and be left with a
single GPollFDs -> select(2) -> GPollFDs sequence that allows Windows to
use select(2) while the rest of QEMU only knows about GPollFD.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 134a03e0b3d34b01b68107104c525c3bff1211d4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 20 11:28:24 2013 +0100
main-loop: fix select_ret uninitialized variable warning
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1361356113-11049-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3960c41f05bf776cc23a4a3b861f729fa65295a5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Feb 5 09:30:55 2013 +0100
check-qjson: More thorough testing of UTF-8 in strings
Test cases are scraped from Markus Kuhn's UTF-8 decoder capability and
stress test at
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
Unfortunately, both JSON parser and formatter misbehave right now.
This test expects current, incorrect results. They're all clearly
marked, and are to be replaced by correct ones as the bugs get fixed.
See comments in new utf8_string() for details.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 70aa41b56ce3f34fceac44e828ba2d8cc19523ee
Merge: 259dc0c... 89a453d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 21 09:39:17 2013 -0600
Merge remote-tracking branch 'kraxel/usb.78' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.78:
uas-uas: usb3 streams
usb-xhci: usb3 streams
usb-core: usb3 streams
usb: fix endpoint descriptor ordering
usb-redir: simplify packet copy
usb: make usb_packet_copy operate on combined packets
usb: add usb_ep_set_halted
usb-host: remove usb_host_device_close
usb-host: move legacy cmd line bits
usb-storage: use scsi_req_enqueue return value
allow disabling usb smartcard support
make usb devices configurable
fix scripts/make_device_config.sh
usb: Makefile cleanup
commit 259dc0c1ce8eef14e5e0c349bc68ba05c9d5d82f
Merge: cc2832a5... 159c983...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 21 09:38:27 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Alin Tomescu (1) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
.gitignore: Ignore optionrom/*.asm
ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c
Add some missing qtest binaries to .gitignore
xilinx_axienet.c: Assert no error when making link
Remove forward declaration of non-existant variable
commit 159c9836d057d8990e71399e8a431b2b911e2885
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Feb 19 17:41:28 2013 -0500
.gitignore: Ignore optionrom/*.asm
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11e5d738a4c68cd20e90477fa8b7ee873bf3e2c0
Author: Alin Tomescu <tomescu.alin@xxxxxxxxx>
Date: Wed Feb 20 21:36:09 2013 -0500
ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c
I was trying to launch a PowerPC "bamboo" machine with more than 256MB of
RAM
with qemu-system-ppc -M bamboo -kernel $kernel -initrd $ramdisk -m 512,
but QEMU
would just hang. However, when I used -m 256, the machine would boot.
I looked through the code in hw/ and it seems there is an error when the
RAM memory is setup (if my understanding is correct).
After patching it, the machine launched and booted successfully with
512MB of
RAM.
Signed-off-by: Alin Tomescu <tomescu.alin@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 499a6165bef56ce3f5297fa7b1abaab32858a34f
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Feb 21 13:34:40 2013 +1100
Add some missing qtest binaries to .gitignore
These binaries are generated during make check on at least some
configurations, so att them to .gitignore.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b15aaca4303fe009870842dd922a0128b332a2fd
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 11 17:16:05 2013 +1000
xilinx_axienet.c: Assert no error when making link
This gives an awful silent failure when it doesn't work. Assert against
link
creation failure.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 87f1361c193c77dad428a7aa9bdce7ae2b76871f
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sun Feb 10 23:11:05 2013 +0100
Remove forward declaration of non-existant variable
This variable has been removed 5 years ago in
970ac5a3082428dca91171f270dcd95d6f4b2636.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f437d0a3c24e471a855da33a086fe529e09a06af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 21:06:31 2013 -0800
target-i386: Use movcond to implement shiftd.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2f515cf2f3795b9edb68eee42262e7c5f88fe98
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Feb 19 14:48:43 2013 -0800
target-i386: Discard CC_OP computation in set_cc_op also
The shift and rotate insns use movcond to set CC_OP, and thus
achieve a conditional EFLAGS setting. By discarding CC_OP in
a later flags setting insn, we can discard that movcond.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34d80a55ff8517fd37bcfea5063b9797e2bd9132
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 19:16:45 2013 -0800
target-i386: Use movcond to implement rotate flags.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a41f62f592d9ecf97df4a12023760fe082b1ee68
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 30 17:52:59 2013 -0800
target-i386: Use movcond to implement shift flags.
With this being all straight-line code, it can get deleted
when the cc variables die.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 436ff2d227588d42970c4f0ed1cdfcb87c872fba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 29 13:38:43 2013 -0800
target-i386: Add CC_OP_CLR
Special case xor with self. We need not even store the known
zero into cc_src.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 321c535105a182501b888f095f7ec4dbb5f3f6ae
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 21 13:32:02 2013 -0800
target-i386: Implement tzcnt and fix lzcnt
We weren't computing flags for lzcnt at all. At the same time,
adjust the implementation of bsf/bsr to avoid the local branch,
using movcond instead.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f1300734cbca515d30953b2c87e259fa378ea301
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 21 11:52:26 2013 -0800
target-i386: Use clz/ctz for bsf/bsr helpers
And mark the helpers as NO_RWG_SE.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:17:33 2013 -0800
target-i386: Implement ADX extension
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 89a453d4a5c195e6d0a3c3d4fcaacb447447115f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 25 17:38:59 2013 +0100
uas-uas: usb3 streams
Add usb3 streams support to the uas (usb attached scsi) emulation.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 024426acc0a2707a85faa1983499647649d6d2db
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 25 17:23:44 2013 +0100
usb-xhci: usb3 streams
Add streams support to the xhci emulation. No secondary streams yet,
only linear stream arays are supported for now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8550a02d1239415342959f6a32d178bc05c557cc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 29 12:44:35 2013 +0100
usb-core: usb3 streams
This patch adds support for usb3 streams to the usb subsystem core.
This is just adding a streams field / parameter in a number of places.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e5df36df8d0c3ffe59de254ef016508b27562bb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 28 15:52:57 2013 +0100
usb: fix endpoint descriptor ordering
Fix the ordering of the endpoint descriptors for superspeed endpoints:
The superspeed companion must come first, possible additional
descriptors for the endpoint after that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6ef3ccd18f881a7bece556ff0fe1b0bf70ac2262
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 24 15:40:37 2013 +0100
usb-redir: simplify packet copy
usb_packet_copy can handle combined packets now,
so it isn't needed to special-case them any more.
Also use the new usb_packet_size() function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6a98d1c0f9e4f6a95d6ecd730ae6fdc70d15c73f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 24 15:38:23 2013 +0100
usb: make usb_packet_copy operate on combined packets
Likewise usb_packet_skip.
Also usb_packet_size.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e382d966d06d2989fc28eec8cfdcc2fd99ebfbb7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 13:40:59 2012 +0100
usb: add usb_ep_set_halted
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1a3973b33d36583d7194798f789a37759a13e269
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 30 13:02:47 2012 +0100
usb-host: remove usb_host_device_close
Nobody implements that anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4075975d832c55abdfc951726e54f9a28a2421c8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 23 14:15:38 2013 +0100
usb-host: move legacy cmd line bits
The code handling the "-usbdevice host:..." legacy command line
syntax is moved to the new hw/usb/host-legacy.c file.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9db7c41419e89adee5650a5868ac91e83614abf5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 22 14:17:05 2013 +0100
usb-storage: use scsi_req_enqueue return value
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07d17e772095ee2b1171498536e5671a97920149
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 11:08:24 2013 +0100
allow disabling usb smartcard support
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6c83f81542e4fda1777a74e4647a69086e44357c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 10:49:43 2013 +0100
make usb devices configurable
Leave the core usb devices (usb hub, tablet, mouse, keyboard)
enabled unconditionally. Make the other ones configurable.
Exceptions:
- bluetooth: not qdevified yet, has a vl.c dependency because
of that, thus disabling isn't as easy as not linking the
object file.
- smardcard: ccid-card-emulated depends on that one *and*
CONFIG_SMARTCARD_NSS. So it isn't a one-liner and comes
as separate patch because of that.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4ece4046344230a3a030ef1e494599eaf0a5935
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 10:48:34 2013 +0100
fix scripts/make_device_config.sh
Make it handle multiple include statements in a file:
(1) The printf needs a space so the include files will be separated.
(2) Also $f can contain multiple failes, so redirection will not work
and we have to use cat to process all files.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 62162fff598f941c198b16b4e8814015ec5a0bef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Feb 1 09:53:17 2013 +0100
usb: Makefile cleanup
Group files, sprinkle in some comments.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2c3c2c551bccd843135eab1ba202f8d2f86800b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 14:55:09 2013 -0800
target-i386: Implement RORX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a554890e479a43568de8b5354d9ca8583f5ec7f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:12:13 2013 -0800
target-i386: Implement SHLX, SARX, SHRX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0592f74a75ab695efd48a151219667adc0fa7cc4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:09:43 2013 -0800
target-i386: Implement PDEP, PEXT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f1f4b177152286102475f9bffc359002a14d9c9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 18:06:18 2013 -0800
target-i386: Implement MULX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 02ea1e6b4fab803551bbea47eea29bc7709ba008
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 17:01:10 2013 -0800
target-i386: Implement BZHI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:44:37 2013 -0800
target-i386: Implement BLSR, BLSMSK, BLSI
Do all of group 17 at one time for ease.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7ab7565bc6d52cc140230aa4d0533d13d89c8b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:21:33 2013 -0800
target-i386: Implement BEXTR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7073fbada733c8d10992f00772c9b9299d740e9b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:17:10 2013 -0800
target-i386: Implement ANDN
As this is the first of the BMI insns to be implemented,
this carries quite a bit more baggage than normal.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 111994ee05b810d81dc6abea7fac5280e48dc198
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 10 12:06:59 2013 -0800
target-i386: Implement MOVBE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 701ed211d62b2b0dba732d75997c4bbf37010c1e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 11 11:35:02 2013 -0800
target-i386: Decode the VEX prefixes
No actual required uses of these encodings yet.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a6fd938f5457ee161d2acbd9364608a2a68b7a1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jan 10 13:29:23 2013 -0800
target-i386: Tidy prefix parsing
Avoid duplicating switch statement between 32 and 64-bit modes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 988c3eb0d6f41ac13f4ec145c637f12c776de602
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:03:16 2013 -0800
target-i386: Use CC_SRC2 for ADC and SBB
Add another slot in ENV and store two of the three inputs. This lets us
do less work when carry-out is not needed, and avoids the unpredictable
CC_OP after translating these insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db9f2597722d5d8bc5f2330f186288d893114338
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:10:49 2013 -0800
target-i386: Make helper_cc_compute_{all,c} const
Pass the data in explicitly, rather than indirectly via env.
This avoids all sorts of unnecessary register spillage.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8601c0b6c553a018fc62007efa8ac2a71d77f449
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 16:06:38 2013 -0800
target-i386: Don't reference ENV through most of cc helpers
In preparation for making this a const helper.
By using the proper types in the parameters to the helper functions,
we get to avoid quite a lot of subsequent casting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a3251186fc6a04d421e9c4b65aa04ec32379ec38
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 15:43:03 2013 -0800
target-i386: optimize flags checking after sub using CC_SRCT
After a comparison or subtraction, the original value of the LHS will
currently be reconstructed using an addition. However, in most cases
it is already available: store it in a temp-local variable and save 1
or 2 TCG ops (2 if the result of the addition needs to be extended).
The temp-local can be declared dead as soon as the cc_op changes again,
or also before the translation block ends because gen_prepare_cc will
always make a copy before returning it. All this magic, plus copy
propagation and dead-code elimination, ensures that the temp local will
(almost) never be spilled.
Example (cmp $0x21,%rax + jbe):
Before After
----------------------------------------------------------------------------
movi_i64 tmp1,$0x21 movi_i64 tmp1,$0x21
movi_i64 cc_src,$0x21 movi_i64 cc_src,$0x21
sub_i64 cc_dst,rax,tmp1 sub_i64 cc_dst,rax,tmp1
add_i64 tmp7,cc_dst,cc_src
movi_i32 cc_op,$0x11 movi_i32 cc_op,$0x11
brcond_i64 tmp7,cc_src,leu,$0x0 discard loc11
brcond_i64 rax,cc_src,leu,$0x0
Before After
----------------------------------------------------------------------------
mov (%r14),%rbp mov (%r14),%rbp
mov %rbp,%rbx mov %rbp,%rbx
sub $0x21,%rbx sub $0x21,%rbx
lea 0x21(%rbx),%r12
movl $0x11,0xa0(%r14) movl $0x11,0xa0(%r14)
movq $0x21,0x90(%r14) movq $0x21,0x90(%r14)
mov %rbx,0x98(%r14) mov %rbx,0x98(%r14)
cmp $0x21,%r12 | cmp $0x21,%rbp
jbe ... jbe ...
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 891a5133f1637296c3823229180b5851132ed5f5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 18 10:06:55 2013 -0800
target-i386: Update cc_op before TCG branches
Placing the CC_OP_DYNAMIC at the join is less effective than
before the branch, as the branch will have forced global registers
to their home locations. This way we have a chance to discard
CC_SRC2 before it gets stored.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc259201f8b471f27136ffe50cc7019c8311ccb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 15:01:35 2013 -0800
target-i386: introduce gen_jcc1_noeob
A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC
will always have to call gen_op_set_cc_op. However, not all jumps end
a basic block, so introduce a variant that does not do this.
This was partially undone earlier (i386: drop cc_op argument of gen_jcc1),
redo it now also to prepare for the introduction of src2.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 63633fe6eb15107d688f3b7f61a4b379f57fc4ca
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:51:34 2013 -0800
target-i386: use gen_op for cmps/scas
Replace low-level ops with a higher-level "cmp %al, (A0)" in the case
of scas, and "cmp T0, (A0)" in the case of cmps.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3b9d3cf1609ec98411508c1e8b6dde711117825f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 15:04:10 2012 +0200
target-i386: kill cpu_T3
It is almost unused, and it is simpler to pass a TCG value directly
to gen_shiftd_rm_T1_T3. This value is then written to t2 without
going through a temporary register.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 57eb0cc85469a8948d1036ab830951e63aa32f66
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 11:00:14 2013 -0800
target-i386: expand cmov via movcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f32d3781de8328237c2db45ff774cbd4b30134d6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Oct 7 17:55:26 2012 +0200
target-i386: introduce gen_cmovcc1
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc8b6f5b39ae47a93074a5384faa734bf2a6ae61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 8 09:42:48 2012 +0200
target-i386: cleanup temporary macros for CCPrepare
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 69d1aa31f7551050bf918dc22f0fe3307b779186
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:41:21 2013 -0800
target-i386: inline gen_prepare_cc_slow
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 943131ca98af142da7b99111b410e741a5d42338
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sun Oct 7 15:53:23 2012 +0200
target-i386: use CCPrepare to generate conditional jumps
This simplifies all the jump generation code. CCPrepare allows the
code to create an efficient brcond always, so there is no need to
duplicate the setcc and jcc code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 276e6b5f069e189e204a4320f824daa07db10286
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:33:45 2013 -0800
target-i386: introduce gen_prepare_cc
This makes the i386 front-end able to create CCPrepare structs for all
condition, not just those that come from a single flag. In particular,
JCC_L and JCC_LE can be optimized because gen_prepare_cc is not forced
to return a result in bit 0 (unlike gen_setcc_slow).
However, for now the slow jcc operations will still go through CC
computation in a single-bit temporary, followed by a brcond if the
temporary is nonzero.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bec93d7283b635aabaf0bbff67b6da7fc99e020a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 14:21:52 2013 -0800
target-i386: introduce CCPrepare
Introduce a struct that describes how to build a *cond operation
that checks for a given x86 condition code. For now, just change
gen_compute_eflags_* to return the new struct, generate code for
the CCPrepare struct, and go on as before.
[rth: Use ctz with the proper width rather than ffs.]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c365395e9bd2b3bcac48ef562c187ea6ab9820ad
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 23:00:10 2012 +0200
target-i386: optimize setcc instructions
Reconstruct the arguments for complex conditions involving CC_OP_SUBx (BE,
L, LE). In the others do it via setcond and gen_setcc_slow (which is
not that slow in many cases).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit be10b289d697420b6e0d8d1a681aa64555066639
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:53:51 2013 -0800
target-i386: optimize setle
And allow gen_setcc_slow to operate on cpu_cc_src.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2cb4764577f270eec259123955a6396ad6a2f161
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:49:43 2013 -0800
target-i386: optimize setbe
This is looking at EFLAGS, but it can do so more efficiently with
setcond.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1a5c635947e60167c4626dd274531b8b0eacc2e5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 22:54:34 2012 +0200
target-i386: change gen_setcc_slow_T0 to gen_setcc_slow
Do not hard code the destination register.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 06847f1f1a7cff71f68dc6416cdd729c01ae2305
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:46:02 2013 -0800
target-i386: convert gen_compute_eflags_c to TCG
Do the switch at translation time, converting the helper templates to
TCG opcodes. In some cases CF can be computed with a single setcond,
though others it may require a little more work.
In the CC_OP_DYNAMIC case, compute the whole EFLAGS, same as for ZF/SF/PF.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8115f117357a63bff84522caac6c3bcadee0a285
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:37:28 2013 -0800
target-i386: use inverted setcond when computing NS or NZ
Make gen_compute_eflags_z and gen_compute_eflags_s able to compute the
inverted condition, and use this in gen_setcc_slow_T0. We cannot do it
yet in gen_compute_eflags_c, but prepare the code for it anyway. It is
not worthwhile for PF, as usual.
shr+and+xor could be replaced by and+setcond. I'm not doing it yet.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 086c40778485f9a52d41a66fd4ef0d8723a2ac0a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:33:59 2013 -0800
target-i386: do not call helper to compute ZF/SF
ZF, SF and PF can always be computed from CC_DST except in the
CC_OP_EFLAGS case (and CC_OP_DYNAMIC, which just resolves to CC_OP_EFLAGS
in gen_compute_eflags). Use setcond to compute ZF and SF.
We could also use a table lookup to compute PF.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b666265b2071e4288110f6553b598efe00246d06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:26:38 2013 -0800
target-i386: Move CC discards to set_cc_op
This gets us universal coverage, rather than scattering discards
around at various places. As a bonus, we do not emit redundant
discards e.g. between sequential logic insns.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:07:10 2013 -0800
target-i386: no need to flush out cc_op before gen_eob
This makes code more similar to the other callers of gen_eob, especially
loopz/loopnz/jcxz.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d229edce1c58e6bb13d386bef4c31fc2e3850cb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 13:03:26 2013 -0800
target-i386: do not compute eflags multiple times consecutively
After calling gen_compute_eflags, leave the computed value in cc_reg_src
and set cc_op to CC_OP_EFLAGS. The next few patches will remove anyway
most calls to gen_compute_eflags.
As a result of this change it is more natural to remove the register
argument from gen_compute_eflags and change all the callers.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1608ecca95188dcf4f78072be48f41dbe2062b25
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:42:59 2012 +0200
target-i386: add helper functions to get other flags
Introduce new functions to extract PF, SF, OF, ZF in addition to CF.
These provide single entry points for optimizing accesses to a single
flag.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 773cdfccb835cc82aca2b2ff34277b4bf58d6bb9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:43:12 2013 -0800
target-i386: Use gen_update_cc_op everywhere
All of the conditional calls to gen_op_set_cc_op go away, and
gen_op_set_cc_op itself gets inlined into its only remaining caller.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e207582f6660e0e2d10a2e79e664e456e80b2887
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:34:26 2013 -0800
target-i386: Don't clobber s->cc_op in gen_update_cc_op
Use a dirty flag to know whether env->cc_op is up to date,
rather than forcing s->cc_op to DYNAMIC and losing info.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ca51d07dae5b2d2301431c55b08d4faaad95d91
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 23 12:30:52 2013 -0800
target-i386: Introduce set_cc_op
This will provide a good hook into which we can consolidate
all of the cc variable discards.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fee71888a29ab9f31b23386383812a4f5c953829
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 16 16:23:46 2013 -0800
target-i386: Name the cc_op enumeration
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7b3c87397a3458d3d26499c483e0badaf79849c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:29:21 2012 +0200
target-i386: factor gen_op_set_cc_op/tcg_gen_discard_tl around computing
flags
Before computing flags we need to store the cc_op to memory. Move this
to gen_compute_eflags_c and gen_compute_eflags rather than doing it all
over the place.
Alo, after computing the flags in cpu_cc_src we are in EFLAGS mode.
Set s->cc_op and discard cpu_cc_dst in gen_compute_eflags, rather than
doing it all over the place.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 13:35:40 2012 +0200
target-i386: use gen_jcc1 to compile loopz
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6fa38ed219587723fcab9b878f42269489d51705
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: clean up sahf
Discard CC_DST and set s->cc_op immediately after computing EFLAGS.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5847c912d62d60a9917ed1e88cd6d4548fd40f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: compute eflags outside rcl/rcr helper
Always compute EFLAGS first since it is needed whenever
the shift is non-zero, i.e. most of the time. This makes it possible
to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly
removes cases where s->cc_op becomes CC_OP_DYNAMIC. Also, we can
remove cc_tmp and just modify cc_src from within the helper.
Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ff6addd92979b9759efa1c0945526e6ac78ce5b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: move eflags computation closer to gen_op_set_cc_op
This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers. The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.
Always compute EFLAGS first since it is needed whenever the shift is
non-zero, i.e. most of the time. This makes it possible to remove some
writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases
where s->cc_op becomes CC_OP_DYNAMIC. These are slow and we want to
avoid them: CC_OP_EFLAGS is quite efficient once we paid the initial
cost of computing the flags.
Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52320e15dbb0c2531501a924972e63cdb59742a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 00:18:55 2012 +0200
target-i386: move carry computation for inc/dec closer to gen_op_set_cc_op
This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers. The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b27fc131fe8dc18924904e4dd0b82dfd77dc51c7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:36:45 2012 +0200
target-i386: drop cc_op argument of gen_jcc1
As in the gen_repz_scas/gen_repz_cmps case, delay setting
CC_OP_DYNAMIC in gen_jcc until after code generation. All of
gen_jcc1/is_fast_jcc/gen_setcc_slow_T0 now work on s->cc_op, which makes
things a bit easier to follow and to patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 91642ff80607ad90c66ba044fe91e4a53b09bdbb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:22:09 2012 +0200
target-i386: factor setting of s->cc_op handling for string functions
Set it to the appropriate CC_OP_SUBx constant in gen_scas/gen_cmps.
In the repz case it can be overridden to CC_OP_DYNAMIC after generating
the code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d824df34e8cdd2fbe55258f26731d7ef3ac7ced2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 5 18:02:41 2012 +0200
target-i386: introduce gen_ext_tl
Introduce a function that abstracts extracting an 8, 16, 32 or 64-bit
value
with or without sign, generalizing gen_extu and gen_exts.
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 93ab25d7d129fbe47a99fd8c91292ea99bff747e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Oct 6 01:56:03 2012 +0200
target-i386: use OT_* consistently
Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b99f83e3946c447eefb3417ec1ea4c2f3b44582
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 16:40:21 2012 +0200
test-i386: make it compile with a recent gcc
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40475087a5ee80f5251dac6087142458d8dc7d99
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 12 16:40:41 2012 +0200
test-i386: QEMU_PACKED is not defined here
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc2832a51c8ce43349967ab1b6c7aafd510e55b2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 17:46:57 2013 +0100
rtc-test: add testcases for alarms in 12hour mode
Trying (unsuccessfully) to break the device model as mentioned in
https://bugs.launchpad.net/qemu/+bug/1090558.
At least if someone tries to fix that, it won't break what works...
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1357922817-17584-3-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f9b3ed401c5cf3df9689f74c15a7b4d91566a3ac
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 17:46:56 2013 +0100
rtc-test: always set register B in its entirety
Eliminate dependencies between one test and the others.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1357922817-17584-2-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d2a929feba319c18603e324b1750830d6c8b7a1
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Oct 18 11:16:58 2012 +0200
vnc-tls: Fix compilation with newer versions of GNU-TLS
In my installation of GNU-TLS (v3.0.23) the type
gnutls_anon_server_credentials is marked deprecated, so -Werror
breaks compilation.
Simply replacing it with the newer ..._t version fixed the compilation
on my machine (Slackware 14.0). I cannot tell how far back this "new"
type goes, at least the header file in RHEL 5.0 (v1.4.1) seems to have
it already. If someone finds a broken distribution, tell me and I
insert some compat code.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Message-id: 1350551818-14717-1-git-send-email-andre.przywara@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10adb8be87c315573a5bf9f5bda885f25da28ce6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:43 2013 +0100
doc help: Collect block device stuff under its own heading
Collect them from "Standard options", "File system options", "Virtual
File system pass-through options", "Debug/Expert options".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84644c451ce7cf8e3cf027501f0f44041f8c6972
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:42 2013 +0100
doc help: A few options are under inappropriate headings, fix
--device is under heading "USB options". --name and --uuid are under
"Virtual File system pass-through options". Move all three to
"Standard options".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f037809907bcc51295a471ad66b14e90f22d8caa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:41 2013 +0100
help: Fix markup of heading "USB options" so it appears in -help
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c70a01e449536c616c85ab820c6fbad7d7e9cf39
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:40 2013 +0100
doc: Fix texinfo @table markup in qemu-options.hx
End tables before headings, start new ones afterwards. Fixes
incorrect indentation of headings "File system options" and "Virtual
File system pass-through options" in manual page and qemu-doc.
Normalize markup some to increase chances it survives future edits.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6265c43b0c872015e4331d3a93ff99946f3edb01
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:39 2013 +0100
doc: Fill some option doc gaps in manual page and qemu-doc
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8f490eb271cf07f491f05e11e3a3a4e7fde9f70
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:38 2013 +0100
doc: Fix some option entries in qemu-doc's function index
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 31e70d6c12d8f0170d7eeb56fa8275a9cc77c4a4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 19:49:37 2013 +0100
help: Drop bogus help on -qtest and -qtest-log
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360781383-28635-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c538ca66ffec97432057d3fe1aa5a4bb417ae9e9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 11:27:26 2013 +0100
isa: Split off instance_init for ISADevice
Prepares for assigning IRQs before QOM realize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361010446-1427-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 872536bf5dfdf207d275cd627caec2aefb68aab9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:03 2013 +0100
qtest: Add MMIO support
Introduce [qtest_]{read,write}[bwlq]() libqtest functions and
corresponding QTest protocol commands to replace local versions in
libi2c-omap.c.
Also convert m48t59-test's cmos_{read,write}_mmio() to {read,write}b().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-4-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b73cf9e93f1c7fd6e949f71172c49848b4d70aa9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:02 2013 +0100
libqtest: Introduce qtest_qmpv() and convert remaining macro
In order to convert qmp() macro to an inline function, expose a
qtest_qmpv() function, reused by qtest_qmp().
We can't apply GCC_FMT_ATTR() since fdc-test is using zero-length format
strings, which would result in warnings treated as errors.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6acf801de5a6e299c02ab3efe3e0dcd75ae678e0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 16 22:44:01 2013 +0100
libqtest: Convert macros to functions and clean up documentation
libqtest.h provides a number of shortcut macros to avoid tests feeding
it the QTestState they operate on. Most of these can easily be turned
into static inline functions, so let's do that for clarity.
This avoids getting off-by-one error messages when passing wrong args.
Some macros had a val argument but documented @value argument. Fix this.
While touching things, enforce gtk-doc markup for return values and for
referencing types.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1361051043-27944-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3c3adde005ec929d7d581d495d9a0bb223e6e055
Merge: f4c0f98... 2d64255...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 18 08:37:29 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu: (47 commits)
target-i386: Split command line parsing out of cpu_x86_register()
target-i386: Move cpu_x86_init()
target-lm32: Drop unused cpu_lm32_close() prototype
target-s390x: Drop unused cpu_s390x_close() prototype
spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu()
ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu()
e500: Replace open-coded loop with qemu_get_cpu()
cpu: Add CPUArchState pointer to CPUState
cputlb: Pass CPUState to cpu_unlink_tb()
cpu: Move current_tb field to CPUState
cpu: Move exit_request field to CPUState
cpu: Move running field to CPUState
cpu: Move host_tid field to CPUState
target-cris: Introduce CRISCPU subclasses
target-m68k: Pass M68kCPU to m68k_set_irq_level()
mcf_intc: Pass M68kCPU to mcf_intc_init()
mcf5206: Pass M68kCPU to mcf5206_init()
target-m68k: Return M68kCPU from cpu_m68k_init()
ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset()
target-xtensa: Move TCG initialization to XtensaCPU initfn
...
commit f4c0f986c061f34fd5b020c30e2aa8c37e17193b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:47:01 2013 -0800
tests: Add unit tests for mulu64 and muls64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ff7a1eb0a1262f7d451cc1e70c65dd23771ce2a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:47:00 2013 -0800
host-utils: Improve mulu64 and muls64
The new formulation makes better use of add-with-carry type insns
that the host may have. Use gcc's sign adjustment trick to avoid
having to perform a 128-bit negation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f540166b7dfdf4ec2057ac322d8cbfd0691e1d65
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Feb 16 12:46:59 2013 -0800
host-utils: Use __int128_t for mul[us]64
Replace some x86_64 specific inline assembly with something that
all 64-bit hosts ought to optimize well. At worst this becomes
a call to the gcc __multi3 routine, which is no worse than our
implementation in util/host-utils.c.
With gcc 4.7, we get identical code generation for x86_64. We
now get native multiplication on ia64 and s390x hosts. With minor
improvements to gcc we can get it for ppc64 as well.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit be96bd3fbffde908a392c830c856063e122791c1
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Feb 16 23:21:24 2013 +0100
tcg/ppc: Fix build of tcg_qemu_tb_exec()
Commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 (TCG: Final globals
clean-up) moved code_gen_prologue but forgot to update ppc code.
This broke the build on 32-bit ppc. ppc64 is unaffected.
Cc: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 05499f4b9fd431631299dc1b70156dbc1fb43318
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 14:32:05 2013 +0100
target-sparc: Fix debug output for DEBUG_MMU
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2d64255bd7c0d3933ff5ab2cabff11bcb09117a8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 14:06:56 2013 +0100
target-i386: Split command line parsing out of cpu_x86_register()
In order to instantiate a CPU subtype we will need to know which type,
so move the cpu_model splitting into cpu_x86_init().
Parameters need to be set on the X86CPU instance, so move
cpu_x86_parse_featurestr() into cpu_x86_init() as well.
This leaves cpu_x86_register() operating on the model name only.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c3c6a682dedb3ef6becf112867cf92abf203816
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 1 15:12:13 2013 +0100
target-i386: Move cpu_x86_init()
Consolidate CPU functions in cpu.c.
Allows to make cpu_x86_register() static.
No functional changes.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0203f86f5205e09a56df41021d872c6353754250
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:13:15 2013 +0100
target-lm32: Drop unused cpu_lm32_close() prototype
It was never implemented.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0dac84597a66eb8f416972faef451ce786b3cdd4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Feb 2 12:10:37 2013 +0100
target-s390x: Drop unused cpu_s390x_close() prototype
It was never implemented.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5353d03dd7917875b46ff03e0d9e2935770f5e9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 16:43:08 2013 +0100
spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu()
The helper functions all access ppc-specific fields only so don't bother
to change arguments to PowerPCCPU and use env_ptr instead.
No functional change.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 912ebe10eff6cf7e05f908a44283033c1c0270a0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:56:27 2013 +0100
ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu()
Potentially env could be NULL whereas cpu would still be valid and
correspond to a previous env.
Wrapping this in qemu_get_cpu(), env is no longer needed, so simplify
code that existed before 55e5c2850293547203874098f7cec148ffd12dfa.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 440c8152bd410b0f928d4de6f187f1e2280e1324
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 15 15:21:13 2013 +0100
e500: Replace open-coded loop with qemu_get_cpu()
Since we still need env for ppc-specific fields, obtain it via the new
env_ptr fields to avoid "cpu" name conflicts between CPUState and
PowerPCCPU for now.
This fixes a potential issue with env being NULL at the end of the loop
but cpu still being a valid pointer corresponding to a previous env.
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c05efcb18ee30cdf2b00b3512aa0f5233b52911f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 12:13:41 2013 +0100
cpu: Add CPUArchState pointer to CPUState
The target-specific ENV_GET_CPU() macros have allowed us to navigate
from CPUArchState to CPUState. The reverse direction was not supported.
Avoid introducing CPU_GET_ENV() macros by initializing an untyped
pointer that is initialized in derived instance_init functions.
The field may not be called "env" due to it being poisoned.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 907a5e32f293a0af8875973d4cce12b96bea5bae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 09:16:15 2013 +0100
cputlb: Pass CPUState to cpu_unlink_tb()
CPUArchState is no longer needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d77953b94ff20868b21796ee22ca57baa1cfc941
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 19:29:31 2013 +0100
cpu: Move current_tb field to CPUState
Explictly NULL it on CPU reset since it was located before breakpoints.
Change vapic_report_tpr_access() argument to CPUState. This also
resolves the use of void* for cpu.h independence.
Change vAPIC patch_instruction() argument to X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fcd7d0034b7eddba505a548f456f452bf5a7d56c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 08:02:44 2012 +0100
cpu: Move exit_request field to CPUState
Since it was located before breakpoints field, it needs to be reset.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0315c31cda054775585b31f8cb3c9228cc6fc28b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 07:34:52 2012 +0100
cpu: Move running field to CPUState
Pass CPUState to cpu_exec_{start,end}() functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d34282fdde1d8f337d2a9e10f5ac793b12ef2e7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 07:12:13 2012 +0100
cpu: Move host_tid field to CPUState
Change gdbstub's cpu_index() argument to CPUState now that CPUArchState
is no longer used.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6ae064fc671f1c475b1371c067fa3100ec6daf80
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 6 17:18:12 2013 +0100
target-cris: Introduce CRISCPU subclasses
Use class_init functions to initialize the VR in preparation for
overriding v32+ behavior there.
Move cpu_cris_init() to cpu.c and hook up a class_by_name callback.
This change leads to unknown -cpu model names no longer falling back
to a CPU with VR 32 but instead returning NULL.
Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb3fb38e91caacfcb0f86e8c587ed74ffa34fe8e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:20:52 2013 +0100
target-m68k: Pass M68kCPU to m68k_set_irq_level()
Simplifies use of cpu_reset_interrupt() et al.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9a6ee9fd35483446fe14e083fa335358c86ba595
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:15:09 2013 +0100
mcf_intc: Pass M68kCPU to mcf_intc_init()
Store it in mcf_intc_state.
Prepares for passing it to m68k_set_irq_level().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4025cfd5d7175203008343a375f9287c77cd383c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:10:34 2013 +0100
mcf5206: Pass M68kCPU to mcf5206_init()
Store it in m5206_mbar_state. Prepares for passing M68kCPU to
m68k_set_irq_level().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7937d9f9a99d8cc2848e85f608d89c6f326daf0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 14:03:58 2013 +0100
target-m68k: Return M68kCPU from cpu_m68k_init()
Turn cpu_init() into a static inline function for backwards
compatibility.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3273ba643f2d0221492381b24bbc35fb6089a48
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:57:51 2013 +0100
ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset()
Prepares for changing cpu_interrupt() argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 25733eada6c1d4928262e77e2ee1e9ed12de18fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:46:45 2013 +0100
target-xtensa: Move TCG initialization to XtensaCPU initfn
Combine this with breakpoint handler registration, guarding both with
tcg_enabled() to suppress also TCG init for qtest. Rename the handler to
xtensa_breakpoint_handler() since it needs to become global.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d9c27f00b174df070470d48d6577042d2186d969
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:36:47 2013 +0100
target-unicore32: Move TCG initialization to UniCore32CPU initfn
Normalize the "inited" logic and add a tcg_enabled() check to suppress
it for qtest.
Ensures that a QOM-created UniCore32CPU is usable.
Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5266d20a12f2ef01841aad5f1692d73551a39dac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:34:18 2013 +0100
target-sparc: Move TCG initialization to SPARCCPU initfn
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa7408ec18c3517b2476a3671cd0b7f171241e2d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:30:32 2013 +0100
target-sh4: Move TCG initialization to SuperHCPU initfn
Add a tcg_enabled() check to suppress it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b7ac76729c8253d799a8d3bb9bae76cccb0714e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 22:43:32 2013 +0100
target-s390x: Move TCG initialization to S390CPU initfn
Ensures that a QOM-created S390CPU is usable.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 60925d2644953ce1ca7813411853d8c04e637050
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:26:37 2013 +0100
target-ppc: Move TCG initialization to PowerPCCPU initfn
Ensures that a QOM-created PowerPCCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 78ce64f492498050083e46cdd7e6cbae6435843c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:22:25 2013 +0100
target-mips: Move TCG initialization to MIPSCPU initfn
Make mips_tcg_init() non-static and add tcg_enabled() check to suppress
it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cd0c24f9095b1f825210bb9d9f99532c78668074
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 01:10:52 2013 +0100
target-microblaze: Move TCG initialization to MicroBlazeCPU initfn
Split off TCG initialization from cpu_mb_init() into mb_tcg_init() to
call it from the initfn.
Ensures that a QOM-created MicroBlazeCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cc896195bae54d7a5f48f9032037d8f6f65abd5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 00:48:29 2013 +0100
target-m68k: Move TCG initialization to M68kCPU initfn
Add a tcg_enabled() check to suppress it for qtest.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 868e2824276cbe6ef2e202c05c4eb3a3a19d3ee0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 00:05:12 2013 +0100
target-lm32: Move TCG initialization to LM32CPU initfn
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1a94fec3d8d70009fd5ac27ade5539fe58cd702
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 23:55:42 2013 +0100
target-cris: Move TCG initialization to CRISCPU initfn
Split out TCG initialization from cpu_cris_init(). Avoid CPUCRISState
dependency for v10-specific initialization and for non-v10 by inlining
the decision into the initfn as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 79614b781df5096ffecf531992314781dbab54af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 07:37:45 2013 +0100
target-arm: Move TCG initialization to ARMCPU initfn
Ensures that a QOM-created ARMCPU is usable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5f6c964389ea5320e81e2fb8c2bc3aa40c5a8013
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:19:35 2013 +0100
target-xtensa: Introduce QOM realizefn for XtensaCPU
Introduce realizefn and set realized = true in cpu_xtensa_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 088383e3220776917f538d0e43933e842e16b804
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:38:30 2013 +0100
target-unicore32: Introduce QOM realizefn for UniCore32CPU
Introduce a realizefn and set realized = true in uc32_cpu_init().
Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
[AF: Invoke the parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e91ebfe06f1d90331d162259553a5330514143
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:13:19 2013 +0100
target-sparc: Introduce QOM realizefn for SPARCCPU
Introduce realizefn and set realized = true in cpu_sparc_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 55acb588dd184a1e33be0ff1fe23f8c19f88fd6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 23 18:16:02 2012 +0200
target-sh4: Introduce QOM realizefn for SuperHCPU
Introduce a realizefn and set realized = true in cpu_sh4_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f1366322b21678c33003a373366697a4542d2d4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 04:00:41 2013 +0100
target-s390x: Introduce QOM realizefn for S390CPU
Introduce realizefn and set realized = true in cpu_s390x_init().
Defer CPU reset from initfn to realizefn.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c1caf1d961288e41c25de6631c6751ae7baa20f0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:48:37 2013 +0100
target-mips: Introduce QOM realizefn for MIPSCPU
Introduce a realizefn and set realized = true from cpu_mips_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 746b03b27cac48be5a376d8635ffaf568339ebd7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:27:31 2013 +0100
target-microblaze: Introduce QOM realizefn for MicroBlazeCPU
Introduce realizefn and set realized = true from cpu_mb_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d1bbc6273d45520c5ce6475186bfa30d8afb47c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:15:30 2013 +0100
target-m68k: Introduce QOM realizefn for M68kCPU
Introduce realizefn and set realized = true in cpu_m68k_init().
Split off GDB registration to a new m68k_cpu_init_gdb() so that it can
be called from the realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c23169e8cd54b490d55221b6498d42966f964f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:31:27 2013 +0100
target-lm32: Introduce QOM realizefn for LM32CPU
Introduce a realizefn and set realized = true in cpu_lm32_init().
Also move cpu_reset() call from initfn to realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ca45f8b0440358ccca63446cf0df05772791b2a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 15:41:21 2013 +0100
target-cris: Introduce QOM realizefn for CRISCPU
Introduce realizefn and set realized = true from cpu_cris_init().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4776ce600338e17f75d200d1ad17d4ce9effa57f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:55:14 2013 +0100
target-ppc: Update PowerPCCPU to QOM realizefn
Adapt ppc_cpu_realize() signature, hook it up to DeviceClass and set
realized = true in cpu_ppc_init().
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c296262bc94651a7a43639857d8343470f4129f3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:11:07 2013 +0100
target-openrisc: Update OpenRISCCPU to QOM realizefn
Update the openrisc_cpu_realize() signature, hook it up to
DeviceClass::realize and set realized = true in cpu_openrisc_init().
qapi/error.h is now included through qdev and no longer needed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Jia Liu <proljc@xxxxxxxxx>
commit 2b6f294cacd9f4e133a7813d22e1b4e87ac6b2a3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 16 03:41:47 2013 +0100
target-i386: Update X86CPU to QOM realizefn
Adapt the signature of x86_cpu_realize(), hook up to
DeviceClass::realize and set realized = true in cpu_x86_init().
The QOM realizefn cannot depend on errp being non-NULL as in
cpu_x86_init(), so use a local Error to preserve error handling behavior
on APIC initialization errors.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 149692667f8a46430127ca0555b38965f52177f5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 10:18:18 2013 +0100
target-arm: Update ARMCPU to QOM realizefn
Turn arm_cpu_realize() into a QOM realize function, no longer called
via cpu.h prototype. To maintain the semantics of cpu_init(), set
realized = true explicitly in cpu_arm_init().
Move GDB coprocessor registration, CPU reset and vCPU initialization
into the realizefn.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd1b282836a7885a13c13f9cc63123fa8e32f02f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:01:30 2013 +0100
target-alpha: Update AlphaCPU to QOM realizefn
Update the alpha_cpu_realize() signature and hook up to
DeviceClass::realize. Set realized = true in cpu_alpha_init().
qapi/error.h is included through qdev now and no longer needed.
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
[AF: Invoke parent's realizefn]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4f65809994274989bdf51c8605bb974565cb1c9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 19 06:17:06 2013 +0100
cpu: Prepare QOM realizefn
Overwrite the default implementation with a no-op, no longer
attempting to call DeviceClass::init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 453776e5746be23c66df65fadf12e115b7d2dadd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:43 2013 -0800
bitops: Remove routines redundant with host-utils
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0f9d8bd386c9b7b17fc68fef36caa81750c39494
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:42 2013 -0800
bitops: Replace bitops_ctol with ctzl
The is the only remaining user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4932398fac273b8ebe5688bc4b79407a7f41edbd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:41 2013 -0800
bitops: Inline bitops_flsl
This is the only remaining user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 14e534265aad0796690a5aea429f5bd2877ccff0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:40 2013 -0800
target-i386: Inline bitops_flsl
Use clz32 directly. Which makes slightly more sense given
that the input is type "int" and not type "long".
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0cfa6adc7fd1eba4694515bde6bbfb9ecd892f2f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:39 2013 -0800
bitops: Write bitops_flsl in terms of clzl
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5bbf90be97203c472f47da070c0040b464c0460f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:38 2013 -0800
memory: Use non-bitops ctzl
A memory size of zero is invalid, and so that edge condition
does not occur.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 265ce4a5ca39fb7f74a803dd61bbd9108ca6cdee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:37 2013 -0800
bitops: Use non-bitops ctzl
The use of ctz has already eliminated zero, and thus the difference
in edge conditions between the two routines is irrelevant.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 18331e7c189507513008a2936f5fe79c3d8b8a08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:36 2013 -0800
hbitmap: Use non-bitops ctzl
Both uses of ctz have already eliminated zero, and thus the difference
in edge conditions between the two routines is irrelevant.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 72d81155d0b88ba757c5a972d3fff83027e7a6e7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:35 2013 -0800
host-utils: Fix coding style and add comments
Add function comments to the routines, documenting the corner
cases upon which we are standardizing. Fix the few instances
of non-standard coding style.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0165437302448d210742cc3def362d1de0413621
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Feb 13 17:47:34 2013 -0800
host-utils: Add host long specific aliases for clz, ctz, ctpop
We will standardize on these names, rather than the similar routines
currently residing in qemu/bitops.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 38dad9e574746981dfbac52b3bbbd6d894f31d26
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:25 2013 +0000
qemu-log: Rename CPULogItem, cpu_log_items to QEMULogItem, qemu_log_items
Rename the typedef CPULogItem and the public array cpu_log_items
to names that better reflect the fact that the qemu_log functionality
isn't restricted to TCG CPU debug logs any more.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b946bffab5e0d359accfcc78faead20fd69f26e8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:24 2013 +0000
cpus.c: Drop unnecessary set_cpu_log()
The set_cpu_log() function in cpus.c is a fairly simple wrapper
which is only called from one location. Just inline the code
into vl.c, since there is no need to indirect it via cpus.c
and the handling of the error case is more appropriate to vl.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 24537a01910f110fe3e343c13df13e48f7968a9e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:23 2013 +0000
qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log
Rename the public-facing function cpu_set_log to qemu_set_log. This
requires us to rename the internal-only qemu_set_log() to
do_qemu_set_log().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4fde1eba0f98779d4fdb64818071f72bb1672438
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:22 2013 +0000
qemu-log: Rename cpu_str_to_log_mask to qemu_str_to_log_mask
Rename cpu_str_to_log_mask() to qemu_str_to_log_mask(), since
the qemu_log functionality is no longer restricted to TCG CPU
debug logging.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 59a6fa6e67d2335d867c66c59d992847e5b62879
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:21 2013 +0000
qemu-log: Abstract out "print usage message about valid log categories"
Abstract out the "print a human readable list of all the
valid log categories" functionality which is currently duplicated
in three separate places. (We leave the monitor.c help_cmd()
implementation as-is since it wants to send the message to
the monitor and add its own information.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9a7e54242910d26d280589e1f5c7ec8814d02a6b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 11 16:41:20 2013 +0000
qemu-log: Unify {cpu_set,set_cpu}_log_filename as qemu_set_log_filename
The qemu_log() functionality is no longer specific to TCG CPU debug logs.
Rename cpu_set_log_filename() to qemu_set_log_filename() and drop the
pointless wrapper set_cpu_log_filename().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5e5f07e08f7ed8c8eb9b02d9f9c3c79cf95d65ee
Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Date: Fri Feb 1 01:47:23 2013 +0700
TCG: Move translation block variables to new context inside tcg_ctx:
tb_ctx
It's worth to clean-up translation blocks variables and move them
into one context as was suggested by Swirl.
Also if we use this context directly inside tcg_ctx, then it
speeds up code generation a bit.
Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4
Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Date: Fri Feb 1 01:47:22 2013 +0700
TCG: Final globals clean-up
Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2742f56d134ba0f5ed7e447afd0b6e2001ffc5c1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 15 17:40:56 2013 -0600
Open up 1.5 development tree
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 03e94e39ce5259efdbdeefa1f249ddb499d57321
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 15 16:15:40 2013 -0600
Update VERSION for release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 571f65ec20fbcb991d7bce51787248ab9d325e3f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Feb 14 08:58:49 2013 -0600
Update VERSION of release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 71652365c53115d2090d294406ec0bd3b7c63953
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Feb 13 23:58:12 2013 +0100
Revert "Update OpenBIOS images"
This reverts commit 10442558ab1797bfbb01285b909e34c5cf038f12.
With the updated OpenBIOS image, -M g3beige fails to boot quik.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Message-id: 1360796292-27078-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9893c80d81587ac25d8ea4a82651371b54e7df35
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:29:31 2013 +1000
cadance_uart: Accept input after rx FIFO pop
The device returns false from the can receive function when the FIFO is
full. This means the device should check for buffered input whenever a
byte is
popped from the FIFO.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1360632571-25638-1-git-send-email-peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8a8f5840082eb65d140ccfe7b128c92390cce1c3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 13 09:25:34 2013 +0100
block/curl: only restrict protocols with libcurl>=7.19.4
The curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, ...) interface was
introduced in libcurl 7.19.4. Therefore we cannot protect against
CVE-2013-0249 when linking against an older libcurl.
This fixes the build failure introduced by
fb6d1bbd246c7a57ef53d3847ef225cd1349d602.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Andreas Färber <andreas.faeber@xxxxxx>
Message-id: 1360743934-8337-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d36b2b904ee921b380fad559cb824a40eb587bcb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 15:54:16 2013 +0100
qapi: Flatten away ChardevPort
Simplifies the schema and the code.
QMP command
{ "execute" : "chardev-add",
"arguments" : { "id" : "ser0",
"backend" : { "type" : "port",
"data" : { "type": "serial",
"device":"/dev/ttyS0"} } }
}
becomes
{ "execute" : "chardev-add",
"arguments" : { "id" : "ser0",
"backend" : { "type" : "serial",
"data" : { "device":"/dev/ttyS0"} } }
}
Bonus: nicer error messages. "unknown chardev port (1)" becomes
"character device backend type 'parallel' not supported".
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1360767256-610-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d037d6bbbcdda6552254286b6da090ef0dc0d98a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 13 15:54:15 2013 +0100
chardev: Fix manual page and qemu-doc for -chardev tty
Broken in commit d59044ef.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1360767256-610-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc2a90432d9cb7546a2c4360ad7200a2fb3af31a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Feb 12 23:16:06 2013 +0100
net: Avoid NULL function pointer dereference on cleanup
The pSeries machine and some other devices don't supply a cleanup
callback. Revert part of 1ceef9f27359cbe92ef124bf74de6f792e71f6fb that
started calling it unconditionally.
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1360707366-9271-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91b0a8f33419573c1d741e49559bfb666fd8b1f0
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Feb 7 02:20:51 2013 +0000
s390: Fix handling of iscs.
There are two ways to express an interruption subclass:
- As a bitmask, as used in cr6.
- As a number, as used in the I/O interruption word.
Unfortunately, we have treated to I/O interruption word as if it
contained the bitmask as well, which went unnoticed so far as
- (queued-for-next) kvm made the same mistake, and
- Linux guest kernels don't check the isc value in the I/O interruption
word for subchannel interrupts.
Make sure that we treat the I/O interruption word correctly.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bd9a8d852c857fd19c4626acaac1d4979f816f3a
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Feb 7 02:20:50 2013 +0000
s390: Keep I/O interrupts enabled for all iscs.
do_io_interrupt() would stop scanning further iscs if it found
an I/O interrupt it could inject. This might cause the pending
interrupt indication for I/O interrupts to be reset although there
might be queued I/O interrupts for subsequent iscs.
Fix this by reordering the logic: Inject the I/O interrupt immediately
and continue searching all iscs for queued interrupts.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 760794f784f66e262a9ca32821ba202cdf3a3e4b
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Feb 4 22:53:24 2013 +0000
s390/sclpconsole: prevent char layer callback during initialization
Starting a qemu with an sclp console and pressing a key very early
can result in
"qemu-system-s390x: hw/s390x/sclpconsole.c:60: receive_from_chr_layer:
Assertion `scon->iov' failed."
Lets make sure that the init process is finished, since the iov is
allocated after CHR_EVENT_OPENED by also checking for scon->iov.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7ce4106c2125eca8f7f61f460456a49074c13e56
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:17:11 2013 +1000
xilinx.h: s/xilinx_axiethernetdma()/xilinx_axidma()
This function has nothing to do with ethernet. Its reusable for all DMA
clients.
Dropped the "ethernet" in the name accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit dada5c7e92434df7c0ec152fe9a8f0e3de67b632
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 12 11:17:10 2013 +1000
xilinx.h: Dont qdev_create from ethernet_create()
Pulled the qdev_create functionality out of xilinx_axiethernet_create()
and
pushed it up to the petalogix_ml605_mmu machine model. This makes the
ethernet
create+init process consistent with the AXI DMA. Renamed function to
xilinx_axiethernet_init accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0231ed4f22dd67844d8bbc027eaa5b713cb25ba2
Merge: 6aaa9da... 33ccf66...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 12 16:26:52 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
Revert "block/vpc: Fix size calculation"
block/raw-posix: detect readonly Linux block devices using BLKROGET
commit 6aaa9dae8059633d52ddcd0622de1a2700fc58a8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 10:37:15 2013 +0100
block-migration: fix pending() and iterate() return values
The return value of .save_live_pending() is the number of bytes
remaining. This is just an estimate because we do not know how many
blocks will be dirtied by the running guest.
Currently our return value for .save_live_pending() is wrong because it
includes dirty blocks but not in-flight bdrv_aio_readv() requests or
unsent blocks. Crucially, it also doesn't include the bulk phase where
the entire device is transferred - therefore we risk completing block
migration before all blocks have been transferred!
The return value of .save_live_iterate() is the number of bytes
transferred this iteration. Currently we return whether there are bytes
remaining, which is incorrect.
Move the bytes remaining calculation into .save_live_pending() and
really return the number of bytes transferred this iteration in
.save_live_iterate().
Also fix the %ld format specifier which was used for a uint64_t
argument. PRIu64 must be use to avoid warnings on 32-bit hosts.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 1360661835-28663-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ad55ab42d494c5f4ebc5199c5c9db473b7d5fbf9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 10:37:14 2013 +0100
migration: make qemu_ftell() public and support writable files
Migration .save_live_iterate() functions return the number of bytes
transferred. The easiest way of doing this is by calling qemu_ftell(f)
at the beginning and end of the function to calculate the difference.
Make qemu_ftell() public so that block-migration will be able to use it.
Also adjust the ftell calculation for writable files where buf_offset
does not include buf_size.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Message-id: 1360661835-28663-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4a0e6714b06453078e02029e1432fab052927691
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 14:34:05 2013 +0100
trace: deal with deprecated glib thread functions
g_thread_create() was deprecated in favor of g_thread_new() and
g_cond_new() was deprecated in favor of GCond initialization. If the
host has glib 2.31 or newer, avoid using the deprecated functions.
This patch solves compiler warnings that are generated when glib's
deprecated functions are used.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360676045-9204-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30d940875dcd1adfbfd7fe7ccd3e543408519662
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 14:34:04 2013 +0100
trace: use glib atomic int types
Juan reported that RHEL 6.4 hosts give compiler warnings because we use
unsigned int while glib prototypes use volatile gint in trace/simple.c.
trace/simple.c:223: error: pointer targets in passing argument 1 of
'g_atomic_int_compare_and_exchange' differ in signedness
These variables are only accessed with glib atomic int functions so
let's play it by the book and use volatile gint.
Reported-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360676045-9204-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33ccf6675faa3c56f30399e184064fd126904515
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 12 12:25:15 2013 +0100
Revert "block/vpc: Fix size calculation"
This reverts commit f880defbb06708d30a38ce9f2667067626acdd38.
Jeff Cody's testing revealed that the interpretation of size differs
even between VirtualPC and HyperV. Revert this so there is time to
consider the impact of any backwards incompatible behavior this change
creates.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da888d37b0b85fc23e4ea55ab8b0c482d4918afb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Feb 5 12:28:33 2013 +0100
block/raw-posix: detect readonly Linux block devices using BLKROGET
Linux block devices can be set read-only with "blockdev --setro
<device>". The same thing can be done for LVM volumes using "lvchange
--permission r <volume>". This read-only setting is independent of
device node permissions. Therefore the device can still be opened
O_RDWR but actual writes will fail.
This results in odd behavior for QEMU. bdrv_open() is supposed to fail
if a read-only image is being opened with BDRV_O_RDWR. By not failing
for Linux block devices, the guest boots up but every write produces an
I/O error.
This patch checks whether the block device is read-only so that Linux
block devices behave like regular files.
Reported-by: Sibiao Luo <sluo@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 03ec2f83087de34924489eeae0ea6fe7785cc050
Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Date: Mon Feb 4 17:56:25 2013 +0800
hw/m25p80.c: add WRSR(0x01) support
Atmel, SST and Intel/Numonyx serial flash tend to power up
with the software protection bits set.
And thus the new m25p80.c in linux kernel would always tries
to use WREN(0x06) + WRSR(0x01) to turn-off the protection.
The WEL(0x02) of status register is supposed to be cleared after
WRSR(0x01). There are also some drivers (i.e mine for RTOSes)
would check the WEL(0x02) in status register to make sure the
protection is correctly turned off.
Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 58fa4325228f61d58317f48364259b31e9b92d15
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Feb 11 18:05:48 2013 +0100
qapi: Improve chardev-add documentation
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360602348-4727-1-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d7cd369402191814a1bb339a730f3af411e9682f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 11 17:01:45 2013 +0100
migration: restrict scope of incoming fd read handler
The incoming migration is processed in a coroutine and uses an fd read
handler to enter the yielded coroutine when data becomes available.
The read handler was set too broadly, so that spurious coroutine entries
were be triggered if other coroutine users yielded (like the block
layer's bdrv_write() function).
Install the fd read only only when yielding for more data to become
available. This prevents spurious coroutine entries which break code
that assumes only a specific set of places can re-enter the coroutine.
This patch fixes crashes in block/raw-posix.c that are triggered with
"migrate -b" when qiov becomes a dangling pointer due to a spurious
coroutine entry that frees qiov early.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360598505-5512-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0bce760e04b1658a3b4ac95be2839ae20fd86db
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Mon Feb 11 17:41:54 2013 +0100
libi2c-omap: Fix endianness dependency
The libqos driver for omap_i2c currently does not work on Big Endian.
Introduce helpers for reading from and writing to 16-bit armel registers.
This fixes tmp105-test failures on ppc.
To prepare for a QTest-level endianness solution, poison mem{read,write}
and always use the helpers. Adopt the expected signatures.
To avoid an unused variable warning, assert the STAT Single Byte Data
bit but, due to it not getting cleared, only it being set when len == 1.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1360600914-5448-3-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dd6be069bf832f888005d28cebdec16720dedac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 17:41:53 2013 +0100
qtest: Use strtoull() for uint64_t
On 32-bit hosts, unsigned long may be uint32_t and uint64_t may be
unsigned long long. Account for this by always using strtoull().
We were already using strtoll() for int64_t.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Message-id: 1360600914-5448-2-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84eac31707a8f103cc9a0b38ab62a8832bec1153
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 11 18:35:39 2013 +0100
libqtest: Fix documentation copy&paste errors
The [qtest_]in[bwl]() functions/macros don't have a value argument.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1360604139-16797-1-git-send-email-afaerber@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f880defbb06708d30a38ce9f2667067626acdd38
Author: Stefan Weil <stefan@kiwi.(none)>
Date: Thu Feb 7 20:26:52 2013 +0100
block/vpc: Fix size calculation
The size calculated from the CHS values is not the real image (disk) size,
but usually a smaller value. This is caused by rounding effects.
Only older operating systems use CHS. Such guests won't be able to use
the whole disk. All modern operating systems use the real size.
This patch fixes https://bugs.launchpad.net/qemu/+bug/1105670/.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1360265212-22037-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c5a7f20112615ce13a3434ab90bee1ed8d44ebd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:46 2013 +0100
block-migration: fix block_save_iterate() return value
The .save_live_iterate() function returns 0 to continue iterating or 1
to stop iterating.
Since 16310a3cca7320edb9341c976f7819de0a8c27e0 it only ever returns 0,
leading to an infinite loop.
Return 1 if we have finished sending dirty blocks.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1360534366-26723-4-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ee0cb201e6bfe03549a649fd165a85cfed34d05
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:45 2013 +0100
block-migration: fix blk_mig_save_dirty_block() return value checking
Commit 43be3a25c931a7f61a76fbfc9d35584cbfc5fb58 changed the
blk_mig_save_dirty_block() return code handling. The function's doc
comment says:
/* return value:
* 0: too much data for max_downtime
* 1: few enough data for max_downtime
*/
Because of the 1 return value, callers must check for ret < 0 instead of
just:
if (ret) { ... }
We do not want to bail when 1 is returned, only on error.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360534366-26723-3-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5f1f286ef8c7c96614779a40af724d7109175d5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sun Feb 10 23:12:44 2013 +0100
block-migration: improve "Unknown flags" error message
Show the actual flags value and include "block migration" in the error
message so it's clear where the error is coming from.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1360534366-26723-2-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 49295ebc56a303a60c6ca2ead6f548eae3521150
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:19 2013 +0100
vl: Exit unsuccessfully on option argument syntax error
We exit successfully after reporting syntax error for argument of
--sandbox and --add-fd.
We continue undaunted after reporting it for argument of -boot,
--option-rom and --object.
Change all five to exit unsuccessfully, like the other options.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cfdd1628666f1342925f9c77cbb63b7d6d049dae
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:18 2013 +0100
vl: Drop redundant "parse error" reports
qemu_opts_parse() reports the error already, and in a much more useful
way.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7216ae3d1a11e07192623ad04d450e98bf1f3d10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:17 2013 +0100
qemu-option: Disable two helpful messages that got broken recently
commit 8be7e7e4 and commit ec7b2ccb messed up the ordering of error
message and the helpful explanation that should follow it, like this:
$ qemu-system-x86_64 --nodefaults -S --vnc :0 --chardev null,id=,
Identifiers consist of letters, digits, '-', '.', '_', starting with
a letter.
qemu-system-x86_64: -chardev null,id=,: Parameter 'id' expects an
identifier
$ qemu-system-x86_64 --nodefaults -S --vnc :0 --machine
kvm_shadow_mem=dunno
You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes
and terabytes.
qemu-system-x86_64: -machine kvm_shadow_mem=dunno: Parameter
'kvm_shadow_mem' expects a size
Pity. Disable them for now.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 312fd5f29097890179793d8bbb59ab18afbe0ad4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:16 2013 +0100
error: Strip trailing '\n' from error string arguments (again)
Commit 6daf194d and be62a2eb got rid of a bunch, but they keep coming
back. Tracked down with this Coccinelle semantic patch:
@r@
expression err, eno, cls, fmt;
position p;
@@
(
error_report(fmt, ...)@p
|
error_set(err, cls, fmt, ...)@p
|
error_set_errno(err, eno, cls, fmt, ...)@p
|
error_setg(err, fmt, ...)@p
|
error_setg_errno(err, eno, fmt, ...)@p
)
@script:python@
fmt << r.fmt;
p << r.p;
@@
if "\\n" in str(fmt):
print "%s:%s:%s:%s" % (p[0].file, p[0].line, p[0].column, fmt)
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a9522cc6ea04968e1169f0195952d0029d5dbb9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:15 2013 +0100
error: Clean up abuse of error_report() for help
Use error_printf() instead, so the help gets presented more nicely.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 474c21349fdde3c477357c2317ca6ad50872827b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 8 21:22:14 2013 +0100
error: Clean up error strings with embedded newlines
The arguments of error_report() should yield a short error string
without newlines.
A few places try to print additional help after the error message by
embedding newlines in the error string. That's nice, but let's do it
the right way.
Since I'm touching these lines anyway, drop a stray preposition and
some tabs. We don't use tabs for similar messages elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1360354939-10994-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2da2e52dce73c5e3a916bcc8e86451ed64f557d8
Merge: 1044255... 0184543...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 11 08:10:39 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Peter Maydell
# Via Luiz Capitulino
* luiz/queue/qmp:
tests/test-string-input-visitor: Handle errors provoked by fuzz test
commit 10442558ab1797bfbb01285b909e34c5cf038f12
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Feb 9 13:39:45 2013 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1097 built from submodule.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 70ef6a5b7121cb54d7f9713d6315fb8547761bfc
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Thu Feb 7 16:58:15 2013 +1000
xilinx_zynq: Fix wrong IRQ number of the second EHCI controller
The IRQ number of the second EHCI controller should be 76, not 75.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fb6d1bbd246c7a57ef53d3847ef225cd1349d602
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Feb 8 08:49:10 2013 +0100
block/curl: disable extra protocols to prevent CVE-2013-0249
There is a buffer overflow in libcurl POP3/SMTP/IMAP. The workaround is
simple: disable extra protocols so that they cannot be exploited. Full
details here:
http://curl.haxx.se/docs/adv_20130206.html
QEMU only cares about HTTP, HTTPS, FTP, FTPS, and TFTP. I have tested
that this fix prevents the exploit on my host with
libcurl-7.27.0-5.fc18.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0eb256a2173d35c64696189adcd3599be61922ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 8 13:19:07 2013 +0100
qemu-nbd: document --cache and --aio options
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 32ab06bcf1352848eec42629a85e20efa4e105dc
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 17:47:17 2013 -0600
hw/virtio-net: disable multiqueue by default
The new multiqueue feature adds fields to the virtio device config, which
breaks Windows guests. Disable the feature by default until the Windows
drivers are fixed.
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 14f9b664b34bbd37a488cb5c762aa278c60e1fb6
Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 17:47:16 2013 -0600
hw/virtio-net.c: set config size using host features
Currently, the config size for virtio devices is hard coded. When a new
feature is added that changes the config size, drivers that assume a
static
config size will break. For purposes of backward compatibility, there
needs
to be a way to inform drivers of the config size needed to accommodate the
set of features enabled.
aliguori: merged in
- hw/virtio-net: use existing macros to implement endof
- hw/virtio-net: fix config_size data type
Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1e89ad5b00ba0426d4e949c9e6ce2926c15b81b7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Feb 5 17:47:15 2013 -0600
virtio-net: pass host features to virtio_net_init
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b890492110ccdc943554231d40b67d29fef6af82
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 6 18:25:48 2013 -0600
net: fix infinite loop on exit
1ceef9f27359cbe92ef124bf74de6f792e71f6fb added handling for cleaning
up multiple queues in qemu_del_nic() for cases where multiqueue is in
use. To determine the number of queues it looks at nic->conf->queues,
then iterates through all the queues to cleanup the associated
NetClientStates. If no queues are found, no NetClientStates are deleted.
However, nic->conf->queues is only set when a peer is created via
-netdev or netdev_add, and is otherwise 0. This causes us to spin in
net_cleanup() if we attempt to shut down qemu before adding a host
device.
Since qemu_new_nic() unconditionally creates at least 1
queue/NetClientState at queue idx 0, make qemu_del_nic() always attempt
to clean it up.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0184543814354d37eab75132712c3874d71dd776
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 5 20:44:23 2013 +0000
tests/test-string-input-visitor: Handle errors provoked by fuzz test
It's OK and expected for visitors to return errors when presented with
the fuzz test's random data. Since the fuzzer doesn't care about
errors, we pass in NULL rather than an Error**. This fixes a bug in
the fuzzer where it was passing the same Error** into each visitor,
with the effect that once one visitor returned an error, each later
visitor would notice that it had been passed in an Error** representing
an already set error, and do nothing.
For the case of visit_type_str() we also need to handle the case where
an error means that the visitor doesn't set our char*. We initialize
the pointer to NULL so we can safely g_free() it regardless of whether
the visitor allocated a string for us or not.
This fixes a problem where this test failed the MacOSX malloc()
consistency checks and might segfault on other platforms [due
to calling free() on an uninitialized pointer variable when
visit_type_str() failed.].
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ecd8d4715ea33aa2c146a5047bacb031e86af599
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 18:33:47 2013 -0600
Update version for release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bd4bd24ed3e33f4f0ffa9dde23b8b85430592dc6
Merge: 0bc8ce9... c07ecc6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:39:04 2013 -0600
Merge branch 'for-linux-user' of
https://git.gitorious.org/qemu-m68k/qemu-m68k into staging
* 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k:
linux-user: correct reboot()
linux-user: correct setsockopt()
linux-user: correct print_timeval() swap tv_sec and tv_usec
linux-user: correct msgrcv()
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0bc8ce9460c1f51211e797a825432e55327b70c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 31 12:50:40 2013 +0000
linux-user: Restore cast to target type in get_user()
Commit 658f2dc97 accidentally dropped the cast to the target type of
the value loaded by get_user(). The most visible effect of this would
be that the sequence "uint64_t v; get_user_u32(v, addr)" would sign
extend the 32 bit loaded value into v rather than zero extending as
would be expected for a _u32 accessor. Put the cast back again to
restore the old behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f565235b71b7be66f3f6b385a5377969f5ed26f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 2 15:13:02 2013 +0000
hw/pxa2xx: Fix transposed crn/crm values for pxa2xx cp14 perf regs
When the pxa2xx performance counter related cp14 registers were converted
from a switch-statement implementation to the new table driven cpregs
format in commit dc2a9045c, the crn and crm values for all these
registers were accidentally transposed. Fix this mistake, which was
causing OpenBSD for Zaurus to fail to boot.
Reported-by: Jonathan Gray <jsg@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5b2cd9857d945cc1e9b6f596c757f70e25aed60c
Merge: 3f23624... 8f44015...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:36:16 2013 -0600
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Markus Armbruster
# Via Stefan Hajnoczi
* stefanha/tracing:
trace: Fix location of simpletrace.py in docs
trace: Clean up the "try to update atomic until it worked" loops
trace: Direct access of atomics is verboten, use the API
trace: Fix simple trace dropped event record for big endian
commit 3f23624c848b8f1c88e4305fe01e19b2520bfd3d
Merge: 8a14952... 2a0e1ad...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 16:36:11 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Michael Tokarev (1) and Stefan Weil (1)
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
vnc: recognize Hungarian doubleacutes
target-m68k: Fix comment
commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 17:07:46 2013 +0100
hmp: Disable chardev-add and chardev-remove
As a general rule, HMP commands must be built on top of the QMP API.
Luiz and others have worked long & hard to make HMP conform to this
rule.
Commit f1088908 added chardev-add, in violation of this rule. QMP
command chardev-add was added right before, with minimal features, and
the idea to complete it step by step, then switch over the HMP command
to use it.
Unfortunately, we're not there, yet, and we don't want to release with
chardev-add in a "HMP is more powerful than QMP" state.
Disable the HMP command for now, along with its chardev-remove buddy.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 543f34126b7bfc85b05d0e371e3ce0695444f433
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:26 2013 +0100
hmp: make memchar-read escape ASCII control chars except \n and \t
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit de1cc36e1039faf65b1739d28bef9f2a4e230eb6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:25 2013 +0100
qemu-char: Support suffixed ringbuf size arguments like "size=64K"
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3949e59414fccefadc50ae65650d676cc734048c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:24 2013 +0100
qemu-char: Saner naming of memchar stuff & doc fixes
New device, has never been released, so we can still improve things
without worrying about compatibility.
Naming is a mess. The code calls the device driver CirMemCharDriver,
the public API calls it "memory", "memchardev", or "memchar", and the
special commands are named like "memchar-FOO". "memory" is a
particularly unfortunate choice, because there's another character
device driver called MemoryDriver. Moreover, the device's distinctive
property is that it's a ring buffer, not that's in memory. Therefore:
* Rename CirMemCharDriver to RingBufCharDriver, and call the thing a
"ringbuf" in the API.
* Rename QMP and HMP commands from memchar-FOO to ringbuf-FOO.
* Rename device parameter from maxcapacity to size (simple words are
good for you).
* Clearly mark the parameter as optional in documentation.
* Fix error reporting so that chardev-add reports to current monitor,
not stderr.
* Replace cirmem in C identifiers by ringbuf.
* Rework documentation. Document the impact of our crappy UTF-8
handling on reading.
* QMP examples that even work.
I could split this up into multiple commits, but they'd change the
same documentation lines multiple times. Not worth it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c230105cdea8ac9338bd5b4485c6ae80ec1fa18
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:23 2013 +0100
qemu-char: General chardev "memory" code cleanup
Inline trivial cirmem_chr_is_empty() into its only caller.
Rename qemu_chr_cirmem_count() to cirmem_count().
Fast ring buffer index wraparound. Without this, there's no point in
restricting size to a power two.
qemu_is_chr(chr, "memory") returns *zero* when chr is a memory
character device, which isn't what I'd expect. Replace it by the
saner and more obviously correct chr_is_cirmem(). Also avoids
encouraging testing for specific character devices elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd5b66950fc5551d371ba5017d0e0858b7c800b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:22 2013 +0100
qemu-char: Drop undocumented chardev "memory" compatibility syntax
This is a new device, so there's no compatibility to maintain, and its
use case isn't common enough to justify shorthand syntax.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 094c8c2c67c486bcbc03c5e6327edc6ad3e5e29a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:21 2013 +0100
qemu-char: Fix chardev "memory" not to drop IAC characters
Undocumented misfeature, get rid of it while we can.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 44f3bcd2c7991cc9d096e51e38864135543ea1ce
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:20 2013 +0100
qmp: Drop wasteful zero-initialization in qmp_memchar_read()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c287e99fe47b179e6ef6b212139821b4d78934c1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:19 2013 +0100
qmp: Drop superfluous special case "empty" in qmp_memchar_read()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 13289fb5a716e06fb06febb880e5e116d485f82b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:18 2013 +0100
qmp: Plug memory leaks in memchar-write, memchar-read
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c4f331b6b3b5fe260128f316ee9f01997f7c428d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:17 2013 +0100
qmp: Clean up type usage in qmp_memchar_write(), qmp_memchar_read()
Const-correctness, consistently use standard C types instead of mixing
them with GLib types.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1a69278e53a0e5060c8c6cc825449a122634ce3b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:16 2013 +0100
qmp: Use generic errors in memchar-read, memchar-write
New errors should be generic unless there's a real use case for rich
errors.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3ab651fc819178cf6a518af5860cc49f42cff455
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:15 2013 +0100
qmp: Clean up design of memchar-read
The data returned has a well-defined size, which makes the size
returned along with it redundant at best. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 82e59a676c01b3df3b53998d428d0a64a55f2439
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 6 21:27:14 2013 +0100
qmp: Fix design bug and read beyond buffer in memchar-write
Command memchar-write takes data and size parameter. Begs the
question what happens when data doesn't match size.
With format base64, qmp_memchar_write() copies the full data argument,
regardless of size argument.
With format utf8, qmp_memchar_write() copies size bytes from data,
happily reading beyond data. Copies crap from the heap or even
crashes.
Drop the size parameter, and always copy the full data argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a0e1ad66e4177dddc6c8fb7aeadc095aafac828
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Feb 4 00:36:25 2013 +0400
vnc: recognize Hungarian doubleacutes
As reported in http://bugs.debian.org/697641 , some Hungarian keys
does not work with qemu when using vnc display.
This is because while the Hungarian keymap mentions these symbols,
qemu know nothing about them. So add them.
This patch is applicable to -stable for all previous releases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f38f7a847e316def8606d25441878d723de84b65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Feb 5 13:12:43 2013 +0100
target-m68k: Fix comment
* spelling fix ito -> into
* reorder to match load/store
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 15af6321f4d1f90d0ae1b5cb05093c48b41c4533
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Feb 4 00:36:25 2013 +0400
vnc: recognize Hungarian doubleacutes
As reported in http://bugs.debian.org/697641 , some Hungarian keys
does not work with qemu when using vnc display.
This is because while the Hungarian keymap mentions these symbols,
qemu know nothing about them. So add them.
This patch is applicable to -stable for all previous releases.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a911a182a6bfd3b0257b13f862b0d4fbd9392715
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 11:27:46 2013 +0530
qemu/9p: Don't ignore error in fid clunk
We use the clunk request to do the actual xattr operation. So don't
ignore the error value for fid clunk.
Security model "none" don't support posix acl. Without this patch
guest won't get EOPNOTSUPP error on setxattr("system.posix_acl_access")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit facf98ad987a38d97e12511f81375380b407a828
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 11:27:45 2013 +0530
qemu/iovec: Don't assert if sbytes is zero
Since these values can possibly be sent from guest (for hw/9pfs), do a
sanity check
on them. A 9p write request with 0 bytes caused qemu to abort without
this patch
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ddcb73b7782cb6104479503faea04cc224f982b5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 5 21:00:21 2013 +0200
e1000: fix link down handling with auto negotiation
Fixes a couple of regression bugs introduced by
b9d03e352cb6b31a66545763f6a1e20c9abf0c2c and related to
auto-negotiation:
- Auto-negotiation currently sets link up even if it was
forced down from the monitor.
- If Auto-negotiation was in progress during migration,
link will never come up.
As a fix, don't touch NC link_down field at all,
instead add code on receive path to check
guest link status.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84208085d357d95b84f6e281ec3aa028e988e5ff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 4 16:21:07 2013 -0800
configure: Fix build with XFree
The build is broken on ppc64-linux, possibly only with new binutils:
ld: hw/lm32/../milkymist-tmu2.o: undefined reference to symbol 'XFree'
ld: note: 'XFree' is defined in DSO /lib64/libX11.so.6 so try \
adding it to the linker command line
So let's follow the linker's advice.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91107fdf4443d2171e06840e87277bb7a047343b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 4 16:21:06 2013 -0800
bswap: Fix width of swap in leul_to_cpu
The misnamed HOST_LONG_BITS is really HOST_POINTER_BITS. Here we're
explicitly using an unsigned long, rather than uintptr_t, so it is
more correct to select the swap size via ULONG_MAX.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f876756c57c15f5e14d4136fc432b74f05f082b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Feb 6 05:12:06 2013 -0600
bios: recompile BIOS
SeaBIOS is really close to spilling over to 256k. Until we can better
handle migration across RAM block size changes, recompile SeaBIOS with
a compiler that causes the binary to still fit in 128k.
This was built with:
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)
On 64-bit Fedora 18.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f44015e4600041e200506720e39de7728c5cde9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:40 2013 +0100
trace: Fix location of simpletrace.py in docs
Missed when commit 4c3b5a48 moved it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6b2c9628084f1672b92393cf84039a075a95301
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:39 2013 +0100
trace: Clean up the "try to update atomic until it worked" loops
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e722d705ae7648a6bd94848319a11eb0afd58a17
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:38 2013 +0100
trace: Direct access of atomics is verboten, use the API
The GLib Reference Manual says:
It is very important that all accesses to a particular integer or
pointer be performed using only this API and that different sizes
of operation are not mixed or used on overlapping memory
regions. Never read or assign directly from or to a value --
always use this API.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb3a508531227bc7fb7eee22c51d30bf2ceb15f5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 16:43:37 2013 +0100
trace: Fix simple trace dropped event record for big endian
We use atomic operations to keep track of dropped events.
Inconveniently, GLib supports only int and void * atomics, but the
counter dropped_events is uint64_t. Can't stop commit 62bab732: a
quick (gint *)&dropped_events bludgeons the compiler into submission.
That cast is okay only when int is exactly 64 bits wide, which it
commonly isn't.
If int is even wider, we clobber whatever follows dropped_events. Not
worth worrying about, as none of the machines that interest us have
such morbidly obese ints.
That leaves the common case: int narrower than 64 bits.
Harmless on little endian hosts: we just don't access the most
significant bits of dropped_events. They remain zero.
On big endian hosts, we use only the most significant bits of
dropped_events as counter. The least significant bits remain zero.
However, we write out the full value, which is the correct counter
shifted left a bunch of places.
Fix by changing the variables involved to int.
There's another, equally suspicious-looking (gint *)&trace_idx
argument to g_atomic_int_compare_and_exchange(), but that one casts
unsigned *, so it's okay. But it's also superfluous, because GLib's
atomic int operations work just fine for unsigned. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b22dd1243f38286263d40496ce5298a8a7d96eea
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 3 21:33:16 2013 +0100
target-s390x: Fix wrong comparison in interrupt handling
gcc with -Wextra complains about an ordered pointer comparison:
target-s390x/helper.c:660:27: warning:
ordered comparison of pointer with integer zero [-Wextra]
Obviously the index was missing in the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0123c486367ab77c3c5ed349616a862eb474a03f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Feb 4 15:22:08 2013 -0600
s390x: silence warning from GCC on uninitialized values
As best I can tell, this is a false positive.
[aliguori@ccnode4 qemu-s390]$ make
CC s390x-softmmu/target-s390x/helper.o
/home/aliguori/git/qemu/target-s390x/helper.c: In function
â??do_interruptâ??:
/home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??addrâ??
may be used uninitialized in this function [-Werror=maybe-uninitialized]
/home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: â??addrâ??
was declared here
/home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??maskâ??
may be used uninitialized in this function [-Werror=maybe-uninitialized]
/home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: â??maskâ??
was declared here
cc1: all warnings being treated as errors
make[1]: *** [target-s390x/helper.o] Error 1
make: *** [subdir-s390x-softmmu] Error 2
Cc: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ded67782e6d06069873adce7f9074d273ae75760
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 4 10:07:51 2013 -0600
acpi_piix4: fix segfault migrating from 1.2
b0b873a07872f7ab7f66f259c73fb9dd42aa66a9 bumped the vmstate version and
introduced an old-style load function to handle migration from prior
(<= 1.2) versions.
The load function passes the top-level PIIX4PMState pointer to
vmstate_load_state() to handle nested structs for APMState and
pci_status, which leads to corruption of the top-level PIIX4PMState,
since pointers to the nested structs are expected.
A segfault can be fairly reliably triggered by migrating from 1.2 and
issuing a reset, which will trigger a number of QOM operations which
rely on the now corrupted ObjectClass/Object members.
Fix this by passing in the expected pointers for vmstate_load_state().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c881e20eed4911ab6f8c674f2b1bf225a2cdde71
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:52 2013 -0200
vl.c: validate -numa "cpus" parameter properly
- Accept empty strings without aborting
- Use parse_uint*() to parse numbers
- Abort if anything except '-' or end-of-string is found after the first
number.
- Check for endvalue < value
Also change the MAX_CPUMASK_BITS warning message from "A max of %d CPUs
are supported in a guest" to "qemu: NUMA: A max of %d VCPUs are
supported".
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 845e5bf9cd49873c72f84796cabf107c3f520f37
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:51 2013 -0200
vl.c: Extract -numa "cpus" parsing to separate function
This will make it easier to refactor that code later.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f1399651eaab1b04e49107250d182968a227aa6
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:50 2013 -0200
vl.c: Use parse_uint_full() for NUMA nodeid
This should catch many kinds of errors that the current code wasn't
checking for:
- Values that can't be parsed as a number
- Negative values
- Overflow
- Empty string
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ce85b25838694d2d7396b5e969eb4830329631
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:49 2013 -0200
vl.c: numa_add(): Validate nodeid before using it
Without this check, QEMU will corrupt memory if a too-large nodeid is
provided in the command-line. e.g.:
-numa node,mem=...,cpus=...,nodeid=65
This changes nodenr to unsigned long long, to avoid integer conversion
issues when converting the strtoull() result to int.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ca4c6d363153f19abf3ffdf0ca1532daa581867d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:48 2013 -0200
vl.c: Check for NUMA node limit inside numa_add()
Instead of checking the limit before calling numa_add(), check the limit
only when we already know we're going to add a new node.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 12e53a9d59c8cb272a423e1db036324579a3c697
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:47 2013 -0200
vl.c: Abort on unknown -numa option type
Abort in case an invalid -numa option is provided, instead of silently
ignoring it.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8f302cb0900ba7f38b62da5759f07b77483d6fb9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:46 2013 -0200
vl.c: Fix off-by-one bug when handling "-numa node" argument
The numa_add() code was unconditionally adding 1 to the get_opt_name()
return value, making it point after the end of the string if no ','
separator is present.
Example of weird behavior caused by the bug:
$ qemu-img create -f qcow2
this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2 5G
Formatting 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2',
fmt=qcow2 size=5368709120 encryption=off cluster_size=65536
$ ./x86_64-softmmu/qemu-system-x86_64 -S -monitor stdio -numa node
'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2'
QEMU 1.3.50 monitor - type 'help' for more information
(qemu) info numa
1 nodes
node 0 cpus: 0
node 0 size: 1000 MB
(qemu)
This changes the code to nove the pointer only if ',' is found.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3f9fe2d404ca10153e95499ece111c077b6690a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 4 16:27:45 2013 -0200
cutils: unsigned int parsing functions
There are lots of duplicate parsing code using strto*() in QEMU, and
most of that code is broken in one way or another. Even the visitors
code have duplicate integer parsing code[1]. This introduces functions
to help parsing unsigned int values: parse_uint() and parse_uint_full().
Parsing functions for signed ints and floats will be submitted later.
parse_uint_full() has all the checks made by opts_type_uint64() at
opts-visitor.c:
- Check for NULL (returns -EINVAL)
- Check for negative numbers (returns -EINVAL)
- Check for empty string (returns -EINVAL)
- Check for overflow or other errno values set by strtoll() (returns
-errno)
- Check for end of string (reject invalid characters after number)
(returns -EINVAL)
parse_uint() does everything above except checking for the end of the
string, so callers can continue parsing the remainder of string after
the number.
Unit tests included.
[1] string-input-visitor.c:parse_int() could use the same parsing code
used by opts-visitor.c:opts_type_int(), instead of duplicating that
logic.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ff057ccb07f07ee8f34ae4104f7ba8c2dcbc3f9a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 07:26:05 2013 +0100
target-cris: Build fix for debug output
Around r3361 (81fdc5f8d2d681da8d255baf0713144f8656bac9) env->debug1 used
to contain the address of an MMU fault. This is now written into
env->pregs[PR_EDA] instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fbeadf50f2f965741def823036b086bbc2999b1f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 1 23:03:16 2013 +0100
bitops: unify bitops_ffsl with the one in host-utils.h, call it
bitops_ctzl
We had two copies of a ffs function for longs with subtly different
semantics and, for the one in bitops.h, a confusing name: the result
was off-by-one compared to the library function ffsl.
Unify the functions into one, and solve the name problem by calling
the 0-based functions "bitops_ctzl" and "bitops_ctol" respectively.
This also fixes the build on platforms with ffsl, including Mac OS X
and Windows.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7b2d9779818f4c0d4c31d3a0292bee1c4b633217
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 19:04:27 2013 +0100
util: Fix compilation of envlist.c for MinGW
MinGW has no strtok_r, so we need a declaration in sysemu/os-win32.h.
We must also fix the include statements in util/envlist.c to include
that file.
We currently don't need an implementation of strtok_r because the
code is compiled but not linked for MinGW.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit abd8d4a4d6dfea7ddea72f095f993e1de941614e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 15:10:33 2013 -0600
Update version for 1.4.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 02cd809099322d6bdbd3fb232e9dd1018b125866
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 18:02:50 2013 -0600
tap: unbreak -netdev tap,fd=X
The multiqueue patch series broke -netdev tap,fd=X which manifests
as libvirt not being able to start a guest. This was because it
passed NULL for the netdev name which results in an anonymous netdev
device regardless of what the user specified.
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Cc: Bruce Rogers <brogers@xxxxxxxx>
Reported-by: Bruce Rogers <brogers@xxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b76facc35b0153cee5a8972f8a3c70694a7e3913
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:39 2013 +0100
qom: remove object_delete
This is now unused. Document the initial reference count of an object
and when it will be freed/finalized.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5c099537a646370d85f9a0f6bc18371ceeeb14dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:38 2013 +0100
cpu: do not use object_delete
CPUs are never added to the composition tree, so delete is achieved
simply by removing the last references to them.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b09995aef1d4a5879000a196a82e37b0511c8e03
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:37 2013 +0100
qdev: drop extra references at creation time
qdev_free and qbus_free have to do unparent+unref, because nobody else
drops the initial reference (the one included by object_initialize)
before them.
For device_init_func and do_device_add, this is trivially correct,
since the DeviceState goes out of scope.
For qdev_create, qdev_try_create and qbus_init, it is a bit more tricky.
What we are doing here is just assuming that the caller knows what it's
doing, and won't call qdev_free/qbus_free while the device is still there.
This is a pretty reasonable assumption and (behind the scenes) is also
what GObject/GTK does. GTK actually has a "floating reference" that
goes away as soon as the caller does gtk_container_add or something
like that, but in the end qbus_init and qdev_try_create are already
adding the new object to its qdev parent! So in the end the two solutions
are the same.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dc7389b79a15082fa4824bd3de966499f3b8cb2a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:36 2013 +0100
qdev: inline object_delete into qbus_free/qdev_free
We want object_delete to disappear, and we will do this one class at a
time. Inline it for the qdev case, which we will tackle first.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62d7ba669dbd5b4c92664eea453d28448ab9cb4b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:35 2013 +0100
qdev: add reference for the bus while it is referred to by the DeviceState
Now that the unparent callbacks are complete, we can correctly account
more missing references.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 06f7f2bb562826101468f387b4a34971b16e9aee
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:34 2013 +0100
qdev: move unrealization of devices from finalize to unparent
Similarly, a bus holds a reference back to the device, and this will
prevent the device from going away as soon as this reference is counted
properly. To avoid this, move the unrealization of devices to the
unparent callback. This includes recursively unparenting all the buses
and (after the previous patch) the devices on those buses, which ensures
that the web of references completely disappears for all devices that
reside (in the qdev tree) below the one being unplugged.
After this patch, the qdev tree and the bus<->child relationship is
defined as "A is above B, iff unplugging A will automatically unplug B".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6853d27a1253cd29c43d08b0624e7938a48d52a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:33 2013 +0100
qdev: move deletion of children from finalize to unparent
A device will never be finalized as long as it has a reference from
other devices that sit on its buses. To ensure that the references
go away, deassociate a bus from its children in the unparent callback
for the bus.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9d127820ebbdc76592e3922cbbe803533455f9a2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:32 2013 +0100
qdev: add reference count to a device for the BusChild
Each device has a reference through the BusChild. This reference
was not accounted for, add it now.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c232d2ffb7cf60e9fdf5dc17c5d5f7fe6d1ca64
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:31 2013 +0100
qom: document reference counting of link properties
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 52e636cdd8528b8f72f43b653356ac177524912b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:30 2013 +0100
qom: preserve object while unparenting it
Avoid that the object disappears after it's deleted from the QOM
composition tree, in case that was the only reference to it.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4fec6404465fdb1f09670b1451605c7cbf87c01e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:29 2013 +0100
pci: use qbus_create in pci_bus_new
Remove knowledge of QOM innards. The common part of pci_bus_new and
pci_bus_new_inplace is moved to a new function pci_bus_init.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:28 2013 +0100
qdev: change first argument of qbus_create_inplace to void *
Make it clear that no BUS() macro is needed in the callers (in fact it
wouldn't work because the object has not been initialized yet with the
right class).
Suggested-by: Andreas Faerber <afaerber@xxxxxxx>
Acked-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 013e118247d0f1894f329ad31b8f8a9e279555f3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 25 14:12:27 2013 +0100
qdev: remove duplication between qbus_create and qbus_create_inplace
Move the common part to qbus_realize.
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5286af5ef27bfe25aa0472eb4d695964ae16b23
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:27 2013 +0800
accel: change {xen, kvm, tcg, qtest}_allowed from int to bool
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 217e21be6e0f2c1caa0b644f56aa60dba7ea7893
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:26 2013 +0800
vl: correct error message when fail to init kvm
command:
qemu-system-x86_64 -hda disk.img -smp 32 --enable-kvm
error:
Number of SMP cpus requested (32) exceeds max cpus supported by KVM (16)
failed to initialize KVM: Invalid argument
No accelerator found!
well, it did find kvm, but failed to init,
so message "No accelerator found!" is confusing,
this commit remove the confusing error message.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e3c66d939480e0f372316c22184c07fb3de12873
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Thu Jan 24 13:03:25 2013 +0800
vl: skip init accelerator if it's not available
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit baeddded5fe6fa37d13fb94bf8dc0e9b2b184e21
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 15:42:45 2013 -0600
sparc: disable qtest in make check
We've seen this repeatedly in buildbot but I can now reliably
reproduce it myself too. With a few hundred runs of 'make check',
qemu-system-sparc will hang consuming 100% CPU. I've attached GDB
to the hung process and unfortunately, I can't get anything useful
out of GDB (RIP is not a valid simple and there is nothing else on
the stack).
At any rate, since this only manifests in qemu-system-sparc and it
doesn't appear to be a qtest specific problem, I think we should
disable it until the problem is resolved.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 77a5f4f20371c5f564d670c25ad72443a9aa2ee6
Merge: 3e3648b... fdf263f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 14:40:05 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (7) and others
# Via Stefan Hajnoczi
* stefanha/block:
block/raw-posix: Build fix for O_ASYNC
vmdk: Allow space in file name
parallels: Fix bdrv_open() error handling
dmg: Use g_free instead of free
dmg: Fix bdrv_open() error handling
vpc: Fix bdrv_open() error handling
cloop: Fix bdrv_open() error handling
bochs: Fix bdrv_open() error handling
sheepdog: pass vdi_id to sheep daemon for sd_close()
vmdk: Allow selecting SCSI adapter in image creation
block: Adds mirroring tests for resized images
block: Fix is_allocated_above with resized files
qemu-iotests: Add regression test for b7ab0fea
commit 3e3648b29f80c3c406dae127592150b550f20d2f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 12:55:56 2013 -0600
xen: fix build problem introduced from per-queue peers
Reported-by Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a9c87c586ba9ee290792a98dc126b2861b7f8b03
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:41 2013 +0800
virtio-net: compat multiqueue support
Disable multiqueue support for pre 1.4.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f800801838f74a8a430fb41a7393fa5df0a61f9
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:40 2013 +0800
virtio-net: migration support for multiqueue
This patch add migration support for multiqueue virtio-net. Instead of
bumping
the version, we conditionally send the info of multiqueue only when the
device
support more than one queue to maintain the backward compatibility.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fed699f9ca6ae8a0fb62803334cf46fa64d1eb91
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:39 2013 +0800
virtio-net: multiqueue support
This patch implements both userspace and vhost support for multiple queue
virtio-net (VIRTIO_NET_F_MQ). This is done by introducing an array of
VirtIONetQueue to VirtIONet.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c87e93e3102f0c717f58ed90858e6b410fd4e04
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:38 2013 +0800
virtio-net: separate virtqueue from VirtIONet
To support multiqueue virtio-net, the first step is to separate the
virtqueue
related fields from VirtIONet to a new structure VirtIONetQueue. The
following
patches will add an array of VirtIONetQueue to VirtIONet based on this
patch.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e78a2b4285f6cc125dc7a514bebef97d9af1d812
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:37 2013 +0800
virtio: add a queue_index to VirtQueue
Add a queue_index to VirtQueue and a helper to fetch it, this could be
used by
multiqueue supported device.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f23fd811ac4f49f482058cad3b465dc5dc0edc11
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:36 2013 +0800
virtio: introduce virtio_del_queue()
Some device (such as virtio-net) needs the ability to destroy or re-order
the
virtqueues, this patch adds a helper to do this.
Signed-off-by: Jason Wang <jasowang>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a9f98bb5ebe6fb1869321dcc58e72041ae626ad8
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:35 2013 +0800
vhost: multiqueue support
This patch lets vhost support multiqueue. The idea is simple, just
launching
multiple threads of vhost and let each of vhost thread processing a
subset of
the virtqueues of the device. After this change each emulated device can
have
multiple vhost threads as its backend.
To do this, a virtqueue index were introduced to record to first
virtqueue that
will be handled by this vhost_net device. Based on this and nvqs, vhost
could
calculate its relative index to setup vhost_net device.
Since we may have many vhost/net devices for a virtio-net device. The
setting of
guest notifiers were moved out of the starting/stopping of a specific
vhost
thread. The vhost_net_{start|stop}() were renamed to
vhost_net_{start|stop}_one(), and a new vhost_net_{start|stop}() were
introduced
to configure the guest notifiers and start/stop all vhost/vhost_net
devices.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 264986e2c8f14a0f4a32ac6f1e083905833a5fc7
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:34 2013 +0800
tap: multiqueue support
Recently, linux support multiqueue tap which could let userspace call
TUNSETIFF
for a signle device many times to create multiple file descriptors as
independent queues. User could also enable/disabe a specific queue through
TUNSETQUEUE.
The patch adds the generic infrastructure to create multiqueue taps. To
achieve
this a new parameter "queues" were introduced to specify how many queues
were
expected to be created for tap by qemu itself. Alternatively, management
could
also pass multiple pre-created tap file descriptors separated with ':'
through a
new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost
file
descriptors could also be passed in this way.
Each TAPState were still associated to a tap fd, which mean multiple
TAPStates
were created when user needs multiqueue taps. Since each TAPState
contains one
NetClientState, with the multiqueue nic support, an N peers of
NetClientState
were built up.
A new parameter, mq_required were introduce in tap_open() to create
multiqueue
tap fds.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e5dc0b402e64d245956c47cf22776e5206f322dc
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:33 2013 +0800
tap: introduce a helper to get the name of an interface
This patch introduces a helper tap_get_ifname() to get the device name of
tap
device. This is needed when ifname is unspecified in the command line and
qemu
were asked to create tap device by itself. In this situation, the name
were
allocated by kernel, so if multiqueue is asked, we need to fetch its name
after
creating the first queue.
Only linux has this support since it's the only platform that supports
multiqueue tap.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16dbaf905b72636d1bb066968bceabd64eaa1a9d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:32 2013 +0800
tap: support enabling or disabling a queue
This patch introduce a new bit - enabled in TAPState which tracks whether
a
specific queue/fd is enabled. The tap/fd is enabled during initialization
and
could be enabled/disabled by tap_enalbe() and tap_disable() which calls
platform
specific helpers to do the real work. Polling of a tap fd can only done
when
the tap was enabled.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 94fdc6d03034f594c53d5413590e23fcb7ffc268
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:31 2013 +0800
tap: add Linux multiqueue support
This patch add basic multiqueue support for Linux. When multiqueue is
needed, we
will first check whether kernel support multiqueue tap before creating
more
queues. Two new functions tap_fd_enable() and tap_fd_disable() were
introduced
to enable and disable a specific queue. Since the multiqueue is only
supported
in Linux, return error on other platforms.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5193e5fbb52a33f1f684b0d42d29a452dfd29e4a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:30 2013 +0800
tap: factor out common tap initialization
This patch factors out the common initialization of tap into a new helper
net_init_tap_one(). This will be used by multiqueue tap patches.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4e4f9ae7da90b55fe77307e58c867aa6b02a7384
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:29 2013 +0800
tap: import linux multiqueue constants
Import multiqueue constants from if_tun.h from 3.8-rc3. A new ifr flag
IFF_MULTI_QUEUE were introduced to create a multiqueue backend by calling
TUNSETIFF with the this flag and with the same interface name many times.
A new ioctl TUNSETQUEUE were introduced. When doing this ioctl with
IFF_DETACH_QUEUE, the queue were disabled in the linux kernel. When doing
this
ioctl with IFF_ATTACH_QUEUE, the queue were enabled in the linux kernel.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:28 2013 +0800
net: multiqueue support
This patch adds basic multiqueue support for qemu. The idea is simple, an
array
of NetClientStates were introduced in NICState, parse_netdev() were
extended to
find and match all NetClientStates belongs to the backend and place their
pointers in NICConf. Then qemu_new_nic can setup a N:N mapping between
NICStates
that belongs to a nic and NICStates belongs to the netdev. And a
queue_index
were introduced in NetClientState to track its index. After this, each
peers of
a NICState were abstracted as a queue.
After this change, all NetClientState that belongs to the same
backend/nic has
the same id. When use want to change the link status, all NetClientStates
that
belongs to the same backend/nic will be also changed. When user want to
delete
a device or netdev, all NetClientStates that belongs to the same
backend/nic
will be deleted also. Changing or deleting an specific queue is not
allowed.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f7860455fd582b171e526b4b4647b9b9c9a3e703
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:27 2013 +0800
net: introduce NetClientState destructor
To allow allocating an array of NetClientState and free it once, this
patch
introduces destructor of NetClientState. Which could do type specific
free,
which could be used by multiqueue to free the array once.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 18a1541a8da40271056aab99100bdc38283c42ac
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:26 2013 +0800
net: introduce qemu_net_client_setup()
This patch separates the setup of NetClientState from its allocation,
this will
allow allocating an arrays of NetClientState and does the initialization
one by
one which is what multiqueue needs.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c51ae73fc68de2a4f11f5a7ebb52a4e79687e7d
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:25 2013 +0800
net: introduce qemu_find_net_clients_except()
In multiqueue, all NetClientState that belongs to the same netdev or nic
has the
same id. So this patches introduces an helper
qemu_find_net_clients_except()
which finds all NetClientState with the same id. This will be used by
multiqueue
networking.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 948ecf219c032e3483b35ba4e162e5eee17d8b77
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:24 2013 +0800
net: intorduce qemu_del_nic()
To support multiqueue nic, this patch separate the nic destructor from
qemu_del_net_client() to a new helper qemu_del_nic() since the mapping
bettween
NiCState and NetClientState were not 1:1 in multiqueue. The following
patches
would refactor this function to support multiqueue nic.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc1f0f45425d0cca41ad421623f92bebc93a21a9
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:23 2013 +0800
net: introduce qemu_get_nic()
To support multiqueue, this patch introduces a helper qemu_get_nic() to
get
NICState from a NetClientState. The following patches would refactor this
helper
to support multiqueue.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b356f76de31e343121cdab3a01b39182edce9519
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:22 2013 +0800
net: introduce qemu_get_queue()
To support multiqueue, the patch introduce a helper qemu_get_queue()
which is used to get the NetClientState of a device. The following
patches would
refactor this helper to support multiqueue.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 28a65891a0deb10b222890b9eb916ca32cb977bb
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:21 2013 +0800
net: tap: use abort() instead of assert(0)
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ec45f08313ce92039d52ea0338db4a0c862fef6a
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Jan 30 19:12:20 2013 +0800
net: tap: using bool instead of bitfield
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 350ed2fcd95d30b02609e8783f33735f356ad7ce
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 31 14:49:44 2013 +0100
target-ppc: Fix target_ulong vs. hwaddr format mismatches
Since HWADDR_PRIx is always the same now, use %016 for TARGET_PPC64 and
%08 for common code. This may slightly change the ppc64 debug output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bf0076643dac4f37cabb9233dc9170f1c2fdd49
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 28 16:15:16 2013 -0200
libqtest: Wait for the right child PID after killing QEMU
When running "make check" with gcov enabled, we get the following
message:
hw/tmp105.gcda:cannot open data file, assuming not executed
The problem happens because:
* tmp105-test exits before QEMU exits, because waitpid() at
qtest_quit() fails;
* waitpid() fails because there's another process already
waiting for the QEMU process;
* The process that is already waiting for QEMU is the child created by
qtest_init() to run system();
* qtest_quit() is incorrectly waiting for the QEMU PID directly instead
of the child created by qtest_init().
This fixes the problem by sending SIGTERM to QEMU, but waiting for the
child process created by qtest_init() (that exits immediately after QEMU
exits).
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3e7b8f4e6f507e09e27b7449f3744596f19c0083
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 18:56:18 2013 +0100
isa: QOM'ify isa_bus_from_device()
DeviceState::parent_bus is document as private and should be accessed
through qdev_get_parent_bus(). Use a DEVICE() cast instead of accessing
ISADevice's qdev field directly. Use ISA_BUS() in place of DO_UPCAST().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aae84a1f2ad256d222c97411af17013b1c35799
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 09:12:54 2013 +0100
i2c: Drop I2C_SLAVE_FROM_QDEV() macro
It is not being used in hot paths and is obsoleted by I2C_SLAVE()
QOM cast macro. Clean it up using a scripted conversion, so that it
doesn't get used in new code.
Some of its callers were combining it with FROM_I2C_SLAVE() macro, which
is equally obsolete but needs to be replaced in a type-specific way.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6c8fec8372147a561f5b721d3a5180b73d7ce4cb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 16:16:19 2013 +0100
configure: Keep -Werror enabled for Release Candidates
The automatic drop of -Werror during the RC phases has in the past led
to warnings creeping into submaintainer trees.
Last QEMU Summit it was concluded that -Werror should stay on and
enabled only as part of the release process.
To relieve our release manager, instead of always enabling -Werror or
doing some number magic, let's enable it depending on whether a .git/
directory exists in the source tree.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70ddd9f66d1d5234b38b4444f209c511e7757ce6
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Thu Jan 31 17:43:51 2013 -0600
Revert "e1000: no need auto-negotiation if link was down"
This reverts commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d.
I'm not sure what issue the original commit was meant to fix, or if
the logic is actually wrong, but it causes e1000 to stop working
after a guest issues a reset.
>From what I can tell a guest with an e1000 nic has no way of changing
the link status, as far as it's NetClient peer is concerned, except
in the auto-negotiation path, so with this patch in place there's no
recovery after a reset, since the link goes down and stays that way.
Revert this patch now to fix the bigger problem, and handle any
lingering issues with a follow-up.
Reproduced/tested with qemu-jeos and Ubuntu 12.10.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5dea9a694ffa6fdd19ba5ce265c619686c14df1b
Merge: e205842... a31ca01...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:08:14 2013 -0600
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Orit Wasserman
# Via Juan Quintela
* quintela/migration.next:
Fix error message in migrate_set_capability HMP command
Allow XBZRLE decoding without enabling the capability
Fix example for query-migrate-capabilities
Add XBZRLE testing
Move XBZRLE encoding code to a separate file to allow testing
commit e205842bd91fbd15655ff40a4282b1ffcbc301b1
Merge: fabb604... 49e1587...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:06:23 2013 -0600
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Andreas Färber
# Via Alexander Graf
* agraf/s390-for-upstream:
target-s390x: Pass S390CPU to s390_{add, del}_running_cpu()
target-s390x: Clean up cpu_inject_*() signatures
target-s390x: Fix debug output
target-s390x: Fix debug output (continued)
commit fabb60424d68b7c3af1be447a1f48c5b9ffe5123
Merge: 8a55ebf... 476b6d1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Feb 1 09:02:09 2013 -0600
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Andreas Färber (2) and Alexander Graf (1)
# Via Alexander Graf
* agraf/ppc-for-upstream:
target-ppc: Fix build for PPC_DEBUG_DISAS
target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS
PPC: Unify dcbzl code path
commit fdf263f63fad86b04032da86686a952edfe4644f
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 31 15:40:14 2013 +0100
block/raw-posix: Build fix for O_ASYNC
Commit eeb6b45d48800e96f67ef2a5c80332557fd45ddb (block: raw-posix image
file reopen) broke the build on OpenIndiana.
illumos has no O_ASYNC. Exclude it from flags to be compared
and instead assert that it is not set where defined.
Cf. e61ab1da7e98357da47c54d8f893b9bd6ff2f7f9 for qemu-ga.
Cc: qemu-stable@xxxxxxxxxx (1.3.x)
Cc: Jeff Cody <jcody@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd9234757528a1b7155a75ec2eedb375f71e99fa
Author: Philipp Hahn <hahn@xxxxxxxxxxxxx>
Date: Tue Jan 29 22:50:31 2013 +0100
vmdk: Allow space in file name
The previous scanf() format string stopped parsing the file name on the
first white white space, which seems to be allowed at least by VMware
Workstation.
Change the format string to collect everything between the first and
second quote as the file name, disallowing line breaks.
Signed-off-by: Philipp Hahn <hahn@xxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 46536235d80a012cc4286b71426cafad0c7f41f0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:32 2013 +0100
parallels: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. Hey, no memory leak to fix here
while we're touching it!
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f8aa2e19f88fe0dfaf8240ae666de7fd18dd1d0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:31 2013 +0100
dmg: Use g_free instead of free
The buffers are allocated with g_(re)alloc, so use g_free to free them.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69d34a360dfe773e17e72c76d15931c9b9d190f6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:30 2013 +0100
dmg: Fix bdrv_open() error handling
Return -errno instead of -1 on errors and add error checks in some
places that didn't have one. Passing things by reference requires more
correct typing, replaced a few off_ts therefore - with a 32-bit off_t
this is even a fix for truncation bugs.
While touching the code, fix even some more memory leaks than in the
other drivers...
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 59294e465953ffb07d42dc61c827bb98cc0ca423
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:29 2013 +0100
vpc: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a60657f5729bac57e70802eb17e67ad793400fd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:28 2013 +0100
cloop: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b7d7dfd198f06ec5edd0c857291c5035c5c060f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 25 17:07:27 2013 +0100
bochs: Fix bdrv_open() error handling
Return -errno instead of -1 on errors. While touching the
code, fix a memory leak.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f74c260b45a8f94007929c800d95c2303f1a7ec
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Jan 29 17:14:16 2013 +0800
sheepdog: pass vdi_id to sheep daemon for sd_close()
Sheep daemon needs vdi_id to identify which vdi is closed to release
resources
such as object cache.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7f2039f61113f11be92112adf31b6052e04d986f
Author: Othmar Pasteka <pasteka@xxxxxxxx>
Date: Wed Jan 30 00:26:52 2013 +0100
vmdk: Allow selecting SCSI adapter in image creation
Introduce a new option "adapter_type" when converting to vmdk images.
It can be one of the following: ide (default), buslogic, lsilogic
or legacyESX (according to the vmdk spec from vmware).
In case of a non-ide adapter, heads is set to 255 instead of the 16.
The latter is used for "ide".
Also see LP#545089
Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a04eca108e5efe8a09fe82f7079fcd1568ffc8d7
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Fri Jan 25 10:57:20 2013 -0800
block: Adds mirroring tests for resized images
This test verifies two mirroring issues are fixed with resized images:
* sync='top' creates an image that is the proper size
* sync='full' doesn't cause an assertion failure and crash qemu
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63ba17d39f1a8d262b31ea6a07dd3eb45d5a41e2
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Thu Jan 24 10:02:08 2013 -0800
block: Fix is_allocated_above with resized files
In an image chain, if the base image is smaller than the current
image, we need to make sure to use the current images count of
unallocated blocks once we get to the end of the base image. Without
this change the code will return 0 blocks when it gets to the end
of the base image and mirror_run will fail its assertion.
Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b93d6d2468ba81b9e373066004f2084efbdcc9d6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 23 16:52:49 2013 +0100
qemu-iotests: Add regression test for b7ab0fea
It turned out that the change in b7ab0fea was actually a real qcow2
corruption fix. This is a reproducer for the bug.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a31ca017aaf9074c1bb636b3ddaceb40f994375f
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:19 2013 +0200
Fix error message in migrate_set_capability HMP command
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1b1fdfeae68c61786a474b02601fbba6040fc5a4
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:18 2013 +0200
Allow XBZRLE decoding without enabling the capability
Before this fix we couldn't load a guest from
XBZRLE compressed file.
For example:
The user activated the XBZRLE capability
The user run migrate -d "exec:gzip -c > vm.gz"
The user won't be able to load vm.gz and get an error.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dbca1b3773185af0413e750f26d04b0110cff107
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:17 2013 +0200
Fix example for query-migrate-capabilities
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 21e3cd295b52b3ac1528262b8639f2e896cd9467
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:16 2013 +0200
Add XBZRLE testing
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit ba2e28e8a20cf78ea4f64fbf84055f969013f9f7
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 31 09:12:15 2013 +0200
Move XBZRLE encoding code to a separate file to allow testing
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8a55ebf01507ab73cc458cfcd5b9cb856aba0b9e
Merge: 2854c54... 7786812...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:37:33 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber/qom-cpu:
linux-user: bsd-user: Don't reset X86CPU twice
target-i386: Pass X86CPU to cpu_x86_set_a20()
target-unicore32: Rename CPU subtypes
target-openrisc: Rename CPU subtypes
target-openrisc: TYPE_OPENRISC_CPU should be abstract
target-m68k: Rename CPU subtypes
target-m68k: Mark as unmigratable
target-s390x: Mark as unmigratable
target-sh4: Mark as unmigratable
target-xtensa: Mark as unmigratable
target-microblaze: Mark as unmigratable
target-unicore32: Mark as unmigratable
ide/mmio: QOM'ify MMIO IDE for R2D
commit 2854c549e84532f0b76b7884f1903da8a1bf4dbb
Merge: c628d74... 7e02dc6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:37:23 2013 -0600
Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging
# By Henry Harrington (1) and Stefan Weil (1)
# Via Andreas Färber
* afaerber-or/cocoa-for-upstream:
cocoa: Replace non-portable asprintf() by g_strdup_printf()
cocoa: Fix VBE function Set Display Start
commit c628d74738bfdb872f771407a2790509ec4520f9
Merge: e62a214... 6a659bb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 31 19:35:24 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
virtio,make,pci,e1000,vfio,piix
This includes my timestamp generation cleanup,
Amos's and my work on virtio net commands,
pci,e1000,vfio and piix fixes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 31 Jan 2013 06:20:27 AM CST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (6) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vfio-pci: Enable PCIe extended config space
PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set
ich9: add support for pci assignment
virtio-net: rename ctrl rx commands
virtio-net: introduce a new macaddr control
virtio-net: remove layout assumptions for ctrl vq
virtio-net: revert mac on reset
rules/mak: make clean should blow away timestamp files
Makefile: clean timestamp generation rule
rules.mak: cleanup config generation rules
e1000: document ICS read behaviour
commit 49e158785fa86f04e2d4027dd19719d8b79a4421
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 30 12:48:25 2013 +0000
target-s390x: Pass S390CPU to s390_{add, del}_running_cpu()
This prepares for moving the halted field to CPUState.
Most call sites can already supply S390CPU, for some env becomes unused.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f94667336ecf6566e090a895a37bc06da435d686
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 30 12:48:24 2013 +0000
target-s390x: Clean up cpu_inject_*() signatures
Despite cautioning that S390CPU is needed for upcoming CPUState
refactorings, commit 5d69c547d947798cba92d836d06f6e017ba2b19d (s390:
I/O interrupt and machine check injection.) added functions
cpu_inject_io() and cpu_inject_crw_mchk() with CPUS390XState argument,
claiming consistency with cpu_inject_ext().
This complicates making cpu_interrupt() take a CPUState even more and it
required to pass &cpu->env from some S390CPU-aware call sites already,
creating inconsistency elsewhere. Address that.
This also eliminates the need for CPUS390XState in s390_virtio_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 07cc7d128111958e1079632129b1633cb2a435ec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:03 2013 +0000
target-s390x: Fix debug output
Commit 71e470886fb6092504503a5fe41092ace71c096c (target-s390x: fix
style) renamed the cpu_s390x_handle_mmu_fault() argument from _vaddr to
orig_vaddr. Update the debug output code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a6f921b0c398c941bb3e17704ffa546849d243de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:04 2013 +0000
target-s390x: Fix debug output (continued)
Since its introduction in d5a439645a5a70fed5431318c3bce9dc2caa950f
(s390x: helper functions for system emulation) the variable name was
raddr. Fix this.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 476b6d1619446b9c8f72d7523985ba4fdfeaa405
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:02 2013 +0000
target-ppc: Fix build for PPC_DEBUG_DISAS
In r5949 / 76db3ba44ee8db671f804755f13b016eefd13288 (target-ppc: memory
load/store rework) variable little_endian was replaced with ctx.le_mode.
Update the debug code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cca48a93a9a6c1c95ace89b299d3f9f47adadd6d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 03:32:01 2013 +0000
target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8e33944f8c648e579a2827ae6f30e4d66ee87f96
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 29 13:36:02 2013 +0100
PPC: Unify dcbzl code path
The bit that makes a dcbz instruction a dcbzl instruction was declared as
reserved in ppc32 ISAs. However, hardware simply ignores the bit, making
code valid if it simply invokes dcbzl instead of dcbz even on 750 and G4.
Thus, mark the bit as unreserved so that we properly emulate a simple dcbz
in case we're running on non-G5s.
While at it, also refactor the code to check the 970 special case during
runtime. This way we don't need to differenciate between a 970 dcbz and
any other dcbz anymore. We also allow for future improvements to add
e500mc
dcbz handling.
Reported-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 77868120cfe93ad7816dfac6546684e5a6c6e256
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 05:34:10 2013 +0100
linux-user: bsd-user: Don't reset X86CPU twice
Since commit 65dee38052597b6285eb208125369f01b29ba6c1 (target-i386:
move cpu_reset and reset callback to cpu.c) the x86 CPU is reset through
cpu_init() but was still reset immediately after in linux-user and
bsd-user. Clean this up.
Similarly in linux-user/syscall.c it is also reset after cpu_copy().
But that's a bug of its own, fixing which poses a semantic change.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit cc36a7a2c7e281d7d715ac73d31bbccc0d2d2670
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 15:19:06 2013 +0100
target-i386: Pass X86CPU to cpu_x86_set_a20()
Prepares for cpu_interrupt() changing argument to CPUState.
While touching it, rename to x86_cpu_...() now that it takes an X86CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit eeb266ded886185d1d3b0d8bc089ec72df1a2bfd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 23:25:25 2013 +0100
target-unicore32: Rename CPU subtypes
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 478032a93d908e59085c1ac56f10979942e7dc4f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 22:50:35 2013 +0100
target-openrisc: Rename CPU subtypes
Model names were mapped 1:1 to type names. As a side effect this
registered a type "any", which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments or -cpu ? output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc755a00b1fd58ac9bfa316237134958489f0145
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 22:27:17 2013 +0100
target-openrisc: TYPE_OPENRISC_CPU should be abstract
A basic assumption of CPU subtypes is that only specific models get
instantiated. A user is not supposed to instantiate an <arch>-cpu.
Suppress it via abstract = true, which also drops or32-cpu from
-cpu ? output.
Cc: qemu-stable@xxxxxxxxxx
Cc: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a9f812b381639b96a020bdb1f4783f11f886754
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 20:16:17 2013 +0100
target-m68k: Rename CPU subtypes
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
No functional changes for -cpu arguments or -cpu ? output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 087fe4f824e88d5924bf6887cb59985510a790b7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:53:28 2013 +0100
target-m68k: Mark as unmigratable
It neither defined CPU_SAVE_VERSION nor implemented cpu_{save,load}().
Mark M68kCPU as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c7396bbb2597577b1463fc997a73e67b8a067880
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:41:06 2013 +0100
target-s390x: Mark as unmigratable
CPU_SAVE_VERSION was undefined, so "cpu_common" VMState and
cpu_{save,load}() were not registered. They were no-ops.
Therefore there is no backwards compatibility to keep, so we can mark
S390CPU as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 1e45d31b04b1e3ccad2bfb3b4a90a75317ada16a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:32:33 2013 +0100
target-sh4: Mark as unmigratable
It neither defined CPU_SAVE_VERSION nor implemented cpu{save,load}().
Mark it as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 004a569057492784e4922f2f8cb396fb55affe71
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:22:41 2013 +0100
target-xtensa: Mark as unmigratable
There was no CPU_SAVE_VERSION defined, so neither "cpu_common" VMState
nor cpu_{save,load}() were registered. Their implementation was no-op.
Therefore there is no backwards compatibility to keep, so mark XtensaCPU
as unmigratable at device level.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3ce8b2bcbff6445f84db53ef38dbc4e5dd102676
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 19:03:32 2013 +0100
target-microblaze: Mark as unmigratable
cpu_{save,load} were no-ops, so de facto it is unmigratable and no
backwards compatibility to keep. Therefore mark the MicroBlazeCPU as
unmigratable at device level the QOM way and suppress "cpu_common"
VMState registration by dropping CPU_SAVE_VERSION.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 88e28512efd8d36476e50a78acb1dca8b41a3cf1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 11:43:30 2013 +0100
target-unicore32: Mark as unmigratable
CPU_SAVE_VERSION 2 was bogus as both save and load would just throw a
hw_error(). Therefore we can without problems suppress registration of
"cpu_common" VMState by dropping CPU_SAVE_VERSION define and provide an
unmigratable "cpu" VMStateDescription for UniCore32CPU at device level
instead, where we can attach this the QOM way.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6b2578d678497dbce44ed7999d269fc973ae6e8f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 1 00:13:41 2013 +0100
ide/mmio: QOM'ify MMIO IDE for R2D
It was not qdev'ified before, so turn it into a SysBusDevice.
Keep mmio_ide_init_drives() around to attach the hard drive.
Signed-off-by: Andreas Färberr <afaerber@xxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e62a214cd49f836339fe3fd8126fc81d66c3c917
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx>
Date: Wed Jan 23 04:17:41 2013 +0100
target-mips: fix incorrect test for MTHLIP
The pos field in the DSPControl register is not correctly initialized.
Per documentation, the result of MTHLIP is unpredictable if the value of
the
pos field before the execution is greater than 32.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6f0af30449b4780c65723d0d45d0f956af5e8c4e
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Jan 23 03:57:02 2013 +0100
target-mips: enable access to DSP ASE if implemented
compute_hflags() will reset DSP h-flags, so MX bit should be initially set
for usermode in cpu_state_reset() if DSP ASE is implemented.
This change will bring back user-mode support for DSP ASE, since one of
the
recent changes broke it.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f54c35d1ea287beb26f6e929e2362cbc9dcfec07
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Tue Jan 22 17:16:00 2013 +0000
target-mips: Unfuse {,N}M{ADD,SUB}.fmt
Turn MADD.fmt, MSUB.fmt, NMADD.fmt and NMSUB.fmt from fused to unfused
operations, so that they behave in the same way as a separate
multiplication
and addition. The instructions were only fused in early MIPS IV
processors.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c728154bbbc1a86465a0fd6bfc839bc9710ac374
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Sun Jan 20 19:30:54 2013 +0000
target-mips: Sign-extend the result of LWR
Sign-extend the result of LWR, as is already done for LWL. This is
necessary
in the case where LWR loads the full word (i.e. the address is actually
aligned). In the other cases, it is implementation defined whether the
upper 32 bits of the result are unchanged or a copy of bit 31. The latter
seems easier to implement.
Previously the code used:
(oldval & (0xfffffffe << (31 - bitshift))) | (newval >> bitshift)
which zeroed the upper bits of the register, losing any previous sign
extension in the unaligned cases.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 17e8fef1af2db3a13613a311db2ec2f7a69645a1
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Sun Jan 20 19:28:48 2013 +0000
target-mips: Fix signedness of loads in MIPS16 RESTOREs
Make RESTORE use sign-extending rather than zero-extending loads.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 810ded13792042d988c8dbdea3b97eedbd949b40
Merge: df6126a... 51492fd...
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Jan 31 23:33:14 2013 +0100
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Rename CPU types
target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes
commit df6126a7f21a1a032e41b15899ca29777399d5a2
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:24 2013 +0100
target-mips: implement DSP (d)append sub-class with TCG
DSP instruction from the (d)append sub-class can be implemented with
TCG. Use a different function for these instructions are they are quite
different from compare-pick sub-class.
Fix BALIGN instruction for negative value, where the value should be
zero-extended before being shift to the right.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0a16c79cc4087838ae5f2bc9554d91db2cbb2503
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for reduction add instructions
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 75d012ac7f5c92ac5ee2c1dee8c7a7fbeb724e3c
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for unary DSP operators
This allow to reduce the number of macros.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6de0e6c13e275a59de7fcf5dee26c5a88e3a2ebe
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: use DSP unions for binary DSP operators
This allow to reduce the number of macros.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 652613ab5ae4559b481c612010b407e1c2216f36
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: add unions to access DSP elements
Instead of playing with bit shifting, add two unions (one for 32-bit
values, one for 64-bit ones) to access all the DSP elements with the
correct type.
This make the code easier to read and less error prone, and allow GCC
to vectorize the code in some cases.
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit ad153f153da08f5e08bc8e433c0070af53e34e0a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:23 2013 +0100
target-mips: generate a reserved instruction exception on CPU without DSP
On CPU without DSP ASE support, a reserved instruction exception (instead
of
a DSP ASE sate disabled) should be generated.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit d75c135e6b6255787dfc01ce997862d820ed1d36
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:22 2013 +0100
target-mips: copy insn_flags in DisasContext
Copy insn_flags in DisasContext to avoid passing a CPUMIPSState pointer
to subroutines, as suggested by Richard Henderson. Change subroutines to
use this new field and remove the first argument.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit f7d2072e25d3592acec4657dae8862facf298e9f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Jan 1 18:02:22 2013 +0100
target-mips: fix DSP loads with rd = 0
When rd is 0, which still need to do the actually load to possibly
generate a TLB exception.
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 7e02dc63b8f16372107434d44269e21cdff5d19d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 07:38:40 2013 +0000
cocoa: Replace non-portable asprintf() by g_strdup_printf()
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 477a3877fdc3125f309133ce511236f39f58c16e
Author: Henry Harrington <henry.harrington@xxxxxxxxx>
Date: Tue Nov 27 08:59:41 2012 +0000
cocoa: Fix VBE function Set Display Start
Register a dpy_gfx_setdata callback so that the Cocoa code
is notified whenever the screen start address changes.
Commit 1d3323d has a similar fix for the VNC UI.
Signed-off-by: Henry Harrington <henry.harrington@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx (1.3.x)
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 321f211707822b4c87f0bb89e4f46586fff43163
Merge: b0df98f... f61850b...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:51:47 2013 -0600
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
# By Christoffer Dall (1) and Peter Maydell (1)
# Via Peter Maydell
* pmaydell/arm-devs.next:
hw/vexpress: Use correct HBI (board model number) for vexpress-a15
hw/arm_sysctl: Clear sysctl cfgctrl start bit
commit b0df98f3a2968eb5aba3075d1cf9b1a3931907e0
Merge: 7cc2a8b... 99f4280...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:51:18 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Markus Armbruster (12) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema
tests: Fix {rtc, m48t59}-test build on illumos
qemu-pixman.h: Avoid mutual inclusion loop with console.h
qemu-ga: Fix unchecked strdup() by converting to g_strdup()
qapi: Fix unchecked strdup() by converting to g_strdup()
libcacard: Fix unchecked strdup() by converting to g_strdup()
qemu-log: Plug trivial memory leak in cpu_set_log_filename()
qemu-log: Fix unchecked strdup() by converting to g_strdup()
virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup()
spice: Fix unchecked strdup() by converting to g_strdup()
readline: Fix unchecked strdup() by converting to g_strdup()
hw/9pfs: Fix unchecked strdup() by converting to g_strdup()
g_strdup(NULL) returns NULL; simplify
g_malloc(0) and g_malloc0(0) return NULL; simplify
xilinx_axidma: Fix debug mode compile messages
cadence_gem: Debug mode compile fixes
cadence_ttc: Debug mode compile fixes
vnc: Clean up vncws_send_handshake_response()
commit 7cc2a8b14a363777e7d5b7d102176fba0cf27667
Merge: 6ac5107... 7561015...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:48:23 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
# By Andreas Färber
# Via Andreas Färber
* afaerber-or/prep-up:
prep: Move PReP machine to hw/ppc/
prep_pci: Convert to QOM realizefn
prep_pci: Create PCIBus and PCIDevice in-place
commit 6ac5107dc7045f2edc43ada2cb3f18d372b9be0b
Merge: 0893d46... 19380b1...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 30 10:46:30 2013 -0600
Merge remote-tracking branch 'agraf/s390-for-upstream' into staging
# By Cornelia Huck (13) and others
# Via Alexander Graf
* agraf/s390-for-upstream:
s390: Drop set_bit usage in virtio_ccw.
s390: css error codes.
s390: Use s390_cpu_physical_memory_map for tpi.
sclpconsole: Don't instantiate sclpconsole with -nodefaults
s390: Add s390-ccw-virtio machine.
s390-virtio: Check for NULL device in reset hypercall
s390: Move hw files to hw/s390x
virtio-s390: add a reset function to virtio-s390 devices
s390: Make typeinfo const
s390: Add new channel I/O based virtio transport.
s390-virtio: Factor out some initialization code.
s390: Wire up channel I/O in kvm.
s390: Virtual channel subsystem support.
s390: Add channel I/O instructions.
s390: I/O interrupt and machine check injection.
s390: Channel I/O basic definitions.
s390: Add mapping helper functions.
s390: Lowcore mapping helper.
s390: Add default support for SCLP console
commit 51492fd1a99099308d8c20ab7134ffb54abbf374
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 17:30:10 2013 +0100
target-arm: Rename CPU types
In the initial conversion of CPU models to QOM types, model names were
mapped 1:1 to type names. As a side effect this gained us a type "any",
which is now a device.
To avoid "-device any" silliness and to pave the way for compiling
multiple targets into one executable, adopt a <name>-<arch>-cpu scheme.
This leads to names like arm926-arm-cpu but is easiest to handle.
No functional changes for -cpu arguments or -cpu ? output.
Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e4c1cfa5cb8f8bfbbfd949f2fabbe2be35e60c99
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 30 16:01:56 2013 +0000
target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes
Fix a leak of a TCG temporary in code paths for VFP system register
writes for cases which UNDEF or are write-ignored.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f61850bffbd0bb8b15aa55ebc3470bf1f8ce8664
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 30 15:39:02 2013 +0000
hw/vexpress: Use correct HBI (board model number) for vexpress-a15
The vexpress-a15 QEMU model is supposed to be a V2P-CA15; the HBI
(a kind of board model number) for this coretile is 237, not 217.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 706872a56630a206897742b70c69ff99727672d3
Author: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 30 15:39:01 2013 +0000
hw/arm_sysctl: Clear sysctl cfgctrl start bit
The start bit should only be set to indicate that a function call is
underway, right now. When done with function, clear it.
Signed-off-by: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c07ecc6866f8c5eb2e0b23ba20214000310355e0
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Mon Jan 7 11:40:06 2013 +0000
linux-user: correct reboot()
According to man reboot(2), the 4th argument is only used with
LINUX_REBOOT_CMD_RESTART2. In other cases, trying to convert
the value can generate EFAULT.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1b09aeb90827c1d91383a9eae42ce8f25909857b
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Tue Jan 1 08:24:11 2013 +0000
linux-user: correct setsockopt()
SO_SNDTIMEO and SO_RCVTIMEO take a struct timeval, not an int
To test this, you can use :
QEMU_STRACE= ping localhost 2>&1 |grep TIMEO
568 setsockopt(3,SOL_SOCKET,SO_SNDTIMEO,{1,0},8) = 0
568 setsockopt(3,SOL_SOCKET,SO_RCVTIMEO,{1,0},8) = 0
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 910ee4e5f4a1df5b1bd144dfca1ae466e2a86a78
Author: Laurent Vivier <Laurent@xxxxxxxxx>
Date: Mon Dec 31 09:45:06 2012 +0000
linux-user: correct print_timeval() swap tv_sec and tv_usec
Signed-off-by: Laurent Vivier <Laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 79dd77de124c47263f54e5f686273487e0016a8f
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Dec 20 11:00:11 2012 +0000
linux-user: correct msgrcv()
All parameters must be swapped before the call of do_msgrcv().
Allow faked (debian fakeroot daemon) to work properly.
WITHOUT this patch:
$ faked-sysv --foreground --debug
using 1723744788 as msg key
msg_key=1723744788
1723744788:431
FAKEROOT: msg=131072, key=1723744788
FAKEROOT: r=-1, received message type=-150996052, message=-160219330
FAKEROOT, get_msg: Bad address
r=14, EINTR=4
fakeroot: clearing up message queues and semaphores, signal=-1
fakeroot: database save FAILED
WITH this patch:
$ faked-sysv --foreground --debug
using 1569385744 as msg key
msg_key=1569385744
1569385744:424
FAKEROOT: msg=0, key=1569385744
^C
fakeroot: clearing up message queues and semaphores, signal=2
fakeroot: database save FAILED
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 99f4280854514b22972bd257fe5facc439222d2e
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Tue Jan 29 17:58:41 2013 +0100
qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema
Currently, we are using 'tray_open' in QMP and 'tray-open' in
HMP. However, the QMP documentation was mistakenly using the
HMP version.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a05ddd9216b6c5e9c48eac3433ff6fa4a282fc17
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Jan 26 15:27:59 2013 +0100
tests: Fix {rtc, m48t59}-test build on illumos
Struct tm does not have tm_gmtoff field on illumos.
Fix the build by not zero-initializing these fields on Solaris.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b0878611c64f027ca5d15ba641f423cc04ead3f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:03:47 2013 +0000
qemu-pixman.h: Avoid mutual inclusion loop with console.h
Remove an unnecessary mutual inclusion loop between qemu-pixman.h and
console.h, since the former was only including the latter for
'PixelFormat*', which can be provided by typedefs.h. This requires a
minor adjustment to the files which included qemu-pixman.h, since
they were relying on it implicitly dragging in all of console.h.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24a53049537886cf93273c01e3d7727444321afc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:06 2013 +0100
qemu-ga: Fix unchecked strdup() by converting to g_strdup()
I figure it's freed somewhere deep down in QAPI, with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13b10e05e4b89418a78500da05b25164f786d7e4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:05 2013 +0100
qapi: Fix unchecked strdup() by converting to g_strdup()
Note that we already free with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be168af860109a1ecc8526c5bbe0ace1536448b8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:04 2013 +0100
libcacard: Fix unchecked strdup() by converting to g_strdup()
Note that we already free with g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40a50b0a73d185c85cf62023f07e3091861081bb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:03 2013 +0100
qemu-log: Plug trivial memory leak in cpu_set_log_filename()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 636e0f27c6675839dc43d4c7613dfefc222234eb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:02 2013 +0100
qemu-log: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 606017de2f254f847a009af770f8babc9a9fcadc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:01 2013 +0100
virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fd3bea3f44500bbd361e617a4316df073b112eec
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:08:00 2013 +0100
spice: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3baa5f9e4f84bbc9ed9c3fe590835ecc8b0bf4a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:59 2013 +0100
readline: Fix unchecked strdup() by converting to g_strdup()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3f8e138c23ba082f87c96634d06b978473c1e9b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:58 2013 +0100
hw/9pfs: Fix unchecked strdup() by converting to g_strdup()
Note: the allocation in virtio_9p_init() is still leaked. To be fixed
in a followup commit.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c64f50d1e250879611e6f328e2c4fb18c8a4ab0c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:57 2013 +0100
g_strdup(NULL) returns NULL; simplify
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6528499fa4c3ceaec01ad29d8090ef55918ebfb3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 22 11:07:56 2013 +0100
g_malloc(0) and g_malloc0(0) return NULL; simplify
Once upon a time, it was decided that qemu_malloc(0) should abort.
Switching to glib retired that bright idea. Some code that was added
to cope with it (e.g. in commits 702ef63, b76b6e9) is still around.
Bury it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75610155562bd480356a7a5018e5de4c44ec7884
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat Jan 26 20:41:58 2013 +0100
prep: Move PReP machine to hw/ppc/
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 74cef80c473fe4ce195d5280a34bb2af8492aabb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:35 2013 -0800
xilinx_axidma: Fix debug mode compile messages
Missing cast one one of the conditionally compiled printfs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 080251a46493e4e4cb6cbd6e2878d31c7cf023c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:34 2013 -0800
cadence_gem: Debug mode compile fixes
Some printfs are throwing warnings when debug mode is enabled. Fixed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c69544130f50536c61686a9ec6734327b6174ee0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:54:33 2013 -0800
cadence_ttc: Debug mode compile fixes
Some printfs are throwing warnings when debug mode is enabled. Fixed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cfba8e6f92d45a2374622c3dc57499e42a1c07e1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 25 10:31:16 2013 +0100
vnc: Clean up vncws_send_handshake_response()
Use appropriate types, drop superfluous casts, use sizeof, don't
exploit that this particular call of gnutls_fingerprint() doesn't
change its last argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a659bbff991b0033d1bf1ff71b7d550e0367d99
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Jan 23 17:46:13 2013 -0700
vfio-pci: Enable PCIe extended config space
We don't know pre-init time whether the device we're exposing is PCIe
or legacy PCI. We could ask for it to be specified via a device
option, but that seems like too much to ask of the user. Instead we
can assume everything will be PCIe, which makes PCI-core allocate
enough config space. Removing the flag during init leaves the space
allocated, but allows legacy PCI devices to report the real device
config space size to rest of Qemu.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1ec4ba741630699665a6334f3959271da3effec7
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Jan 24 10:31:20 2013 +0100
PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set
Traditional PCI config space access is achieved by writing a 32 bit
value to io port 0xcf8 to identify the bus, device, function and config
register. Port 0xcfc then contains the register in question. But if you
write the appropriate pair of magic values to 0xcf9, the machine will
reboot. Spectacular! And not standardised in any way (certainly not part
of the PCI spec), so different chipsets may have different requirements.
Booo.
In the PIIX3 spec, IO port 0xcf9 is specified as the Reset Control
Register. Bit 1 (System Reset, SRST) would normally differentiate between
soft reset and hard reset, but we ignore the difference beyond allowing
the guest to read it back.
RHBZ reference: 890459
This patch introduces the following overlap between the preexistent
"pci-conf-idx" region and the "piix3-reset-control" region just being
added. Partial output from "info mtree":
I/O
0000000000000000-000000000000ffff (prio 0, RW): io
0000000000000cf8-0000000000000cfb (prio 0, RW): pci-conf-idx
0000000000000cf9-0000000000000cf9 (prio 1, RW): piix3-reset-control
I sanity-checked the patch by booting a RHEL-6.3 guest and found no
problems. I summoned gdb and set a breakpoint on rcr_write() in order to
gather a bit more confidence. Relevant frames of the stack:
kvm_handle_io (port=3321, data=0x7f3f5f3de000, direction=1, size=1,
count=1) [kvm-all.c:1422]
cpu_outb (addr=3321, val=6 '\006') [ioport.c:289]
ioport_write (index=0, address=3321, data=6) [ioport.c:83]
ioport_writeb_thunk (opaque=0x7f3f622c4680, addr=3321, data=6)
[ioport.c:212]
memory_region_iorange_write (iorange=0x7f3f622c4680, offset=0,
width=1, data=6) [memory.c:439]
access_with_adjusted_size (addr=0, value=0x7f3f531fbac0,
size=1, access_size_min=1,
access_size_max=4,
access=0x7f3f5f6e0f90
<memory_region_write_accessor>,
opaque=0x7f3f6227b668)
[memory.c:364]
memory_region_write_accessor (opaque=0x7f3f6227b668, addr=0,
value=0x7f3f531fbac0, size=1,
shift=0, mask=255)
[memory.c:334]
rcr_write (opaque=0x7f3f6227afb0, addr=0, val=6, len=1)
[hw/piix_pci.c:498]
The dispatch happens in ioport_write(); "index=0" means byte-wide access:
static void ioport_write(int index, uint32_t address, uint32_t data)
{
static IOPortWriteFunc * const default_func[3] = {
default_ioport_writeb,
default_ioport_writew,
default_ioport_writel
};
IOPortWriteFunc *func = ioport_write_table[index][address];
if (!func)
func = default_func[index];
func(ioport_opaque[address], address, data);
}
The "ioport_write_table" and "ioport_opaque" arrays describe the flattened
IO port space. The first array is less interesting (it selects a thunk
function). The "ioport_opaque" array is interesting because it decides how
writing to the port is implemented ultimately.
4-byte wide access to 0xcf8 (pci-conf-idx):
(gdb) print ioport_write_table[2][0xcf8]
$1 = (IOPortWriteFunc *) 0x7f3f5f6d99ba <ioport_writel_thunk>
(gdb) print \
((struct MemoryRegionIORange*)ioport_opaque[0xcf8])->mr->ops.write
$2 = (void (*)(void *, hwaddr, uint64_t, unsigned int))
0x7f3f5f5575cb <pci_host_config_write>
1-byte wide access to 0xcf9 (piix3-reset-control):
(gdb) print ioport_write_table[0][0xcf9]
$3 = (IOPortWriteFunc *) 0x7f3f5f6d98d0 <ioport_writeb_thunk>
(gdb) print \
((struct MemoryRegionIORange*)ioport_opaque[0xcf9])->mr->ops.write
$4 = (void (*)(void *, hwaddr, uint64_t, unsigned int))
0x7f3f5f6b42f1 <rcr_write>
The higher priority of "piix3-reset-control" ensures that the 0xcf9
entries in ioport_write_table / ioport_opaque will always belong to it,
independently of its relative registration order versus "pci-conf-idx".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 91c3f2f00810a9ba5e4404c9611197efd8f694c8
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Tue Jan 22 19:11:37 2013 -0700
ich9: add support for pci assignment
Fills out support for the pci assignment API. Added:
PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin)
Add calls to pci_bus_fire_intx_routing_notifier() when routing changes
are made.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit dd23454ba2c83168b453155365671e67723b881f
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jan 22 23:44:46 2013 +0800
virtio-net: rename ctrl rx commands
This patch makes rx commands consistent with specification.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c1943a3f3774ee1aad51e8cc5b8cd24e66e198a5
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Jan 22 23:44:45 2013 +0800
virtio-net: introduce a new macaddr control
In virtio-net guest driver, currently we write MAC address to
pci config space byte by byte, this means that we have an
intermediate step where mac is wrong. This patch introduced
a new control command to set MAC address, it's atomic.
VIRTIO_NET_F_CTRL_MAC_ADDR is a new feature bit for compatibility.
"mac" field will be set to read-only when VIRTIO_NET_F_CTRL_MAC_ADDR
is acked.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 22 23:44:44 2013 +0800
virtio-net: remove layout assumptions for ctrl vq
Virtio-net code makes assumption about virtqueue descriptor layout
(e.g. sg[0] is the header, sg[1] is the data buffer).
This patch makes code not rely on the layout of descriptors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 41dc8a67c7dcecdf7ae1cd25db3c46f2b42a221f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jan 16 11:37:40 2013 +0200
virtio-net: revert mac on reset
Once guest overrides virtio net primary mac,
it retains the value set until qemu exit.
This is inconsistent with standard nic behaviour.
To fix, revert the mac to the original value on reset.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7586317bc0db3b993446b21eec914f5b66645ee4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 13:27:54 2013 +0200
rules/mak: make clean should blow away timestamp files
Using a global pattern makes it easier to clean out
old generated files.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f329a55305c3b14da3c7b35f19379bae745e728
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 14:47:33 2013 +0200
Makefile: clean timestamp generation rule
create timestamp by rule without sideeffects.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4b25966ab976f3a7fd9008193b2defcc82f8f04d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 13:12:35 2013 +0200
rules.mak: cleanup config generation rules
This addresses two issues with config generation
1. rule generating timestamp has side effect.
Thus cleanup on error does not work.
2. rule for handling timestamp is too generic.
It can create any missing .h file.
As a result when .h file is removed, build
might try to create it using this rule which
results in build errors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a52a8841038638afe54ffb00e0aca48de0b1539a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jan 9 23:50:00 2013 +0200
e1000: document ICS read behaviour
Add code comment to clarify the reason we set ICS with ICR:
the reason was previously undocumented and git
log confused rather than clarified the comments.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0893d46014b0300fb8aec92df94effea34d04b61
Merge: 0c77067... f8bb056...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 16:57:41 2013 -0600
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too
big
vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery'
Conflicts:
target-i386/kvm.c
Trivial merge resolution due to lack of context.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c77067950e0b158ea7d825cfa7630bfd09b968a
Merge: ec9466f... 10a2158...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 29 16:57:04 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-28-13' into staging
# By Markus Armbruster
# Via Michael Roth
* mdroth/qga-pull-1-28-13:
qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
commit 19380b1bf587fd962a60fb40cc4927ba999cf17b
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Jan 29 16:33:04 2013 +0100
s390: Drop set_bit usage in virtio_ccw.
set_bit on indicators doesn't go well on 32 bit targets:
note: expected 'long unsigned int *' but argument is of type 'uint64_t *'
Switch to bit shifts instead.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
[agraf: use 1ULL instead]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8d034a6fad4c580be3ed4a15f24e0bf47aa92d15
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Mon Jan 28 17:01:30 2013 +0100
s390: css error codes.
Changed error codes in the channel subsystem / virtio-ccw code
(-EOPNOTSUPP -> -ENOSYS, -ERESTART -> -EINPROGRESS).
This should hopefully fix building on mingw32.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50c8d9bfc6d9ca48b978c6201f97bd850bd0dc83
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Sun Jan 27 23:59:26 2013 +0000
s390: Use s390_cpu_physical_memory_map for tpi.
Map the I/O interruption code before calling into css.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2e788490d83a4de5bea00207c8695edd5d487e4a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jan 25 06:00:19 2013 +0000
sclpconsole: Don't instantiate sclpconsole with -nodefaults
libvirt specifies nodefaults and creates an sclp console with special
parameters. Let qemu follow nodefaults and don't create an sclp
console if nodefaults is specified.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5c95808bac7d995378b3835e10011775c7c2d0b
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 06:08:56 2013 +0000
s390: Add s390-ccw-virtio machine.
Add a new machine type, s390-ccw-virtio, making use of the
virtio-ccw transport to present virtio devices as channel
devices.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab290630fad0df42ee94a81b20c48d0da2dc6f66
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jan 22 23:24:08 2013 +0000
s390-virtio: Check for NULL device in reset hypercall
s390_virtio_bus_find_mem() may return a NULL VirtIOS390Device.
If called with, e.g., args[0] == 0, this leads to a segfault.
Fix this by adding error handling as done for other hypercalls.
Present since baf0b55a9e57b909b1f8b0f732c0b10242867418 (Implement
virtio reset).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b73d35311098585dbdb375fdf8369b16c8222e12
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 25 01:16:39 2013 +0100
s390: Move hw files to hw/s390x
This moves all files only used by s390 system emulation to hw/s390x.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 93726cb31982f5d930a4d5838215307390636d9b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 04:40:25 2013 +0000
virtio-s390: add a reset function to virtio-s390 devices
virtio-s390 devices are not being reset when their bus is. To fix
this, add a reset method that forwards to virtio_reset. This is
only needed because of the "strange" modeling of virtio devices;
the ->vdev link is being handled manually rather than through qdev.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 49973ebc039f644fce3e73ff8019efaa795bd83b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 24 19:11:26 2013 +0100
s390: Make typeinfo const
All TypeInfo definitions should be const.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5cf2bb4e3827732b1b6740bddd022eb19988e0a
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 06:08:55 2013 +0000
s390: Add new channel I/O based virtio transport.
Add a new virtio transport that uses channel commands to perform
virtio operations.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fad37673f53ac8a2e0575c084a26e5f6bb59957d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:09 2013 +0000
s390-virtio: Factor out some initialization code.
Some of the machine initialization for s390-virtio will be reused
by virtio-ccw.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09b998782978f95f626236b39f0be99c02a014a9
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:07 2013 +0000
s390: Wire up channel I/O in kvm.
Trigger the code for our virtual css in case of instruction
intercepts for I/O instructions.
Handle the tsch exit for the subchannel-related part of tsch.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df1fe5bb49241baddf1f319a6ecbe0885e875afa
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:06 2013 +0000
s390: Virtual channel subsystem support.
Provide a mechanism for qemu to provide fully virtual subchannels to
the guest.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b18aad543300de5da88efef8e4116a3ccbbf897
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:05 2013 +0000
s390: Add channel I/O instructions.
Provide handlers for (most) channel I/O instructions.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5d69c547d947798cba92d836d06f6e017ba2b19d
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:04 2013 +0000
s390: I/O interrupt and machine check injection.
I/O interrupts are queued per isc. Only crw pending machine checks
are supported.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit db1c8f53bfb1b3bff4f904be4f929808a445522e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:03 2013 +0000
s390: Channel I/O basic definitions.
Basic channel I/O structures and helper function.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38322ed6518817066ce3a9037fd3795af57e1cdd
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:02 2013 +0000
s390: Add mapping helper functions.
Add s390_cpu_physical_memory_{map,unmap} with special handling
for the lowcore.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4782a23b270ecbb9ce0ca6f3f1b60857a09cef0e
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 24 02:28:01 2013 +0000
s390: Lowcore mapping helper.
Create a lowcore mapping helper that includes a check for sufficient
length.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3ef669e19401b3e504f0bd1ca3113c3aeacd4bed
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 24 12:18:52 2013 +0100
s390: Add default support for SCLP console
The current s390 machine uses the virtio console as default console,
but this doesn't mean that we always want to keep it that way for new
machines.
This patch introduces a way for a machine type to specify that it wants
the default console to be an SCLP console, which is a lot closer to what
real hardware does.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit f8bb056564ed719b2fa5e05028bc70aeb0cc5c6c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 28 12:49:26 2013 +0100
target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big
Stack corruption may occur if too big 'level' or 'xlevel' values passed
on command line with KVM enabled, due to limited size of cpuid_data
in kvm_arch_init_vcpu().
reproduces with:
qemu -enable-kvm -cpu qemu64,level=4294967295
or
qemu -enable-kvm -cpu qemu64,xlevel=4294967295
Check if there is space in cpuid_data before passing it to cpu_x86_cpuid()
or abort() if there is not space.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit ec9466ff2e50213c8318ffdd7003f345278ab795
Merge: 503cb22... 290adf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:48:03 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu: (37 commits)
kvm: Pass CPUState to kvm_on_sigbus_vcpu()
cpu: Unconditionalize CPUState fields
target-m68k: Use type_register() instead of type_register_static()
target-unicore32: Use type_register() instead of type_register_static()
target-openrisc: Use type_register() instead of type_register_static()
target-unicore32: Catch attempt to instantiate abstract type in
cpu_init()
target-openrisc: Catch attempt to instantiate abstract type in
cpu_init()
target-m68k: Catch attempt to instantiate abstract type in cpu_init()
target-arm: Catch attempt to instantiate abstract type in cpu_init()
target-alpha: Catch attempt to instantiate abstract type in cpu_init()
qom: Introduce object_class_is_abstract()
target-unicore32: Detect attempt to instantiate non-CPU type in
cpu_init()
target-openrisc: Detect attempt to instantiate non-CPU type in
cpu_init()
target-m68k: Detect attempt to instantiate non-CPU type in cpu_init()
target-alpha: Detect attempt to instantiate non-CPU type in cpu_init()
target-arm: Detect attempt to instantiate non-CPU type in cpu_init()
cpu: Add model resolution support to CPUClass
target-i386: Remove setting tsc-frequency from x86_def_t
target-i386: Set custom features/properties without intermediate
x86_def_t
target-i386: Remove vendor_override field from CPUX86State
...
Conflicts:
tests/Makefile
Resolved simple conflict caused by lack of context in Makefile
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 503cb22e055dcf477f9147fa1a3b8ae17c86c9b0
Merge: 6cebf7a... 67bec53...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:46:45 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Paolo Bonzini (14) and others
# Via Kevin Wolf
* kwolf/for-anthony: (24 commits)
ide: Add fall through annotations
block: Create proper size file for disk mirror
ahci: Add migration support
ahci: Change data types in preparation for migration
ahci: Remove unused AHCIDevice fields
hbitmap: add assertion on hbitmap_iter_init
mirror: do nothing on zero-sized disk
block/vdi: Check for bad signature
block/vdi: Improved return values from vdi_open
block/vdi: Improve debug output for signature
block: Use error code EMEDIUMTYPE for wrong format in some block drivers
block: Add special error code for wrong format
mirror: support arbitrarily-sized iterations
mirror: support more than one in-flight AIO operation
mirror: add buf-size argument to drive-mirror
mirror: switch mirror_iteration to AIO
mirror: allow customizing the granularity
block: allow customizing the granularity of the dirty bitmap
block: return count of dirty sectors, not chunks
mirror: perform COW if the cluster size is bigger than the granularity
...
commit 6cebf7afac9287f7bcaeb0d8fd64fd7b75e3fa2c
Merge: 6034fe7... 49b6d72...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 28 14:41:25 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Lei Li (3) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
QAPI: Introduce memchar-read QMP command
QAPI: Introduce memchar-write QMP command
qemu-char: Add new char backend CirMemCharDriver
docs: document virtio-balloon stats
balloon: re-enable balloon stats
balloon: drop old stats code & API
block: Monitor command commit neglects to report some errors
commit 10a2158f52796e5b2b7ce7991bde09a3c985a37b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:15:09 2013 +0100
qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6f6867493cc00974de594a509cee5a3be61c64aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:15:08 2013 +0100
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
Neglects to free errors allocated by qmp_guest_fsfreeze_thaw().
Spotted by Coverity.
While there, drop the test whether return value is negative (it's
never true), and improve logging.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 290adf38967787bd985a5ec67dc4717e83c29eaa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 09:30:27 2013 +0100
kvm: Pass CPUState to kvm_on_sigbus_vcpu()
Since commit 20d695a9254c1b086a456d3b79a3c311236643ba (kvm: Pass
CPUState to kvm_arch_*) CPUArchState is no longer needed.
Allows to change qemu_kvm_eat_signals() argument as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c03c520d508ba8b3a384f9849700987df8e4c328
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 25 16:11:42 2013 +0100
cpu: Unconditionalize CPUState fields
Commits fc8c5b8c41ee5ba69d7a2be63b02a08c7b0b155b (Makefile.user: Define
CONFIG_USER_ONLY for libuser/) and
dd83b06ae61cfa2dc4381ab49f365bd0995fc930 (qom: Introduce CPU class)
specifically prepared the qom/cpu.c file to be compiled differently for
softmmu and *-user. This broke as part of build system refactorings
while CPU patches were in flight, adding conditional fields
kvm_fd (8737c51c0444f832c4e97d7eb7540eae457e08e4) and
kvm_vcpu_dirty (20d695a9254c1b086a456d3b79a3c311236643ba) for softmmu.
linux-user and bsd-user would therefore get a CPUState type with
instance_size ~8 bytes longer than expected.
Fix this by unconditionally having the fields in CPUState.
In practice, target-specific CPU types' instance_size would compensate
this, and upstream qom/cpu.c does not yet touch any affected field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2dddbc2123681f0cc37a891fa61d97a88d5e641c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 27 19:31:00 2013 +0100
target-m68k: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 87fb5811e631e79c24adab1f62bee01987cf1606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:01:00 2013 +0100
target-unicore32: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a1ebd6ce3396954185bda6e94ada60c583f6cbea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 11:10:14 2013 +0100
target-openrisc: Use type_register() instead of type_register_static()
According to its documentation, type_register_static()'s TypeInfo
argument should exist for the life type of the type.
Therefore use type_register() when registering the list of CPU subtypes.
No functional change with the current implementation.
Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4933908ac5974252c1830d69e9493fa79c5ea606
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:41:38 2013 +0100
target-unicore32: Catch attempt to instantiate abstract type in cpu_init()
Fixes -cpu unicore32-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c432b7840cfbc35fc0d097428d0a2f2a94983360
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:39:38 2013 +0100
target-openrisc: Catch attempt to instantiate abstract type in cpu_init()
There is no abstract OpenRISCCPU yet, but that seems a bug of its own.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cae85065a44b731467dc6a5caee7cfc6d26d9ca3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:36:31 2013 +0100
target-m68k: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu m68k-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 245fb54db5f8c88c9d73e037178bc3ca1f9a4bb6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:32:49 2013 +0100
target-arm: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu arm-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a120c287086e0b03a57f1f4ac7d7aa73fe3d1fe7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:28:22 2013 +0100
target-alpha: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu alpha-cpu asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 178623789465287624c48f7ef12d0ab83a1dc380
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:20:18 2013 +0100
qom: Introduce object_class_is_abstract()
This lets a caller check if an ObjectClass as returned by, e.g.,
object_class_by_name() is instantiatable.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit d89e12188d50f7f8a894027789f32fa7ba6226ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 12:07:17 2013 +0100
target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new uc32_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_UNICORE32_CPU.
This fixes, e.g., -cpu puv3_dma asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d5ce2e5643f4055b67ea012d91e812f1e607a83
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 15:45:34 2013 +0100
prep_pci: Convert to QOM realizefn
SysBusDeviceClass' initfn merely calls SysBusDeviceClass::init, so we
can already hook up our own realizefn overwriting this behavior.
A symmetric unrealizefn is not necessary, knowing that the child's
unrealizefn is still no-op, too. Avoids ripping it out again when
recursive realization at DeviceState-level is implemented.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 98aca3c8e8778745cdd0670a792a41314115afa5
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sat May 26 19:14:52 2012 +0200
prep_pci: Create PCIBus and PCIDevice in-place
Prepares for QOM realizefn by removing object creation from qdev initfn.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit bd039ce0094f3724a87a193c846ee8468ce652b0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 11:17:14 2013 +0100
target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new openrisc_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_OPENRISC_CPU.
This fixes, e.g., -cpu open_eth asserting.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc5b2da32ba54d991e8669b14a771afb3a67f408
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 17:50:15 2013 +0100
target-m68k: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new m68k_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
(a sub-type of) TYPE_M68K_CPU.
This fixes, e.g., -cpu ide-hd asserting.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0e44a02301b081d36e686e767694a770c25160a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 17:27:54 2013 +0100
target-alpha: Detect attempt to instantiate non-CPU type in cpu_init()
Check in alpha_cpu_class_by_name() whether the type found is actually
(a sub-type of) TYPE_ALPHA_CPU.
This fixes, e.g., -cpu typhoon-pcihost asserting.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5900d6b2d59875c9b11e4d8cead6d9ddaa9eb787
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 16:11:43 2013 +0100
target-arm: Detect attempt to instantiate non-CPU type in cpu_init()
Consolidate model checking into a new arm_cpu_class_by_name().
If the name matches an existing type, also check whether that type is
actually (a sub-type of) TYPE_ARM_CPU.
This fixes, e.g., -cpu tmp105 asserting.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b8c27549917b3e07fec5807dbd2b6528ceb4efa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 18:26:21 2013 +0100
cpu: Add model resolution support to CPUClass
Introduce CPUClass::class_by_name and add a default implementation.
Hook up the alpha and ppc implementations.
Introduce a wrapper function cpu_class_by_name().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c728dfef56d468a6a80b4dacdfb7109220d2546
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:39 2013 +0100
target-i386: Remove setting tsc-frequency from x86_def_t
Setting tsc-frequency from x86_def_t is NOP because default tsc_khz
in x86_def_t is 0 and CPUX86State.tsc_khz is also initialized to 0
by default. So there is no need to overwrite tsc_khz with default 0
because field was already initialized to 0.
Custom tsc-frequency setting is not affected due to it being set
without using x86_def_t.
Field tsc_khz in x86_def_t becomes unused with this patch, so drop it
as well.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a91987c25db38834091174681a6e1ffcbe582182
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:38 2013 +0100
target-i386: Set custom features/properties without intermediate x86_def_t
Move custom features parsing after built-in cpu_model defaults are set
and set custom features directly on CPU instance. That allows to make a
clear distinction between built-in cpu model defaults that eventually
should go into class_init() and extra property setting which is done
after defaults are set on CPU instance.
Impl. details:
* use object_property_parse() property setter so it would be a mechanical
change to switch to global properties later.
* And after all current features/properties are converted into static
properties, it will take a trivial patch to switch to global
properties.
Which will allow to:
* get CPU instance initialized with all parameters passed on -cpu ...
cmd. line from object_new() call.
* call cpu_model/featurestr parsing only once before CPUs are created
* open a road for removing CPUxxxState.cpu_model_str field, when other
CPUs are similarly converted to subclasses and static properties.
- re-factor error handling, to use Error instead of fprintf()s, since
it is anyway passed in for property setter.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 11acfdd5a1647895ff9094e7f93f3317224eb4d8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:37 2013 +0100
target-i386: Remove vendor_override field from CPUX86State
Commit 8935499831312 makes cpuid return to guest host's vendor value
instead of built-in one by default if kvm_enabled() == true and allows
to override this behavior if 'vendor' is specified on -cpu command line.
But every time guest calls cpuid to get 'vendor' value, host's value is
read again and again in default case.
It complicates semantics of vendor property and makes it harder to use.
Instead of reading 'vendor' value from host every time cpuid[vendor] is
called, override 'vendor' value only once in cpu_x86_find_by_name(), when
built-in CPU model is found and if(kvm_enabled() == true).
It provides the same default semantics
if (kvm_enabled() == true) vendor = host's vendor
else vendor = built-in vendor
and then later:
if (custom vendor) vendor = custom vendor
'vendor' value is overridden when user provides it on -cpu command line,
and there is no need for vendor_override field anymore, remove it.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99b88a1708919934f4092f7b6dcc2cca9d4072e9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:36 2013 +0100
target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t
Vendor property setter takes string as vendor value but cpudefs
use uint32_t vendor[123] fields to define vendor value. It makes it
difficult to unify and use property setter for values from cpudefs.
Simplify code by using vendor property setter, vendor[123] fields
are converted into vendor[13] array to keep its value. And vendor
property setter is used to access/set value on CPU.
- Make for() cycle reusable for the next patch by adding
x86_cpu_vendor_words2str()
Intel's CPUID spec[1] says:
"
5.1.1 ...
These registers contain the ASCII string: GenuineIntel
...
"
List[2] of known vendor values shows that they all are 12 ASCII
characters long, padded where necessary with space.
Current supported values are all ASCII characters packed in
ebx, edx, ecx. So lets state that QEMU supports 12 printable ASCII
characters packed in ebx, edx, ecx registers for cpuid(0) instruction.
*1 - http://www.intel.com/Assets/PDF/appnote/241618.pdf
*2 - http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8ba8a69848f8b910207a4b57c68db9a7e92af578
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Jan 21 15:06:35 2013 +0100
target-i386: Print deprecation warning if xlevel < 0x80000000
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7fc9b714eb4877ca83ce8e437ec93d34fca0eb3b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 01:02:28 2013 +0100
target-i386: Drop redundant list of CPU definitions
It is no longer needed since dropping cpudef config file support.
Cleaning this up removes knowledge about other models from x86_def_t,
in preparation for reusing x86_def_t as intermediate step towards pure
QOM X86CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4bfe910d4728807e7d80de152a7ef33dd608033f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 21 01:00:24 2013 +0100
target-i386: Simplify cpu_x86_find_by_name()
Catch NULL name argument early to avoid repeated checks.
Similarly, check for -cpu host early and untangle from iterating through
model definitions. This prepares for introducing X86CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8932cfdf7b95734c9b4a114b8ed0b4527af77ce7
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:09 2013 -0200
pc: Generate APIC IDs according to CPU topology
This keeps compatibility on machine-types pc-1.2 and older, and prints a
warning in case the requested configuration won't get the correct
topology.
I couldn't think of a better way to warn about broken topology when in
compat mode other than using error_report(). The warning message will
probably be buried in a log file somewhere, but it's better than
nothing.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 247c9de13f9d54a94734875000a9faea8168c8ca
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jan 23 15:58:27 2013 -0200
target-i386: Topology & APIC ID utility functions
This introduces utility functions for the APIC ID calculation, based on:
Intel® 64 Architecture Processor Topology Enumeration
http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/
The code should be compatible with AMD's "Extended Method" described at:
AMD CPUID Specification (Publication #25481)
Section 3: Multiple Core Calcuation
as long as:
- nr_threads is set to 1;
- OFFSET_IDX is assumed to be 0;
- CPUID Fn8000_0008_ECX[ApicIdCoreIdSize[3:0]] is set to
apicid_core_width().
Unit tests included.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1d934e89793d2828e04af93abd181e5ed5349ef4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jan 23 15:51:18 2013 -0200
pc: Set fw_cfg data based on APIC ID calculation
This changes FW_CFG_MAX_CPUS and FW_CFG_NUMA to use apic_id_for_cpu(),
so the NUMA table can be based on the APIC IDs, instead of CPU index
(SeaBIOS knows nothing about CPU indexes, just APIC IDs).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54fb7bf68516642c609738814f160ee2069301e8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:05 2013 -0200
cpus.h: Make constant smp_cores/smp_threads available on *-user
The code that calculates the APIC ID will use smp_cores/smp_threads, so
just define them as 1 on *-user to avoid #ifdefs in the code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70db922278f7b42375ead340b793ff3938835242
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:03 2013 -0200
fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init()
PC will not use max_cpus for that field, so move it outside the common
code so it can use a different value on PC.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb41bad3c2c7d82405cbe057c944ed4fd176d82a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:04 2013 -0200
target-i386: Introduce x86_cpu_apic_id_from_index() function
This function will be used by both the CPU initialization code and the
fw_cfg table initialization code.
Later this function will be updated to generate APIC IDs according to
the CPU topology.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 83b17af5e619abdf11721826b08fa4f30e9dc4ee
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:02 2013 -0200
target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index
The CPU ID in KVM is supposed to be the APIC ID, so change the
KVM_CREATE_VCPU call to match it. The current behavior didn't break
anything yet because today the APIC ID is assumed to be equal to the CPU
index, but this won't be true in the future.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b164e48ed1600055bc190aa3ab42c18004d2c711
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Jan 22 18:25:01 2013 -0200
kvm: Create kvm_arch_vcpu_id() function
This will allow each architecture to define how the VCPU ID is set on
the KVM_CREATE_VCPU ioctl call.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2969475869a6f33b8883c2fbf90252dcf617902e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:29 2013 -0200
pc: Reverse pc_init_pci() compatibility logic
Currently, the pc-1.4 machine init function enables PV EOI and then
calls the pc-1.2 machine init function. The problem with this approach
is that now we can't enable any additional compatibility code inside the
pc-1.2 init function because it would end up enabling the compatibility
behavior on pc-1.3 and pc-1.4 as well.
This reverses the logic so that the pc-1.2 machine init function will
disable PV EOI, and then call the pc-1.4 machine init function.
This way we can change older machine-types to enable compatibility
behavior, and the newer machine-types (pc-1.3, pc-q35-1.4 and
pc-i440fx-1.4) would just use the default behavior.
(This means that one nice side-effect of this change is that pc-q35-1.4
will get PV EOI enabled by default, too)
It would be interesting to eventually change pc_init_pci_no_kvmclock()
and pc_init_isa() to reuse pc_init_pci_1_2() as well (so we don't need
to duplicate compatibility code on those two functions). But this will
be probably much easier to do after we create a PCInitArgs struct for
the PC initialization arguments, and/or after we use global-properties
to implement the compatibility modes present in pc_init_pci_1_2().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa87d45855c7b255b451622a84a3e5b9b4393425
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:28 2013 -0200
target-i386: Don't set any KVM flag by default if KVM is disabled
This is a cleanup that tries to solve two small issues:
- We don't need a separate kvm_pv_eoi_features variable just to keep a
constant calculated at compile-time, and this style would require
adding a separate variable (that's declared twice because of the
CONFIG_KVM ifdef) for each feature that's going to be
enabled/disabled by machine-type compat code.
- The pc-1.3 code is setting the kvm_pv_eoi flag on cpuid_kvm_features
even when KVM is disabled at runtime. This small inconsistency in
the cpuid_kvm_features field isn't a problem today because
cpuid_kvm_features is ignored by the TCG code, but it may cause
unexpected problems later when refactoring the CPUID handling code.
This patch eliminates the kvm_pv_eoi_features variable and simply uses
kvm_enabled() inside the enable_kvm_pv_eoi() compat function, so it
enables kvm_pv_eoi only if KVM is enabled. I believe this makes the
behavior of enable_kvm_pv_eoi() clearer and easier to understand.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d61a23ba77deefd88fd2457c2dba7d5bf13f5f5b
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 17 18:59:27 2013 -0200
kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd51dc5262b718c5f045c86ce1175842ab42d2cd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 17:30:08 2013 +0100
target-openrisc: Clean up triple QOM casts
Instead of calling openrisc_env_get_cpu(), casting to CPU() via the
ENV_GET_CPU() compatibility macro and casting back to OPENRISC_CPU(),
just call openrisc_env_get_cpu() directly.
ENV_GET_CPU() is meant as workaround for target-independent code only.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8486af93771302fa3154857a7c05612f0f61cc90
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:14:27 2013 +0100
target-openrisc: Drop OpenRISCCPUList
It was missed in 92a3136174f60ee45b113296cb2c2a5225b00369 (cpu:
Introduce CPUListState struct) because its naming did not match the
*CPUListState pattern. Use the generalized CPUListState instead.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6034fe7bdb555c43022706e228cde8d52a8b341a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun Jan 27 01:05:00 2013 +0100
xilinx_ethlite: Avoid build warnings in debug code
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a56d305a6d706cd75cfe0fa473f45772694f2a4a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 25 17:58:38 2013 -0800
m25p80.c: Return state to IDLE after COLLECTING
Default to moving back to the IDLE state after the COLLECTING_DATA
state. For a well behaved guest this patch has no consequence, but
A bad guest could crash QEMU by using one of the erase commands
followed by a longer than 5 byte argument (undefined behaviour).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 2f991adb8e8cad3233ae653be12cfd72d44168ba
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:36:23 2013 -0800
xilinx_ethlite: Flush queued packets on SW service
Software services a received packet by clearing the CTRL_S bit in the
RX_CTRLn
register. If this bit is cleared, flush any packets queued for the device.
Reported-by: John Williams <john.williams@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 808fb9f277abda16601e9db938d29aeaf2548585
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Sat Jan 26 12:36:22 2013 -0800
xilinx_ethlite: fix eth_can_rx() for ping-pong
The eth_can_rx() function only checks the first buffers status ("ping").
The
controller should be able to receive into "pong" when ping-pong is
enabled.
Checks the active buffer (either "ping" or "pong") when determining
can_rx()
rather than just testing "ping".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 13144781d4e9e6100b398213f9000576a3dc88f9
Merge: c5cd02b... f5fba9d...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 26 14:18:28 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf:
PPC: e500: Select MPIC v4.2 on ppce500 platform
PPC: e500: fix mpic_iack address
openpic: add basic support for MPIC v4.2
openpic: fix timer address decoding
openpic: fix remaining issues from idr-to-destmask conversion
pseries: Adjust default VIO address allocations to play better with
libvirt
pseries: Improve handling of multiple PCI host bridges
target-ppc: Give a meaningful error if too many threads are specified
cuda: Move ADB bus into CUDA state
adb: QOM'ify ADB devices
adb: QOM'ify Apple Desktop Bus
cuda: QOM'ify CUDA
ide/macio: QOM'ify MacIO IDE
mac_nvram: QOM'ify MacIO NVRAM
mac_nvram: Mark as Big Endian
mac_nvram: Clean up public API
macio: Split MacIO in two
macio: Delay qdev init until all fields are initialized
macio: QOM'ify some more
ppc: Move Mac machines to hw/ppc/
commit c5cd02ba16e784699d04456c8e406445db997121
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:14 2013 +0100
tests: Add gcov support for x86_64 qtest
Since x86_64 is a superset of i386 and reuses all its test cases, adopt
all the i386 gcov source files as well, substituting their paths
appropriately.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cba040c2b19f584bb33ae83af8517ecc9796e328
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:13 2013 +0100
tests: Add gcov support for sparc64 qtest
m48t59-test is individually being executed for sparc and sparc64, so add
the gcov source file for sparc64 as well.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 6a6944957801f5b981e09d6bff4f1bd5529f7019
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 26 12:45:12 2013 +0100
tests: Fix gcov typo for tmp105-test
Commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 introduced a new qtest
test case but misspelled gcov, leading to no coverage analysis. Fix it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 8cb6bfb54e91b1a31a6ae704def595c2099efde1
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jan 25 21:23:24 2013 +0400
vmware_vga: fix out of bounds and invalid rects updating
This is a follow up for several attempts to fix this issue.
Previous incarnations:
1. http://thread.gmane.org/gmane.linux.ubuntu.bugs.general/3156089
https://bugs.launchpad.net/bugs/918791
"qemu-kvm dies when using vmvga driver and unity in the guest" bug.
Fix by Serge Hallyn:
https://launchpadlibrarian.net/94916786/qemu-vmware.debdiff
This fix is incomplete, since it does not check width and height
for being negative. Serge weren't sure if that's the right place
to fix it, maybe the fix should be up the stack somewhere.
2. http://thread.gmane.org/gmane.comp.emulators.qemu/166064
by Marek Vasut: "vmware_vga: Redraw only visible area"
This one adds the (incomplete) check to vmsvga_update_rect_delayed(),
the routine just queues the rect updating but does no interesting
stuff. It is also incomplete in the same way as patch by Serge,
but also does not touch width&height at all after adjusting x&y,
which is wrong.
As far as I can see, when processing guest requests, the device
places them into a queue (vmsvga_update_rect_delayed()) and
processes this queue in different place/time, namely, in
vmsvga_update_rect(). Sometimes, vmsvga_update_rect() is
called directly, without placing the request to the gueue.
This is the place this patch changes, which is the last
(deepest) in the stack. I'm not sure if this is the right
place still, since it is possible we have some queue optimization
(or may have in the future) which will be upset by negative/wrong
values here, so maybe we should check for validity of input
right when receiving request from the guest (and maybe even
use unsigned types there). But I don't know the protocol
and implementation enough to have a definitive answer.
But since vmsvga_update_rect() has other sanity checks already,
I'm adding the missing ones there as well.
Cc'ing BALATON Zoltan and Andrzej Zaborowski who shows in `git blame'
output and may know something in this area.
If this patch is accepted, it should be applied to all active
stable branches (at least since 1.1, maybe even before), with
minor context change (ds_get_*(s->vga.ds) => s->*). I'm not
Cc'ing -stable yet, will do it explicitly once the patch is
accepted.
BTW, these checks use fprintf(stderr) -- it should be converted
to something more appropriate, since stderr will most likely
disappear somewhere.
Cc: Marek Vasut <marex@xxxxxxx>
CC: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Cc: BALATON Zoltan <balaton@xxxxxxxxxx>
Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Marek Vasut <marex@xxxxxxx>
Signed-off-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3f0f31a0f1c9a89314e9f9ed423371f4d925d5a6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 15:43:53 2013 +0000
tests: add fuzzing to visitor tests
Perform input tests on random data.
Improvement to code coverage for qapi/string-input-visitor.c
is about 3 percentage points.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0c3c89d649d029b29bf245f739c82339fcf2e699
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:37 2013 +0100
build: remove *.lo, *.a, *.la files from all subdirectories on make clean
.lo files in stubs/, util/ and libcacard/ were not cleaned.
Fix this.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 98ed805c388baaf4ce7d9acbbbc04bbf185f30fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 24 19:02:28 2013 +0000
hw/arm_boot: Align device tree to 4KB boundary, not page
Align the device tree blob to a 4KB boundary, not to QEMU's
idea of a page boundary -- the latter is the smallest possible
page size for the architecture, which on ARM is 1KB.
The documentation for Linux does not impose separation
or alignment requirements on the device tree blob, but
in practice some kernels will happily trash the entire
page the initrd ends in after they have finished uncompressing
the initrd. So 4KB-align the DTB to ensure it does not get
trampled by these kernels.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 390999910bf1b1be59e04a0314867f4dea7a28f3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 24 16:14:39 2013 +0000
qemu-char: Avoid unused variable warning in some configs
Avoid unused variable warnings:
qemu-char.c: In function 'qmp_chardev_open_port':
qemu-char.c:3132: warning: unused variable 'fd'
qemu-char.c:3132: warning: unused variable 'flags'
in configurations with neither HAVE_CHARDEV_TTY nor
HAVE_CHARDEV_PARPORT set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 23bf49b5eca716aaad073f2b47613434e1515cb5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 24 16:47:55 2013 +0100
make_device_config.sh: Fix target path in generated dependency file
config-devices.mak.d is included from Makefile.target, i.e. from inside
the *-softmmu/ directory. It included the directory path, so never
applied to the actual ./config-devices.mak. Symptoms were spurious
build failures due to missing dependency on default-configs/pci.mak.
Fix this by using `basename` to strip the directory path.
Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9f8863ebd7f584762a906881a62a04ac05ce4898
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 23 18:25:09 2013 +0100
fw_cfg: Drop a few superfluous initializers
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d09acb9b5ef0bb4fa94d3d459919a6ebaf8804bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 23 18:25:08 2013 +0100
fw_cfg: Splash image loader can overrun a stack variable, fix
read_splashfile() passes the address of an int variable as size_t *
parameter to g_file_get_contents(), with a cast to gag the compiler.
No problem on machines where sizeof(size_t) == sizeof(int).
Happens to work on my x86_64 box (64 bit little endian): the least
significant 32 bits of the file size end up in the right place
(caller's variable file_size), and the most significant 32 bits
clobber a place that gets assigned to before its next use (caller's
variable file_type).
I'd expect it to break on a 64 bit big-endian box.
Fix up the variable types and drop the problematic cast.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a6e7c18476f5383720b3f57ef4f467b2e7c2565e
Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Date: Tue Jan 22 17:03:05 2013 +0000
softfloat: Handle float_muladd_negate_c when product is zero
Honour float_muladd_negate_c in the case where the product is zero and
c is nonzero. Previously we would fail to negate c.
Seen in (and tested against) the gfortran testsuite on MIPS.
Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit de16017dc8f2c33c73bd3faebf3c626c400af5e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:56 2013 +0000
hw/pxa2xx_timer: Explicitly mark fallthroughs
Explicitly mark the fallthroughs as intentional in the code
pattern where we gradually increment an index before falling
into the code to read/write that array entry:
case THINGY_3: idx++;
case THINGY_2: idx++;
case THINGY_1: idx++;
case THINGY_0: return s->thingy[idx];
This makes static analysers happy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 89556d1725d7c10a54ec66087e940727873f38a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:55 2013 +0000
hw/smc91c111: Add explicit 'return' rather than relying on fallthrough
Add an explicit 'return' statement to a case in smc91c111_readb
rather than relying on fallthrough to the following case's
return statement, for code clarity and to placate static analysers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3095485029ddbd061aa4f8e26c0437f200975d18
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:54 2013 +0000
hw/pflash_cfi02.c: Mark deliberate fallthrough
Mark the deliberate fallthrough where we treat the case of
an attempt to read flash when it is an unknown command
state as if it were a normal read.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit be688dfb8ddf7841fb277800977a0a878b68ae42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:53 2013 +0000
hw/omap_dma, hw/omap_spi: Explicitly mark fallthroughs
Explicitly mark the fallthroughs as intentional in the code
pattern where we gradually increment an index before falling
into the code to read/write that array entry:
case THINGY_3: idx++;
case THINGY_2: idx++;
case THINGY_1: idx++;
case THINGY_0: return s->thingy[idx];
This makes static analysers happy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 139bd956eaf1675209009b22764a46bd220e287c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:52 2013 +0000
hw/omap1.c: Add fallthrough markers and breaks
Explicitly mark cases where we are deliberately falling
through to the following code. In one case we insert a
'break' instead of falling through to a 'break', as this
seems slightly clearer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bf4229d3cb09be2efc0add569feba33834fc5d93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 21 12:50:51 2013 +0000
hw/arm_sysctl.c: Add missing 'break' statements
Add some break statements that were accidentally omitted
from some cases of arm_sysctl_write(). The omission was
harmless because in both cases the following case did
an immediate break, but adding the breaks explicitly
placates static analysers and avoids weird behaviour if
the following register is ever implemented as something
other than a no-op.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b4451996e712653f9ef4d53d975a158572b8574d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Jan 19 18:58:09 2013 +0400
link seccomp only with softmmu targets
Now, if seccomp is detected, it is linked into every executable,
but is used only by softmmu targets (from vl.c). So link it
only where it is actually needed.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0360ccffbe41bd732b42a90cd04de63335933bea
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:49:09 2013 +0000
bsd-user: avoid conflict with qemu_vmalloc
Rename qemu_vmalloc() to bsd_vmalloc(), adjust the only user.
Remove #ifdeffery in oslib-posix.c.
Tested-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 82cb6b041c307bd96c067147af69cd98be91a682
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:48 2013 +0100
build: remove extra-obj-y
extra-obj-y is somewhat complicated to understand. Replace it with a
special CONFIG_ALL symbol that is defined only at toplevel.
This limits the case of directories defining more than one
*-obj-y target.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 000823449ca07e50086413338f907d7a817db2ce
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:47 2013 +0100
build: remove universal-obj-y
All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can
be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU
and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how
we define symbols for hardware components.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 737f351892e271fb3080c3c26e6453d939dd1d68
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:46 2013 +0100
build: use -$(CONFIG_SECCOMP) instead of ifeq
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 659800159092333593084593abed2d85c51c5a16
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Jan 19 11:06:45 2013 +0100
build: move around libcacard-y definition
It is also needed if !CONFIG_SOFTMMU, unlike everything that surrounds it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5f7a74a1a605d2065c3d74e42b563d69241089ec
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:35 2013 +0100
tests: adjust gcov variables for directory movement
I had missed the introduction of the gcov-files-* variables.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f5fba9d27f14603dc7f85779e7b7362fb1cfcbd8
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:55 2013 +0000
PPC: e500: Select MPIC v4.2 on ppce500 platform
The compatible string is changed to fsl,mpic on all e500 platforms, to
advertise the existence of BRR1. This matches what the device tree will
have on real hardware.
With MPIC v4.2 max_cpu can be increased from 15 to 32.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bd25922e737a2c90668a7bdd1e1319413a7a51f3
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:54 2013 +0000
PPC: e500: fix mpic_iack address
MPIC+0xa0 is IACK for the current CPU. MPIC+0x200a0 is IACK for CPU 0.
This fix allows EPR to work with an SMP target.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0dfe5b18919a6a4deb841dcf3212e3e998c95e5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:53 2013 +0000
openpic: add basic support for MPIC v4.2
Besides the new value in the version register, this provides:
- ILR support, which includes:
- IDR becoming a pure CPU bitmap, allowing 32 CPUs
- machine check output support (though other parts of QEMU need to
be fixed for it to do something other than immediately reboot the
guest)
- dummy error interrupt support (EISR0/EIMR0 read as zero)
- actually all FSL MPICs get all summary registers returning zero for
now,
which includes EISR0/EIMR0
Various refactoring is done to support these changes and to ease
new functionality (e.g. a more flexible way of declaring regions).
Just as the code was already not a full implementation of MPIC v2.0,
this is not a full implementation of MPIC v4.2 -- e.g. it still has only
one bank of MSIs.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 03274d44f655f7b822e845e79fa32b261cdb0774
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:52 2013 +0000
openpic: fix timer address decoding
The timer memory range begins at 0x10f0, so that address 0x1120 shows
up as 0x30, 0x1130 shows up as 0x40, etc. However, the address
decoding (other than TFRR) is not adjusted for this, causing the
wrong registers to be accessed.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f40c360c0da020a1a478f8e60dd205d7412bc315
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Mon Jan 21 15:53:51 2013 +0000
openpic: fix remaining issues from idr-to-destmask conversion
openpic_update_irq() was checking idr rather than destmask, treating
it as if it were a simple bitmap of cpus. Changed to use destmask.
IPI delivery was removing bits directly from .idr, without calling
write_IRQreg_idr so that the change could be conveyed to destmask.
Changed to use destmask directly.
Save/restore destmask when serializing, as due to the IPI change it
cannot be reproduced from idr.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1ea1ce8ac305d9e006bc8b0f5f3554793fd2fa43
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:43 2013 +0000
pseries: Adjust default VIO address allocations to play better with
libvirt
Currently, if VIO devices for pseries don't have addresses explicitly
allocated, they get automatically numbered from 0x1000. This is in the
same general range that libvirt will typically assign VIO device
addresses.
That means that if there is a device libvirt doesn't know about, and it
gets an address assigned before the libvirt assigned devices are
processed,
we can end up with an address conflict (qemu will abort with an error).
While the real solution is to teach libvirt about the other devices, so it
can correctly manage the whole allocation, this patch reduces the interim
inconvenience by moving qemu allocations to a range that libvirt is less
likely to conflict with.
Because the guest gets the device addresses through the device tree, these
addresses are truly arbitrary and can be changed without breaking guests.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit caae58cba07efec5f0616f568531c9dfaf1e9179
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:39 2013 +0000
pseries: Improve handling of multiple PCI host bridges
Multiple - even many - PCI host bridges (i.e. PCI domains) are very
common on real PAPR compliant hardware. For reasons related to the
PAPR specified IOMMU interfaces, PCI device assignment with VFIO will
generally require at least two (virtual) PHBs and possibly more
depending on which devices are assigned.
At the moment the qemu PAPR PCI code will not deal with this well,
leaving several crucial parameters of PHBs other than the default one
uninitialized. This patch reworks the code to allow this.
Every PHB needs a unique BUID (Bus Unit Identifier, the id used for
the PAPR PCI related interfaces) and a unique LIOBN (Logical IO Bus
Number, the id used for the PAPR IOMMU related interfaces). In
addition they need windows in CPU real address space to access PCI
memory space, PCI IO space and MSIs. Properties are added to the PCI
host bridge qdevice to allow configuration of all these.
To simplify configuration of multiple PHBs for common cases, a
convenience "index" property is also added. This can be set instead
of the low-level properties, and will generate suitable values for the
other parameters, different for each index value.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 23 17:20:38 2013 +0000
target-ppc: Give a meaningful error if too many threads are specified
Currently the target-ppc tcg code only supports a single thread. You can
specify more, but they're treated identically to multiple cores. On KVM
we obviously can't support more threads than the hardware; if more are
specified it will cause strange and cryptic errors.
This patch clarifies the situation by giving a simple meaningful error if
more threads are specified than we can support.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 293c867d8c7399d17e6b593053411a6515171f38
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:05 2013 +0000
cuda: Move ADB bus into CUDA state
Replace the global adb_bus with a CUDA-internal one, accessed using
regular qdev child bus accessor.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2e4a7c9c5df442d4223e738f7e8f73192b8b2a65
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:04 2013 +0000
adb: QOM'ify ADB devices
They were not qdev'ified before. Derive ADBDevice from DeviceState and
convert reset callbacks to DeviceClass::reset, ADBDevice::opaque pointer
to ADBDevice subtypes for mouse and keyboard and adb_{kbd,mouse}_init()
to regular qdev functions.
Fixing Coding Style issues and splitting keyboard and mouse off into
their own files is left for a later point in time.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 84ede329083b649c54f078276e7e06d48e910b9d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:03 2013 +0000
adb: QOM'ify Apple Desktop Bus
It was not a qbus before, turn it into a first-class bus and initialize
it properly from CUDA. Leave it a global variable as long as devices are
not QOM'ified yet.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 45fa67fb68e73b395cd93ec97e45785944d4ee6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:02 2013 +0000
cuda: QOM'ify CUDA
It was not qdev'ified before. Turn it into a SysBusDevice and embed it
in MacIO.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:01 2013 +0000
ide/macio: QOM'ify MacIO IDE
It was not qdev'ified before. Turn it into a SysBusDevice.
Embed them into the MacIO devices.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 95ed3b7cf1677dc9f995a6e1fcc7bf377cf94a0e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:04:00 2013 +0000
mac_nvram: QOM'ify MacIO NVRAM
It was not qdev'ified before. Turn it into a SysBusDevice and
initialize it via static properties.
Prepare Old World specific MacIO state and embed the NVRAM state there.
Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or
direct use of Memory API.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d8c6d07fdff2523ca78f95c7d8a7fe90ee7ea5a7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:59 2013 +0000
mac_nvram: Mark as Big Endian
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3743cca7d55c700e727e958d4a0b0b5d6c15e2e8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:58 2013 +0000
mac_nvram: Clean up public API
The state data field is accessed in uint8_t quantities, so switch from
uint32_t argument and return value to uint8_t.
Fix debug format specifiers while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d037834a9d3847499e8a146bd1893a5c856411be
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:57 2013 +0000
macio: Split MacIO in two
Let the machines create two different types. This prepares to move
knowledge about sub-devices from the machines into the devices.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7b925079e36cf26ca2e1f8db84b771ddc3d6340c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:56 2013 +0000
macio: Delay qdev init until all fields are initialized
This turns macio_bar_setup() into an implementation detail of the qdev
initfn, to be removed step by step.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcf1bbabf4de3bc125c4dff18ea1cb76d76f042a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:55 2013 +0000
macio: QOM'ify some more
Move bar MemoryRegion initialization to an instance_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit baec19105bb9824593bf6f37556302da2f67e583
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 23 23:03:54 2013 +0000
ppc: Move Mac machines to hw/ppc/
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
[agraf: squash in MAINTAINERS fix]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 67bec53d9f2ccd3aa7d37a7e0689122587929220
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 24 12:50:28 2013 +0100
ide: Add fall through annotations
Add comments to help static analysers detect that these cases are
intentional, and clean up some whitespace in the environment of these
comments.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 8689907266b649b757c2203d9652cbe928a3ae0b
Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Date: Thu Jan 24 10:00:40 2013 -0800
block: Create proper size file for disk mirror
The qmp monitor command to mirror a disk was passing -1 for size
along with the disk's backing file. This size of the resulting disk
is the size of the backing file, which is incorrect if the disk
has been resized. Therefore we should always pass in the size of
the current disk.
Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a26230218d7d66ec5cb1aec101ceaf0e7400ef7f
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Fri Jan 4 14:44:42 2013 -0500
ahci: Add migration support
Jason tested these patches by migrating Windows 7 and Fedora 17 guests
(while under I/O) on both piix with ahci attached and on q35 (which has
a built-in AHCI controller).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4ac557c89b04d506c876a0a378e815d822261c8a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 15 16:12:09 2013 +0100
ahci: Change data types in preparation for migration
The size of an int depends on the host, so in order to be able to
migrate these fields, make them either int32_t or bool, depending on the
use.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1147bb15a715a907a91195c2ed601fc926e43d46
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Fri Jan 4 14:44:41 2013 -0500
ahci: Remove unused AHCIDevice fields
'dma_status' and 'dma_cb' are written to, but never read.
Remove these fields in preparation for AHCI migration bits.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1b0952445522af73b0e78420a9078b3653923703
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 15:01:12 2013 +0100
hbitmap: add assertion on hbitmap_iter_init
hbitmap_iter_init causes an out-of-bounds access when the "first"
argument is or greater than or equal to the size of the bitmap.
Forbid this with an assertion, and remove the failing testcase.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 88ff0e48eedd679a9dc1122676d8aa29f8d07571
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 15:01:11 2013 +0100
mirror: do nothing on zero-sized disk
On a zero-sized disk we need to break out of the job successfully
before bdrv_dirty_iter_init is called, otherwise you will get an
assertion failure with the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0e87ba2ccbf900cc5a56b95e0671e5a5d2c2f6a0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:28 2013 +0100
block/vdi: Check for bad signature
vdi_open did not check for a bad signature.
This check was only in vdi_probe.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8937f8222c14ab42140a5645c34e17cc620c05bb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:27 2013 +0100
block/vdi: Improved return values from vdi_open
vdi_open returned -1 in case of any error, but it should return an
error code (negative value of errno or -EMEDIUMTYPE).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f0470bb2d7942c28977296ff2598cdf30886e07
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:26 2013 +0100
block/vdi: Improve debug output for signature
The signature is a 32 bit value and needs up to 8 hex digits for printing.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15bac0d54f78adb5e255155a69e56ab7f6d8c8ea
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:25 2013 +0100
block: Use error code EMEDIUMTYPE for wrong format in some block drivers
This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk
when a file with the wrong format is selected.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 02582abd48aa3d860015e9a8fcd0d7ec1c34ec62
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jan 17 21:45:24 2013 +0100
block: Add special error code for wrong format
The block drivers need a special error code for "wrong format".
From the available error codes EMEDIUMTYPE fits best.
It is not available on all platforms, so a definition in
qemu-common.h and a specific error report are needed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 884fea4e87fbc6daf4e6df618bb3cadc188dcc6b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:15 2013 +0100
mirror: support arbitrarily-sized iterations
Yet another optimization is to extend the mirroring iteration to include
more
adjacent dirty blocks. This limits the number of I/O operations and makes
mirroring efficient even with a small granularity. Most of the
infrastructure
is already in place; we only need to put a loop around the computation of
the origin and sector count of the iteration.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 402a47411bff5e849dc880dd08ba7e6564e6e4f4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:14 2013 +0100
mirror: support more than one in-flight AIO operation
With AIO support in place, we can start copying more than one chunk
in parallel. This patch introduces the required infrastructure for
this: the buffer is split into multiple granularity-sized chunks,
and there is a free list to access them.
Because of copy-on-write, a single operation may already require
multiple chunks to be available on the free list.
In addition, two different iterations on the HBitmap may want to
copy the same cluster. We avoid this by keeping a bitmap of in-flight
I/O operations, and blocking until the previous iteration completes.
This should be a pretty rare occurrence, though; as long as there is
no overlap the next iteration can start before the previous one finishes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 08e4ed6cdeeee7912072cf14aa8ab6c60dacb4fb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:13 2013 +0100
mirror: add buf-size argument to drive-mirror
This makes sense when the next commit starts using the extra buffer space
to perform many I/O operations asynchronously.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bd48bde8f0fa08dfc8edcafc2bc8aa6d43734463
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 09:03:12 2013 +0100
mirror: switch mirror_iteration to AIO
There is really no change in the behavior of the job here, since
there is still a maximum of one in-flight I/O operation between
the source and the target. However, this patch already introduces
the AIO callbacks (which are unmodified in the next patch)
and some of the logic to count in-flight operations and only
complete the job when there is none.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eee13dfe302833944d1176677d12a6ea421a94ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:46 2013 +0100
mirror: allow customizing the granularity
The desired granularity may be very different depending on the kind of
operation (e.g. continuous replication vs. collapse-to-raw) and whether
the VM is expected to perform lots of I/O while mirroring is in progress.
Allow the user to customize it, while providing a sane default so that
in general there will be no extra allocated space in the target compared
to the source.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 50717e941b9f306a45292621999eeafbaa954418
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:45 2013 +0100
block: allow customizing the granularity of the dirty bitmap
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit acc906c6c5d5745fe7a3a2ed1bb5f0b1d6d1f21b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:44 2013 +0100
block: return count of dirty sectors, not chunks
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b812f6719c21921a819709098dc018ed151c999b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:43 2013 +0100
mirror: perform COW if the cluster size is bigger than the granularity
When mirroring runs, the backing files for the target may not yet be
ready. However, this means that a copy-on-write operation on the target
would fill the missing sectors with zeros. Copy-on-write only happens
if the granularity of the dirty bitmap is smaller than the cluster size
(and only for clusters that are allocated in the source after the job
has started copying). So far, the granularity was fixed to 1MB; to avoid
the problem we detected the situation and required the backing files to
be available in that case only.
However, we want to lower the granularity for efficiency, so we need
a better solution. The solution is to always copy a whole cluster the
first time it is touched. The code keeps a bitmap of clusters that
have already been allocated by the mirroring job, and only does "manual"
copy-on-write if the chunk being copied is zero in the bitmap.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 343bded4ecfc467012e2ab675da75749f1d90f70
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:42 2013 +0100
block: make round_to_clusters public
This is needed in the following patch.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f0720ecbc3677e13fc7531588fc3831cc972ee4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:41 2013 +0100
block: implement dirty bitmap using HBitmap
This actually uses the dirty bitmap in the block layer, and converts
mirroring to use an HBitmapIter.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> (except block/mirror.c
parts)
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c37ef022381e777251d7084591978a4dc622efe
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:39 2013 +0100
host-utils: add ffsl
We can provide fast versions based on the other functions defined
by host-utils.h. Some care is required on glibc, which provides
ffsl already.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e7c033c3fa22a1e42d9ba57fed6ddecfbce3a01c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 21 17:09:40 2013 +0100
add hierarchical bitmap data type and test cases
HBitmaps provides an array of bits. The bits are stored as usual in an
array of unsigned longs, but HBitmap is also optimized to provide fast
iteration over set bits; going from one bit to the next is O(logB n)
worst case, with B = sizeof(long) * CHAR_BIT: the result is low enough
that the number of levels is in fact fixed.
In order to do this, it stacks multiple bitmaps with progressively coarser
granularity; in all levels except the last, bit N is set iff the N-th
unsigned long is nonzero in the immediately next level. When iteration
completes on the last level it can examine the 2nd-last level to quickly
skip entire words, and even do so recursively to skip blocks of 64 words
or
powers thereof (32 on 32-bit machines).
Given an index in the bitmap, it can be split in group of bits like
this (for the 64-bit case):
bits 0-57 => word in the last bitmap | bits 58-63 => bit in the
word
bits 0-51 => word in the 2nd-last bitmap | bits 52-57 => bit in the
word
bits 0-45 => word in the 3rd-last bitmap | bits 46-51 => bit in the
word
So it is easy to move up simply by shifting the index right by
log2(BITS_PER_LONG) bits. To move down, you shift the index left
similarly, and add the word index within the group. Iteration uses
ffs (find first set bit) to find the next word to examine; this
operation can be done in constant time in most current architectures.
Setting or clearing a range of m bits on all levels, the work to perform
is O(m + m/W + m/W^2 + ...), which is O(m) like on a regular bitmap.
When iterating on a bitmap, each bit (on any level) is only visited
once. Hence, The total cost of visiting a bitmap with m bits in it is
the number of bits that are set in all bitmaps. Unless the bitmap is
extremely sparse, this is also O(m + m/W + m/W^2 + ...), so the amortized
cost of advancing from one bit to the next is usually constant.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 49b6d7220bce42e6c06e0dbb61969a997868491f
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:21 2013 +0800
QAPI: Introduce memchar-read QMP command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1f590cf9455c571799d1bfc0777255fa0796d4da
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:20 2013 +0800
QAPI: Introduce memchar-write QMP command
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 51767e7cf2c3abc07d30009ab3d6262bdfd89b8b
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 25 00:03:19 2013 +0800
qemu-char: Add new char backend CirMemCharDriver
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 045a70857ac07de791ddbf313323c4e4f91e056e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Dec 4 12:04:39 2012 -0200
docs: document virtio-balloon stats
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7e6ccd9c159450e79f42d08112ebe263b0466644
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sat Dec 1 00:14:57 2012 -0200
balloon: re-enable balloon stats
The statistics are now available through device properties via a
polling mechanism. First a client has to enable polling, then it
can query available stats.
Polling is enabled by setting an update interval (in seconds)
to a property named guest-stats-polling-interval, like this:
{ "execute": "qom-set",
"arguments": { "path": "/machine/peripheral-anon/device[1]",
"property": "guest-stats-polling-interval", "value": 4 }
}
Then the available stats can be retrieved by querying the
guest-stats property. The returned object is a dict containing
all available stats. Example:
{ "execute": "qom-get",
"arguments": { "path": "/machine/peripheral-anon/device[1]",
"property": "guest-stats" } }
{
"return": {
"stats": {
"stat-swap-out": 0,
"stat-free-memory": 844943360,
"stat-minor-faults": 219028,
"stat-major-faults": 235,
"stat-total-memory": 1044406272,
"stat-swap-in": 0
},
"last-update": 1358529861
}
}
Please, check the next commit for full documentation.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 01ceb97e7b8b00a1d4779543fe4b958df7e16890
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Mon Dec 3 15:56:41 2012 -0200
balloon: drop old stats code & API
Next commit will re-enable balloon stats with a different interface, but
this old code conflicts with it. Let's drop it.
It's important to note that the QMP and HMP interfaces are also dropped
by this commit. That shouldn't be a problem though, because:
1. All QMP fields are optional
2. This feature has always been disabled
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 58513bde833804bc9395d79fd81aae631b97c348
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 18 12:45:35 2013 -0500
block: Monitor command commit neglects to report some errors
The non-live bdrv_commit() function may return one of the following
errors: -ENOTSUP, -EBUSY, -EACCES, -EIO. The only error that is
checked in the HMP handler is -EBUSY, so the monitor command 'commit'
silently fails for all error cases other than 'Device is in use'.
Report error using monitor_printf() and strerror(), and convert existing
qerror_report() calls in do_commit() to monitor_printf().
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 11c29918be32be5b00f367c7da9724a5cddbbb0f
Merge: b37a2e4... 7371d56...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 24 12:56:02 2013 -0600
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (1) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
iscsi: add support for iovectors
iscsi: do not leak acb->buf when commands are aborted
commit b37a2e4576530597dda880387e3f4da52c42b5b5
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Wed Sep 19 12:08:31 2012 +0400
Revert "serial: fix retry logic"
This reverts commit 67c5322d7000fd105a926eec44bc1765b7d70bdd:
I'm not sure if the retry logic has ever worked when not using FIFO
mode. I
found this while writing a test case although code inspection
confirms it is
definitely broken.
The TSR retry logic will never actually happen because it is guarded
by an
'if (s->tsr_rety > 0)' but this is the only place that can ever make
the
variable greater than zero. That effectively makes the retry logic
an 'if (0)
I believe this is a typo and the intention was >= 0. Once this is
fixed thoug
I see double transmits with my test case. This is because in the non
FIFO
case, serial_xmit may get invoked while LSR.THRE is still high
because the
character was processed but the retransmit timer was still active.
We can handle this by simply checking for LSR.THRE and returning
early. It's
possible that the FIFO paths also need some attention.
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Even if the previous logic was never worked, new logic breaks stuff -
namely,
qemu -enable-kvm -nographic -kernel /boot/vmlinuz-$(uname -r) -append
console=ttyS0 -serial pty
the above command will cause the virtual machine to stuck at startup
using 100% CPU till one connects to the pty and sends any char to it.
Note this is rather typical invocation for various headless virtual
machines by libvirt.
So revert this change for now, till a better solution will be found.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7371d56fb2759f52106c76692440d0c29731ef9c
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Dec 3 20:35:15 2012 +0100
iscsi: add support for iovectors
This patch adds support for directly passing the iovec
array from QEMUIOVector if libiscsi supports it (1.8.0
or newer).
Signed-off-by: Peter Lieven <pl@xxxxxxx>
[Preserve the improvements from commit 4cc841b, iscsi: partly
avoid iovec linearization in iscsi_aio_writev, 2012-11-19 - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4790b03d308f6c7dea7dc6941ddab9867c9530b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 22 17:34:29 2013 +0100
iscsi: do not leak acb->buf when commands are aborted
acb->buf is freed in the WRITE(16) callback, but this may not
get called at all when commands are aborted. Add another
free in the ABORT TASK callback, which requires setting acb->buf
to NULL everywhere.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3f668b6c5dc9747d0367837532c3b2ce0520cc17
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 24 10:51:47 2013 +0100
target-cris: Fix typo in D_LOG() macro
It's __VA_ARGS__. Fixes the build with CRIS_[OP_]HELPER_DEBUG defined.
Broken since r6338 / 93fcfe39a0383377e647b821c9f165fd927cd4e0 (Convert
references to logfile/loglevel to use qemu_log*() macros).
Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 9fc7577af56153a4f75709ce526d64bf6845d002
Author: Grant Likely <grant.likely@xxxxxxxxxxxx>
Date: Wed Jan 23 16:15:25 2013 +0000
trivial: etraxfs_eth: Eliminate checkpatch errors
This is a trivial patch to harmonize the coding style on
hw/etraxfs_eth.c. This is in preparation to split off the bitbang mdio
code into a separate file.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 177f7fc6884c47666f6c6eeca376a92432ccda38
Merge: 36ba580... 0bf8264...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:08:54 2013 -0600
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi: Drop useless null test in scsi_unit_attention()
lsi: use qbus_reset_all to reset SCSI bus
scsi: fix segfault with 0-byte disk
iscsi: add support for iSCSI NOPs [v2]
iscsi: partly avoid iovec linearization in iscsi_aio_writev
iscsi: add iscsi_create support
commit 36ba58044e70a82b93e84b1f31076df847f23109
Merge: a29a6b7... 3470733...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:08:33 2013 -0600
Merge remote-tracking branch 'kraxel/usb.77' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/usb.77:
usb: add usb-bot device (scsi bulk-only transport).
ohci: add missing break
Revert "usb-storage: Drop useless null test in usb_msd_handle_data()"
commit a29a6b73c4f17db6f82fd8d2094e824c04b29fee
Merge: 1356b98... 038c187...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 23 09:07:29 2013 -0600
Merge remote-tracking branch 'spice/spice.v68' into staging
# By Alon Levy
# Via Gerd Hoffmann
* spice/spice.v68:
qxl: change rom size to 8192
qxl: stop using non revision 4 rom fields for revision < 4
commit 0bf8264e2d2bd19c1eecf9bde0e59284ef47eabb
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 17 13:07:47 2013 +0100
scsi: Drop useless null test in scsi_unit_attention()
req was created by scsi_req_alloc(), which initializes req->dev to a
value it dereferences. req->dev isn't changed anywhere else.
Therefore, req->dev can't be null.
Drop the useless null test; it spooks Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 032f0101aa6e009efda3a419379837ebceaeade1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 11:23:25 2012 +0100
lsi: use qbus_reset_all to reset SCSI bus
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0369f06f7464e7fb023f103aff889d28e99c43c4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:08:05 2013 +0100
scsi: fix segfault with 0-byte disk
When a 0-sized disk is found, READ CAPACITY will return a
LUN NOT READY error. However, because it returns -1 instead
of zero, the HBA will call scsi_req_continue. This will
typically cause a segmentation fault or an assertion failure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5b5d34ec9882b29b757f6808693308e52a8e8ba7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 6 10:46:47 2012 +0100
iscsi: add support for iSCSI NOPs [v2]
This patch will send NOP-Out PDUs every 5 seconds to the iSCSI target.
If a consecutive number of NOP-In replies fail a reconnect is initiated.
iSCSI NOPs help to ensure that the connection to the target is still
operational.
This should not, but in reality may be the case even if the TCP
connection is still
alive if there are bugs in either the target or the initiator
implementation.
v2:
- track the NOPs inside libiscsi so libiscsi can reset the counter
in case it initiates a reconnect.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4cc841b57c1dc91d71bafc25b53ffab4eff7959b
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Mon Nov 19 15:58:31 2012 +0100
iscsi: partly avoid iovec linearization in iscsi_aio_writev
libiscsi expects all write16 data in a linear buffer. If the
iovec only contains one buffer we can skip the linearization
step as well as the additional malloc/free and pass the
buffer directly.
Reported-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit de8864e5ae645fc22aa4ecf1999705c2dd5cf93c
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Sat Nov 17 16:13:24 2012 +0100
iscsi: add iscsi_create support
This patch adds support for bdrv_create. This allows e.g.
to use qemu-img to convert from any supported device to
an iscsi backed storage as destination.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 347073336d393a819928de0d4fd56563134c0e1a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 14 15:29:44 2013 +0100
usb: add usb-bot device (scsi bulk-only transport).
Basically the same as usb-storage, but without automatic scsi
device setup. Also features support for up to 16 LUNs.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7fa96d73893728752ec7b832a62a48c434748497
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 14:53:01 2013 +0100
ohci: add missing break
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 038c1879a00153b14bce113315b693e8c2944fa9
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 21 14:48:07 2013 +0200
qxl: change rom size to 8192
This is a simpler solution to 869981, where migration breaks since qxl's
rom bar size has changed. Instead of ignoring fields in QXLRom, which is
what has
actually changed, we remove some of the modes, a mechanism already
accounted for by the guest. The modes left allow for portrait and
landscape only modes, corresponding to orientations 0 and 1.
Orientations 2 and 3 are dropped.
Added assert so that rom size will fit the future QXLRom increases via
spice-protocol changes.
This patch has been tested with 6.1.0.10015. With the newer 6.1.0.10016
there are problems with both "(flipped)" modes prior to the patch, and
the patch loses the ability to set "Portrait" modes. But this is a
separate bug to be fixed in the driver, and besides the patch doesn't
affect the new arbitrary mode setting functionality.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4c0e5011b96d67b87db407854ee948da708a0d9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 11:18:47 2013 +0100
Revert "usb-storage: Drop useless null test in usb_msd_handle_data()"
This reverts commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2.
Test isn't useless. scsi_req_enqueue() may finish the request (will
actually happen for requests which don't trigger any I/O such as
INQUIRY), then call usb_msd_command_complete() which in turn will
set s->req to NULL after unref'ing it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e0ac6097b6cc24694e83ae61e80040177bb5a584
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 21 14:48:06 2013 +0200
qxl: stop using non revision 4 rom fields for revision < 4
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f9e90c798dc84be2b0b988517e86b49faf79d5dc
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Thu Jan 10 23:02:48 2013 -0200
vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery'
Bit 9 of MSR_IA32_VMX_PROCBASED_CTLS2 is
virtual interrupt delivery.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 1356b98d3e95a85071e6bf9a99e8799e1ae1bbee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 02:47:33 2013 +0100
sysbus: Drop sysbus_from_qdev() cast macro
Replace by SYS_BUS_DEVICE() QOM cast macro using a scripted conversion.
Avoids the old macro creeping into new code.
Resolve a Coding Style warning in openpic code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fd8e79af031d8cfc0eb02d40d03281917fcb27b
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:45 2013 +0100
vnc: fix possible uninitialized removals
Some VncState values are not initialized before the Websocket handshake.
If it fails QEMU segfaults during the cleanup. To prevent this behavior
intialization checks are added.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7536ee4bc3da7e9b7fdadba5ba6ade63eaace430
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:44 2013 +0100
vnc: added initial websocket protocol support
This patch adds basic Websocket Protocol version 13 - RFC 6455 - support
to QEMU VNC. Binary encoding support on the client side is mandatory.
Because of the GnuTLS requirement the Websockets implementation is
optional (--enable-vnc-ws).
To activate Websocket support the VNC option "websocket"is used, for
example "-vnc :0,websocket".
The listen port for Websocket connections is (5700 + display) so if
QEMU VNC is started with :0 the Websocket port would be 5700.
As an alternative the Websocket port could be manually specified by
using ",websocket=<port>" instead.
Parts of the implementation base on Anthony Liguori's QEMU Websocket
patch from 2010 and on Joel Martin's LibVNC Websocket implementation.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 32ed26808d4e59efb4a03290a4a85f5f8335f268
Author: Tim Hardeck <thardeck@xxxxxxx>
Date: Mon Jan 21 11:04:43 2013 +0100
vnc: added buffer_advance function
Following Anthony Liguori's Websocket implementation I have added the
buffer_advance function to VNC and replaced all related buffer memmove
operations with it.
Signed-off-by: Tim Hardeck <thardeck@xxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 11e9235b1a88a98124fe005c93ade019d6a09c0b
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:06 2013 +0100
virtio-s390-device: create a virtio-s390-bus during init.
A virtio-s390-bus is created during the init. So one VirtIODevice can be
connected on the virtio-s390-device through this bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ea35d4f1e9781a4b489d550e4bbc4568704f34bf
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:05 2013 +0100
virtio-s390-bus: add virtio-s390-bus.
This add the virtio-s390-bus which extends virtio-bus. So one
VirtIODevice can
be connected on this bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 085bccb72c280f36f651556ef5169f5faca31d87
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:04 2013 +0100
virtio-pci: refactor virtio-pci device.
Create the virtio-pci device which is abstract. This transport device will
create a virtio-pci-bus, so one VirtIODevice can be connected.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a2acf5eb3237350e84693b9b37eced5080a1fef
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:03 2013 +0100
virtio-pci-bus: introduce virtio-pci-bus.
Introduce virtio-pci-bus, which extends virtio-bus. It is used with
virtio-pci
transport device.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e05db9234050cb3f0ffb765608dd8b176334ae1
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:02 2013 +0100
virtio-device: refactor virtio-device.
Create the virtio-device which is abstract. All the virtio-device can
extend
this class. It also add some functions to virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ff8eca5536edd3f84bc87277e158e4db11dadf82
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:01 2013 +0100
virtio-bus: introduce virtio-bus
Introduce virtio-bus. Refactored transport device will create a bus which
extends virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1395af6f76e9f0e145a235a71e3578385d82ece5
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Tue Jan 15 00:08:00 2013 +0100
qdev: add a maximum device allowed field for the bus.
Add a max_dev field to BusClass to specify the maximum amount of devices
allowed
on the bus (has no effect if max_dev=0)
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 016c7182315b1f842ac351fae86041d2c8fe4596
Merge: e0f0183... 6522773...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 13:22:43 2013 -0600
Merge remote-tracking branch 'quintela/thread.next' into staging
# By Juan Quintela (7) and Paolo Bonzini (6)
# Via Juan Quintela
* quintela/thread.next:
migration: remove argument to qemu_savevm_state_cancel
migration: Only go to the iterate stage if there is anything to send
migration: unfold rest of migrate_fd_put_ready() into thread
migration: move exit condition to migration thread
migration: Add buffered_flush error handling
migration: move beginning stage to the migration thread
qemu-file: Only set last_error if it is not already set
migration: fix off-by-one in buffered_rate_limit
migration: remove double call to migrate_fd_close
migration: make function static
use XFER_LIMIT_RATIO consistently
Protect migration_bitmap_sync() with the ramlist lock
Unlock ramlist lock also in error case
commit e0f01837e104517c7c511c79bb93c8792b7263e5
Merge: f2bdbd5... 09a021f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 07:32:22 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
# By Stefan Weil (2) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
hw/tpci200: Fix compiler warning (redefined symbol with MinGW)
configure: silence pkg-config's check for curses
acpitable: open the data file in binary mode
hw: Spelling fix in log message
commit f2bdbd5bb4b7869ea48845d5a92979290df6f195
Merge: 56a8810... 3588185...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 21 07:32:14 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-1.7.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.2:
seabios: update to 1.7.2 release
commit 56a8810dd6686a999e47afa5c1870c66485ef1c6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 03:26:12 2013 +0100
target-microblaze: Drop unused cpu_mb_close() prototype
Such a function never existed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a42a56c5deeedebe650469640ebe77d80e1eefb5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 20 03:20:58 2013 +0100
target-cris: Drop unused cpu_cris_close() prototype
Such a function never existed.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 09a021fb7ceb7255ab106999d7b38ffd92c3bdd6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 21 07:49:51 2013 +0100
hw/tpci200: Fix compiler warning (redefined symbol with MinGW)
STATUS_TIMEOUT is defined in winnt.h:
CC hw/tpci200.o
hw/tpci200.c:34:0:
warning: "STATUS_TIMEOUT" redefined [enabled by default]
/usr/lib/gcc/x86_64-w64-mingw32/4.6/../../../../x86_64-w64-mingw32/include/winnt.h:1036:0:
note: this is the location of the previous definition
Use STATUS_TIME instead of STATUS_TIMEOUT as suggested by Alberto Garcia.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit acf15c8949f125a4d4f958a5134f8eeece1f99f5
Author: Vadim Evard <v.e.evard@xxxxxxxxx>
Date: Fri Jan 18 17:48:04 2013 +0400
configure: silence pkg-config's check for curses
Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5facfb4934221cac2c267e529d7ebab165103bc9
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jan 17 14:53:52 2013 +0400
acpitable: open the data file in binary mode
-acpitable {file|data}=file reads the content of file, but it is
in binary form, so the file should be opened usin O_BINARY flag.
On *nix it is a no-op, but on windows and other weird platform
it is really needed.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d0f54533eb484028f54d3f9810d504cb63f323ee
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:40:29 2013 +0100
hw: Spelling fix in log message
defineition -> definition
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3588185b8396eb97fd9efd41c2b97775465f67c4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 21 09:17:16 2013 +0100
seabios: update to 1.7.2 release
Not that many changes as we have a pretty recent git snapshot in master
already:
Hannes Reinecke (1):
megasas: Invert PCI device selection
Kevin O'Connor (2):
Minor: Separate UUID display from F12 boot prompt.
boot: Support "halt" in the boot order to prevent default boot
attempts.
Laszlo Ersek (1):
display_uuid(): fix incomplete check after the loop
Paolo Bonzini (1):
vgabios: implement AX=1120H..1124H functions
commit 8b17ed4caa7e015324a4ecbe3c863e32458d840a
Merge: b54c287... cf13938...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 20 11:01:10 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
dataplane: support viostor virtio-pci status bit setting
dataplane: avoid reentrancy during virtio_blk_data_plane_stop()
win32-aio: use iov utility functions instead of open-coding them
win32-aio: Fix memory leak
win32-aio: Fix vectored reads
aio: Fix return value of aio_poll()
ide: Remove wrong assertion
block: fix null-pointer bug on error case in block commit
commit b54c2873e731dd6fc81a4591cab909633b5a9eab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 19 20:23:51 2013 +0100
tci: Fix broken build (regression)
s390x-linux-user now also uses GETPC. Instead of adding it to the list of
targets which use GETPC, the macro is now defined unconditionally.
This avoids future build regressions like this one:
CC s390x-linux-user/target-s390x/int_helper.o
cc1: warnings being treated as errors
qemu/target-s390x/int_helper.c: In function â??helper_divs32â??:
qemu/target-s390x/int_helper.c:47: error: implicit declaration of
function â??GETPCâ??
qemu/target-s390x/int_helper.c:47: error: nested extern declaration of
â??GETPCâ??
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c36dd8a09fd8811ebcda453d80dc5f52402d691c
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Fri Jan 18 16:43:35 2013 +0100
block/raw-posix: Make hdev_aio_discard() available outside Linux
Fixes the build on OpenBSD among others.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c1db29199e3caf5cd56daad08b8926ffa97da136
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jan 18 23:48:10 2013 +0100
usb: Fix compilation for MinGW (regression)
84f2d0ea added an argument to function usb_host_info.
The stub function must match the declaration in usb.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 249fe3f3e99c2a57c7f2569edb4031e63e595c9e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 18 19:30:13 2013 +0100
cpu-defs.h: Drop qemu_work_item prototype
Commit c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e (cpu: Move
queued_work_{first,last} to CPUState) moved the qemu_work_item fields
away. Clean up the now unused prototype.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5256a7208a7c2af19baf8f99bd4f06632f9f9ba9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 17 20:04:16 2013 +0000
tcg/target-arm: Add missing parens to assertions
Silence a (legitimate) complaint about missing parentheses:
tcg/arm/tcg-target.c: In function â??tcg_out_qemu_ldâ??:
tcg/arm/tcg-target.c:1148:5: error: suggest parentheses around
comparison in operand of â??&â?? [-Werror=parentheses]
tcg/arm/tcg-target.c: In function â??tcg_out_qemu_stâ??:
tcg/arm/tcg-target.c:1357:5: error: suggest parentheses around
comparison in operand of â??&â?? [-Werror=parentheses]
which meant that we would mistakenly always assert if running
a QEMU built with debug enabled on ARM.
Signed-off-by: Peter Maydell <peter.maydelL@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit e4ada482420175bc17d6ccb9f2af0e769da78e01
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:37:23 2013 +0100
Replace non-portable asprintf by g_strdup_printf
g_strdup_printf already handles OOM errors, so some error handling in
QEMU code can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0e7a75929353b04bd2fce1be8640226883b42a10
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:29 2013 +0100
vl: Use size_t for sizes in get_boot_devices_list()
Code mixes uint32_t, int and size_t. Very unlikely to go wrong in
practice, but clean it up anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 089da572b956ef0f8f5b8d5917358e07892a77c2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:28 2013 +0100
fw_cfg: Use void *, size_t instead of uint8_t *, uint32_t for blobs
Many callers pass size_t, which gets silently truncated to uint32_t.
Harmless, because all practical sizes are well below 4GiB. Clean it
up anyway. Size overflow now fails assertions.
Bonus: saves a whole bunch of silly casts.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b3dd15529de22cd4bcedb6344105e87878d971b6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:27 2013 +0100
pc: Clean up bochs_bios_init()'s (non-)use of sizeof
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0e0d2d6295076815ded8d0868b7b806380df5dda
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:26 2013 +0100
sun4: Fix unchecked strdup() by switching to fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 96f8058629d99ab689ff233c6133d6cf7f034679
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:25 2013 +0100
pc: Fix unchecked strdup() by switching to fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 44687f75434ea938e9d29fdc3696ff4bdc0978fa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:24 2013 +0100
fw_cfg: New fw_cfg_add_string()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4cad3867b6df2c0826ae508a9fe15dd0b9d8936a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:23 2013 +0100
fw_cfg: Dumb down fw_cfg_add_*() not to return success / failure
No caller is checking the value, so all errors get ignored, usually
silently. assert() instead.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f6e3534327e94c1c222cbbe8011d47b73c102686
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 14:50:22 2013 +0100
fw_cfg: Replace debug prints by tracepoints
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 633f6502544e3dd6a615679ce440875be7ebbc58
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:53 2013 -0800
optimize: optimize using nonzero bits
This adds two optimizations using the non-zero bit mask. In some cases
involving shifts or ANDs the value can become zero, and can thus be
optimized to a move of zero. Second, useless zero-extension or an
AND with constant can be detected that would only zero bits that are
already zero.
The main advantage of this optimization is that it turns zero-extensions
into moves, thus enabling much better copy propagation (around 1% code
reduction). Here is for example a "test $0xff0000,%ecx + je" before
optimization:
mov_i64 tmp0,rcx
movi_i64 tmp1,$0xff0000
discard cc_src
and_i64 cc_dst,tmp0,tmp1
movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0
and after (without patch on the left, with on the right):
movi_i64 tmp1,$0xff0000 movi_i64 tmp1,$0xff0000
discard cc_src discard cc_src
and_i64 cc_dst,rcx,tmp1 and_i64 cc_dst,rcx,tmp1
movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0
Other similar cases: "test %eax, %eax + jne" where eax is already 32-bit
(after optimization, without patch on the left, with on the right):
discard cc_src discard cc_src
mov_i64 cc_dst,rax mov_i64 cc_dst,rax
movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c
ext32u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,ne,$0x0 brcond_i64 rax,tmp12,ne,$0x0
"test $0x1, %dl + je":
movi_i64 tmp1,$0x1 movi_i64 tmp1,$0x1
discard cc_src discard cc_src
and_i64 cc_dst,rdx,tmp1 and_i64 cc_dst,rdx,tmp1
movi_i32 cc_op,$0x1a movi_i32 cc_op,$0x1a
ext8u_i64 tmp0,cc_dst
movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0
brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0
In some cases TCG even outsmarts GCC. :) Here the input code has
"and $0x2,%eax + movslq %eax,%rbx + test %rbx, %rbx" and the optimizer,
thanks to copy propagation, does the following:
movi_i64 tmp12,$0x2 movi_i64 tmp12,$0x2
and_i64 rax,rax,tmp12 and_i64 rax,rax,tmp12
mov_i64 cc_dst,rax mov_i64 cc_dst,rax
ext32s_i64 tmp0,rax -> nop
mov_i64 rbx,tmp0 -> mov_i64 rbx,cc_dst
and_i64 cc_dst,rbx,rbx -> nop
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3a9d8b179b1e43237365ede641d5aa6779ba91bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:52 2013 -0800
optimize: track nonzero bits of registers
Add a "mask" field to the tcg_temp_info struct. A bit that is zero
in "mask" will always be zero in the corresponding temporary.
Zero bits in the mask can be produced from moves of immediates,
zero-extensions, ANDs with constants, shifts; they can then be
be propagated by logical operations, shifts, sign-extensions,
negations, deposit operations, and conditional moves. Other
operations will just reset the mask to all-ones, i.e. unknown.
[rth: s/target_ulong/tcg_target_ulong/]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d193a14a2c94c9c4877ab100c31ec174dc78644c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:42:51 2013 -0800
optimize: only write to state when clearing optimizer data
The next patch will add to the TCG optimizer a field that should be
non-zero in the default case. Thus, replace the memset of the
temps array with a loop. Only the state field has to be up-to-date,
because others are not used except if the state is TCG_TEMP_COPY
or TCG_TEMP_CONST.
[rth: Extracted the loop to a function.]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 75f0585f1718c575716021d11bfeb695129f785d
Merge: 67c4f2d... 5b95b8b...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:56:41 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf:
PPC: KVM: Add support for EPR with KVM
openpic: export e500 epr enable into a ppc.c function
Update Linux kernel headers
PPC: e500: Change in-memory order of load blobs
PPC: Provide zero SVR for -cpu e500mc and e5500
PPC: E500: Calculate loading blob offsets properly
openpic: set mixed mode as supported
openpic: unify gcr mode mask updates
openpic: move gcr write into a function
commit 67c4f2d0e11de8ee534b17edafbcbcdcca4b0e9b
Merge: 48b8599... 28e942f...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:55:46 2013 +0000
Merge branch 's390-for-upstream' of git://repo.or.cz/qemu/agraf
* 's390-for-upstream' of git://repo.or.cz/qemu/agraf:
s390: Add a hypercall registration interface.
target-s390x: Unregister reset callback on finalization
s390x: fix indentation
s390: Add CPU reset handler
s390x: Remove inline function ebcdic_put and related data from cpu.h
S390: Enable -cpu help and QMP query-cpu-definitions
s390: Move IPL code into a separate device
s390: new contributions GPLv2 or later
commit 48b8599c991715eeae74f0cb650fc4284cb69227
Merge: ddc01bf... 9468a5d...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 19 09:54:31 2013 +0000
Merge branch 'axp-next' of git://github.com/rth7680/qemu
* 'axp-next' of git://github.com/rth7680/qemu:
alpha-linux-user: Correct select
alpha-linux-user: Translate fcntl l_type
commit 28e942f86d46ccd46bf1f4836389abb3ff706dff
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Jan 17 04:23:46 2013 +0000
s390: Add a hypercall registration interface.
Allow virtio machines to register for different diag500 function
codes and convert s390-virtio to use it.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d5627ce8a4fd8dd6d7afd3d4d1ff7e9f1fb86d45
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jan 7 06:14:16 2013 +0000
target-s390x: Unregister reset callback on finalization
Since commit "s390: Add CPU reset handler" the CPU's instance_init
registers a reset callback. Unregister that on instance_finalize.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 419831d7104e6876f47f5eccb758855115086bbd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 16:44:27 2013 +0100
s390x: fix indentation
In one of the last commits we accidently got 3-space indentation into
the tree. Fix it up so it's 4 spaces wide.
Reported-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 70bada03047f723424c4d08d93719c1a83a43cd2
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 7 05:27:14 2013 +0000
s390: Add CPU reset handler
Add a CPU reset handler to have all CPUs in a PoP compliant
state.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[agraf: move hw/hw.h into existing ifdef]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a158986d85bf75aa078ce3fb53e60a7fa3c6c6ee
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 08:24:55 2013 +0000
s390x: Remove inline function ebcdic_put and related data from cpu.h
The function is only used in misc_helper.c, so move it to that file.
This reduces the size of debug executables (compiled without optimization)
because they get unused code and data for each compilation which includes
cpu.h.
Executables with optimization don't change their size.
ebcdic2ascii is currently unused and could be removed (not done here).
The array ascii2ebcdic must be accessed with an unsigned index, therefore
(int)ascii[i] was replaced by (uint8_t)ascii[i]. The old code would have
failed for a signed char less than 0. The current code only converts
"QEMU" and spaces to EBCDIC, so there is no problem today.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 904e5fd5c25537fdf910bfd5db832df5d9c23ad6
Author: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 18 07:50:59 2012 +0000
S390: Enable -cpu help and QMP query-cpu-definitions
This enables qemu -cpu help to return a list of supported CPU models
on s390 and also to query for cpu definitions in the monitor.
Initially only cpu model = host is returned. This needs to be reworked
into a full-fledged CPU model handling later on.
This change is needed to allow libvirt exploiters (like OpenStack)
to specify a CPU model.
Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[agraf: fix s390x-linux-user, adjust header locations]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e674a49aae8b79bc4ea07f1bcd666bbf28b12a27
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Dec 18 07:50:57 2012 +0000
s390: Move IPL code into a separate device
Lets move the code to setup IPL for external kernel
or via the zipl rom into a separate file. This allows to
- define a reboot handler, setting up the PSW appropriately
- enhance the boot code to IPL disks that contain a bootmap that
was created with zipl under LPAR or z/VM (future patch)
- reuse that code for several machines (e.g. virtio-ccw and virtio-s390)
- allow different machines to provide different defaults
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
[agraf: symbolify initial psw, adjust header file location, fix for QOM]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ccb084d3f0ec405afc6c878ace40f1ccf1e44027
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Nov 12 01:44:10 2012 +0000
s390: new contributions GPLv2 or later
IBMs s390 contributions were meant to to be gplv2 or later (since
we were contributing to qemu). Several of the s390 specific files
link to gpl code anyway, so lets clarify the licence statement for
new contributions for those files that we have touched multiple
times or will likely touch again.
This patch does not touch files that mostly deal with tcg.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5b95b8b9c1b0cd30a31dbeffdaec35134248b6e9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:54:38 2013 +0100
PPC: KVM: Add support for EPR with KVM
This patch links KVM EPR support to the existing TCG support we have now.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e49798b1bd7657722080126bfd5e787efdb3bc23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:32:21 2013 +0100
openpic: export e500 epr enable into a ppc.c function
Enabling and disabling the EPR capability (mpic_proxy) is a system
wide operation. As such, it belongs into the ppc.c file, since that's
where PPC specific machine wide logic happens.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d3dccee187ffeacec1a38ed288c112ffa0e3b513
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 18 00:06:26 2013 +0100
Update Linux kernel headers
Based on kvm.git a843fac (next) plus dfdebc24 (master).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8dec1443ef6c52e72594c5a861a5d2fd7f05d80
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 17 11:19:28 2013 +0100
PPC: e500: Change in-memory order of load blobs
Today, we load
<kernel> <initrd> <dtb>
into memory in that order. However, Linux has a bug where it can only
handle the dtb if it's within the first 64MB of where <kernel> starts.
So instead, let's change the order to
<kernel> <dtb> <initrd>
making Linux happy.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 746a870b3c44a6c5734691fec013c78520d55f15
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Jan 16 01:43:43 2013 +0100
PPC: Provide zero SVR for -cpu e500mc and e5500
Even though our -cpu types for e500mc and e5500 are no real CPUs that
actually have version registers, a guest might still want to access
said version register and that has to succeed for a guest to be happy.
So let's expose a zero SVR value on E500_SVR SPR reads.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 528e536ea2fd3bfe8412e39a5623e80b254f3ae0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 14 20:24:16 2013 +0100
PPC: E500: Calculate loading blob offsets properly
We have 3 blobs we need to load when booting the system:
- kernel
- initrd
- dtb
We place them in physical memory in that order. At least we should.
This patch fixes the location calculation up to take any module into
account, fixing the dtb offset along the way.
Reported-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86e56a885aa5051c87906dfcd060c59f0af22309
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:17:24 2013 +0100
openpic: set mixed mode as supported
The Raven MPIC implementation supports the "Mixed" mode to work with
an i8259. While we don't implement mixed mode, we should mark it as
a supported mode in the mode bitmap.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1ac3d71302d9d49427dd068af7eccdd4de128522
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:15:28 2013 +0100
openpic: unify gcr mode mask updates
The mode mask already masks out bits we don't care about, so the
actual handling code can stay intact regardless.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7f11573b9fe6c03a9ad4cd1bbaa761e564d44fce
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 7 20:13:52 2013 +0100
openpic: move gcr write into a function
The GCR register contains too much functionality to be covered inside
of the register switch statement. Move it out into a separate function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cf139388ad5b39228793f34eea99e0ea9a2924aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 17 16:46:54 2013 +0100
dataplane: support viostor virtio-pci status bit setting
The viostor virtio-blk driver for Windows does not use the
VIRTIO_CONFIG_S_DRIVER bit. It only sets the VIRTIO_CONFIG_S_DRIVER_OK
bit.
The viostor driver refreshes the virtio-pci status byte sometimes while
the guest is running. We misinterpret 0x4 (VIRTIO_CONFIG_S_DRIVER_OK)
as an indication that virtio-blk-data-plane should be stopped since 0x2
(VIRTIO_CONFIG_S_DRIVER) is missing. The result is that the device
becomes unresponsive.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd7fdfe59f4f965665dcd9868fe3764f5256d6aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jan 15 17:19:38 2013 +0100
dataplane: avoid reentrancy during virtio_blk_data_plane_stop()
When dataplane is stopping, the s->vdev->binding->set_host_notifier(...,
false) call can invoke the virtqueue handler if an ioeventfd
notification is pending. This causes hw/virtio-blk.c to invoke
virtio_blk_data_plane_start() before virtio_blk_data_plane_stop()
returns!
The result is that we try to restart dataplane while trying to stop it
and the following assertion is raised:
msix_set_mask_notifier: Assertion `!dev->msix_mask_notifier' failed.
Although the code was intended to prevent this scenario, the s->started
boolean isn't enough. Add s->stopping so that we can postpone clearing
s->started until we've completely stopped dataplane.
This way, virtqueue handler calls during virtio_blk_data_plane_stop()
are ignored. When dataplane is legitimately started again later we
already self-kick ourselves to resume processing.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3249dbe661ba6ef108ecde97c54b4a4104d719c3
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Jan 17 18:47:52 2013 +0400
win32-aio: use iov utility functions instead of open-coding them
We have iov_from_buf() and iov_to_buf(), use them instead of
open-coding these in block/win32-aio.c
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ddc01bf16e9f04b3e72c1b946b0b8efeb7a545d2
Merge: e387f99... 84c44613...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 17 13:09:57 2013 -0600
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Wenchao Xia
# Via Luiz Capitulino
* luiz/queue/qmp:
HMP: add sub command table to info
HMP: move define of mon_cmds
HMP: add infrastructure for sub command
HMP: delete info handler
HMP: add QDict to info callback handler
commit e387f99ebc5753ebb5b7602d86e44d064873f83c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 19:42:38 2013 +0200
virtio-pci: fix irqfd cleanup argument order
Order of arguments of kvm_virtio_pci_irqfd_release
got mixed up in all calls.
As a result users see assertions during cleanup.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 782beb5239c6306b166744e03478a75afb649811
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 17 08:31:50 2013 +0100
qom: Extend documentation on QOM method concepts
Add a documentation section "Methods" and discuss among others how to
handle overriding virtual methods.
Clarify DeviceClass::realize documentation and refer to the above.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 781c0c3321d2bda9a9d7ffe9bf51560f0987b5a0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Jan 15 08:47:26 2013 +0100
Makefile: drop recursive libcacard clean
Commit eb8eb53e5846a957cf333f2e1ec8cb6e0c04 ("libcacard: rewrite
Makefile in non-recursive style") refactored libcacard/Makefile so it
can be included by the top-level Makefile.
The top-level clean target still loops over subdirectories, including
libcacard/, to invoke recursive clean. Remove libcacard from the
recursive clean since its files are already included at the top level.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6522773f88a2e37800f0bf7dc3632a14649f53c6
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jan 14 14:14:42 2013 +0100
migration: remove argument to qemu_savevm_state_cancel
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b22ff1fbed9d7f1f677804cbaa9ee03ca17d0013
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 21:06:31 2012 +0200
migration: Only go to the iterate stage if there is anything to send
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c369f40d2cb39f4eaaf6589c1113b528256d3a09
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:33:34 2012 +0200
migration: unfold rest of migrate_fd_put_ready() into thread
This will allow us finer control in next patches.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7de6a690e73967eb5bc5e72b2942a6be1fee2c20
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:23:43 2012 +0200
migration: move exit condition to migration thread
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f7b67be36d01f8f506dc93213855b31dad17708c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Dec 10 22:29:14 2012 +0100
migration: Add buffered_flush error handling
Now that we have error handling we can do proper handling of
buffered_flush().
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76f5933aea281a52149b39a1a78a43565dc9715c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:16:24 2012 +0200
migration: move beginning stage to the migration thread
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afe419319de1e5e98b131368ba14f85f98ab3a76
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jan 14 13:36:28 2013 +0100
qemu-file: Only set last_error if it is not already set
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1e973051b96bac5eef46393eec15b68796e7c7d3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:30:39 2012 +0100
migration: fix off-by-one in buffered_rate_limit
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 25242635acb0b803392ad5669b5624815af3fd07
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Nov 10 18:58:40 2012 +0100
migration: remove double call to migrate_fd_close
The call in buffered_close is enough, because buffered_close is called
already by migrate_fd_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b9c961a8ff3973b97964431491bc3f4f427cd66a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:29:03 2012 +0100
migration: make function static
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f65a874756bb3e4b57571a33a51d8887bbee7981
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:31:03 2012 +0100
use XFER_LIMIT_RATIO consistently
commit 5b4e1eb769eee892b44d3f6b2369b05196442f59
missed this use.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9c339485f0abb96595f4d91880b177726463300c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:26:04 2012 +0100
Protect migration_bitmap_sync() with the ramlist lock
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit fb3409de22c7c167dced51175500bc4b1a78dcc2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 11:25:45 2012 +0100
Unlock ramlist lock also in error case
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 84c44613f9ad8d13e0d2dbee767051527072dc12
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:29 2013 +0800
HMP: add sub command table to info
Now info command takes a table of sub info commands,
and changed do_info() to do_info_help() to do help funtion
only.
Note that now "info <unknown-topic>" returns error instead
of list of info topics.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a13ced59a4f305e37bd89f27f2b18f915889cad1
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:28 2013 +0800
HMP: move define of mon_cmds
Because mon_cmds may use info_cmds, so adjust the declare sequence
of them.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5f3d335fbdaccc5044bdfe0c6aefb865e48b9100
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:27 2013 +0800
HMP: add infrastructure for sub command
This patch make parsing of hmp command aware of that it may
have sub command. Also discard simple encapsulation function
monitor_find_command(). For case "@command ", space after
@command is filtered out.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5f11cb002a342e4fc0f87bb36fbabbc19bf04728
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:26 2013 +0800
HMP: delete info handler
Now cmd and info handler have same format, so delete info handler.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84f2d0ea0f39bc140a6c69ba8e3ffd6b10cae6fa
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 14:06:25 2013 +0800
HMP: add QDict to info callback handler
This patch change all info call back function to take
additional QDict * parameter, which allow those command
take parameter. Now it is set to NULL at default case.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit e8bccad5ac6095b5af7946cd72d9aacb57f7c0a3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 21:20:00 2013 +0100
win32-aio: Fix memory leak
The buffer is allocated for both reads and writes, and obviously it
should be freed even if an error occurs.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bcbbd234d42f1111e42b91376db61922d42e7e9e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 21:19:59 2013 +0100
win32-aio: Fix vectored reads
Copying data in the right direction really helps a lot!
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2ea9b58f0bc62445b7ace2381b4c4db7d5597e19
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 19:25:51 2013 +0100
aio: Fix return value of aio_poll()
aio_poll() must return true if any work is still pending, even if it
didn't make progress, so that bdrv_drain_all() doesn't stop waiting too
early. The possibility of stopping early occasionally lead to a failed
assertion in bdrv_drain_all(), when some in-flight request was missed
and the function didn't really drain all requests.
In order to make that change, the return value as specified in the
function comment must change for blocking = false; fortunately, the
return value of blocking = false callers is only used in test cases, so
this change shouldn't cause any trouble.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6bf3ee07ff55aa795010a8e071826f38e9a26112
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 16 10:54:34 2013 +0100
ide: Remove wrong assertion
The Bus Master IDE Active bit (BM_STATUS_DMAING) is not only set when
the request is still in flight, but also when it has completed and the
size of the physical memory regions in the PRDT was larger than the
transfer size.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d759117d3fd28e38c49c56c9de206cc718d32fa
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Jan 15 10:47:24 2013 -0500
block: fix null-pointer bug on error case in block commit
This is a bug that was caught by a coverity run by Markus. In
the error case when we errored out to exit_restore_open early in the
function, 'overlay_bs' was still NULL at that point, although it is
used to look up flags and perform a bdrv_reopen().
Move the overlay_bs lookup to where it is needed, and check for NULL
before restoring the flags. Also get rid of the unneeded parameter
initialization.
Reported-By: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a4cbfe24e4d9f86622ba81b8c5b599c92c682fbc
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 13 16:35:41 2013 +0000
bswap: improve gluing
OpenBSD system compiler (gcc 4.2.1) has problems with concatenation
of macro arguments in macro functions:
CC aes.o
In file included from /src/qemu/include/qemu-common.h:126,
from /src/qemu/aes.c:30:
/src/qemu/include/qemu/bswap.h: In function 'leul_to_cpu':
/src/qemu/include/qemu/bswap.h:461: warning: implicit declaration of
function 'bswapHOST_LONG_BITS'
/src/qemu/include/qemu/bswap.h:461: warning: nested extern declaration of
'bswapHOST_LONG_BITS'
Function leul_to_cpu() is only used in kvm-all.c, so the warnings
are not fatal on OpenBSD without -Werror.
Fix by applying glue(). Also add do {} while(0) wrapping and fix
semicolon use while at it.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 47f4dac3fde809e3da4e60d9eb699f1d4b378249
Merge: af381eb... 0a1a7fa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 16 15:20:05 2013 -0600
Merge remote-tracking branch 'kraxel/chardev.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.1:
chardev: add pty chardev support to chardev-add (qmp)
chardev: add socket chardev support to chardev-add (qmp)
chardev: add parallel chardev support to chardev-add (qmp)
chardev: add serial chardev support to chardev-add (qmp)
chardev: add file chardev support to chardev-add (qmp)
chardev: add hmp hotplug commands
chardev: add qmp hotplug commands, with null chardev support
chardev: reduce chardev ifdef mess a bit
chardev: fix QemuOpts lifecycle
chardev: add error reporting for qemu_chr_new_from_opts
commit af381ebeacdefcec0d2b44bdbb9d6e01e35f691f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Jan 15 09:49:36 2013 +0100
build: fix Win32 clean build
The version.o file did not appear explicitly as a dependency, and
this caused clean builds to fail. Force its build by making the
Makefile depend on version.o.
(We cannot add it to libqemuutil.a, because it doesn't export any
symbol and thus would not be pulled by the linker).
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Tested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eb60d1c55268f489b32e6b694e84e2017b75a3d3
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:59 2013 +0100
tmp105: Add temperature QOM property
This obsoletes tmp105_set() and allows for better error handling.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:58 2013 +0100
tmp105: QOM'ify
Introduce TYPE_ constant and cast macro.
Move the state struct to the new header to allow for future embedding.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e9989034b176a8e4cfdccd85892abfa73977ba7
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:57 2013 +0100
tests: Add tmp105 qtest test case
Exercise all four commands of the TMP105, testing for an issue in the
I2C TX path.
The test case uses the N800's OMAP I2C and is the first for ARM.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cb5ef3fa1871522a0886627033459e94bd537fb7
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:56 2013 +0100
tmp105: Fix I2C protocol bug
An early length postincrement in the TMP105's I2C TX path led to
transfers of more than one byte to place the second byte in the third
byte's place within the buffer and the third byte to get discarded.
Fix this by explictly incrementing the length after the checks but
before the callback is called, which again checks the length.
Adjust the Coding Style while at it.
Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6d0b430176e3571af0e1596276078f05bfe1c5a5
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:55 2013 +0100
tmp105: Split out I2C message constants from header
Allows value sharing with qtest.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2bf7b4572b39a494403190636b4e7d44967504c0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Jan 16 01:57:54 2013 +0100
libqtest: Prepare I2C libqos
This adds a simple I2C API and a driver implementation for omap_i2c.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 457b65432700281b061086a2a8527bf1f59163a9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:17:33 2013 +0100
audio: Replace non-portable asprintf in debug code by g_strdup_printf
sw->name already uses the correct g_free to free the allocated memory.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:20:25 2013 +0100
usb-storage: Drop useless null test in usb_msd_handle_data()
scsi_req_new() never returns null, and scsi_req_enqueue() dereferences
the pointer, so checking for null is useless.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 955d7b26779d6654f6ba2c456bac9fd49fa0cd8a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 16 18:20:57 2013 +0100
ui: Drop useless null tests in parse_keyboard_layout()
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ecf8aa5a06a830b05c035a5d6184bf991931d20
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Jan 16 18:22:29 2013 +0100
pseries: Replace non-portable asprintf by g_strdup_printf
g_strdup_printf already handles OOM errors, so some error handling in
QEMU code can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b8e76b35d47d03f6f9bb3a7455316aaed8b25795
Author: Knut Omang <knuto@xxxxxxxxxx>
Date: Wed Jan 16 16:34:34 2013 +0100
Add new DEFAULT_MACHINE_OPTIONS to q35 and ppc405
Without this default q35/ppc405 based machines would no longer boot
after commit e4ada29e909787f629626660b1561f6a680187d3
Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9468a5d4904223af2c47131f32e3a0555142e4e3
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Jan 10 22:30:50 2013 +0100
alpha-linux-user: Correct select
Alpha, like s390x, passes all select arguments in registers.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ba7f73006371312109991869b13bf8f4b4659c4
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Thu Jan 10 21:42:48 2013 +0100
alpha-linux-user: Translate fcntl l_type
The values of F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK
differ between alpha and other linux architectures.
This patch allows to run "dpkg" (database lock).
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a1a7fabda7f0fa05ef09051be29e92e81f929ad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 14:39:13 2012 +0100
chardev: add pty chardev support to chardev-add (qmp)
The ptsname is returned directly, so there is no need to
use query-chardev to figure the pty device path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f6bd5d6ec514939c421fcd411d1a39bc7dad0948
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 13:53:12 2012 +0100
chardev: add socket chardev support to chardev-add (qmp)
qemu_chr_open_socket is split into two functions. All initialization
after creating the socket file handler is split away into the new
qemu_chr_open_socket_fd function.
chr->filename doesn't get filled from QemuOpts any more. Qemu gathers
the information using getsockname and getnameinfo instead. This way it
will also work correctly for file handles passed via file descriptor
passing.
Finally qmp_chardev_open_socket() is the actual qmp hotplug
implementation which basically just calls socket_listen or
socket_connect and the new qemu_chr_open_socket_fd function.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 88a946d32dd9e4c6c0ad56e19f2822bd5c8b416e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 10 14:20:58 2013 +0100
chardev: add parallel chardev support to chardev-add (qmp)
Also alias the old parport name to parallel for -chardev.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d59044ef74d577797d087bc6ffb156cec89ed39a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 13:50:29 2012 +0100
chardev: add serial chardev support to chardev-add (qmp)
Similar to file, except that no separate in/out files are supported
because it's pointless for direct device access. Also the special
tty ioctl hooks (pass through linespeed settings etc) are activated
on Unix.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ffbdbe59acc5f175d6c05a5d90f0b7c865fafd5b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 13:13:57 2012 +0100
chardev: add file chardev support to chardev-add (qmp)
Add support for file chardevs. Output file is mandatory,
input file is optional.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f10889089153edf032476b45229477866a9ca0b1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 10:33:40 2012 +0100
chardev: add hmp hotplug commands
Add chardev-add and chardev-remove commands to the human monitor.
chardev-add accepts the same syntax as -chardev, chardev-remove
expects a chardev id.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1a1a35638bf045a2b158c0cb23d92ef39c06792
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 10:33:56 2012 +0100
chardev: add qmp hotplug commands, with null chardev support
Add chardev-add and chardev-remove qmp commands. Hotplugging
a null chardev is supported for now, more will be added later.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e551498e7283fc7f12a0f9cd5645517bfe9008f6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 19 16:35:42 2012 +0100
chardev: reduce chardev ifdef mess a bit
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2274ae9d1a841c9d214b7c877d28e2f037a9b26e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Oct 15 09:30:59 2012 +0200
chardev: fix QemuOpts lifecycle
qemu_chr_new_from_opts handles QemuOpts release now, so callers don't
have to worry. It will either be saved in CharDriverState, then
released in qemu_chr_delete, or in the error case released instantly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd2d80b2b75b36955d536564ceb593f5bdae2f12
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Oct 15 09:28:05 2012 +0200
chardev: add error reporting for qemu_chr_new_from_opts
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 249d41720b7dfbb5951b430b9eefdbee7464f515
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 9 03:58:11 2013 +0100
qdev: Prepare "realized" property
Introduce the QOM realizefn suggested by Anthony.
Detailed documentation is supplied in the qdev header.
For now this implements a default DeviceClass::realize callback that
just wraps DeviceClass::init, which it deprecates.
Once all devices have been converted to DeviceClass::realize,
DeviceClass::init is to be removed.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7983c8a335dd09fec49f99a44d4404aa87828c0a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jan 9 03:58:10 2013 +0100
qdev: Fold state enum into bool realized
Whether the device was initialized or not is QOM-level information and
currently unused. Drop it from device. This leaves the boolean state of
whether or not DeviceClass::init was called or not, a.k.a. "realized".
Suggested-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c9ee0291f8ca7e18f8e96a34e8f4be7867219d2
Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 8 12:36:31 2013 +0530
pseries: set no default boot order
This patch removes the default boot order for pseries machine. This allows
the machine to handle a NULL boot order in case no -boot option is
provided.
Thus it helps SLOF firmware to verify if boot order is specified in
command
line or not. If no boot order is provided SLOF tries to boot from the
device set in the nvram.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ada29e909787f629626660b1561f6a680187d3
Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 8 12:36:30 2013 +0530
Make default boot order machine specific
This patch makes default boot order machine specific instead of
set globally. The default boot order can be set per machine in
QEMUMachine boot_order. This also allows a machine to receive a
NULL boot order when -boot isn't used and take an appropriate action
accordingly. This helps machine boots from the devices as set in
guest's non-volatile memory location in case no boot order is
provided by the user.
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 038794cfe1c0eece8968418077e4af601acd5aff
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:24:16 2013 +0100
acl: Free memory allocated with g_malloc() with g_free()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c23c15d30b901bb447cdcada96cae64c0046d146
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:24:15 2013 +0100
acl: Fix acl_remove not to mess up the ACL
It leaks memory and fails to adjust qemu_acl member nentries. Future
acl_add become confused: can misreport the position, and can silently
fail to add.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cc69bda6c97a1c193348eb381f4bffdfd1c8a948
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:42:32 2013 +0100
sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits
Careless use of malloc(): allocate Uint32[N], assign to int *, use
int[N].
Fix by converting to g_new().
Functions can't fail anymore, so make them return void. Caller
ignored the value anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dabe3143e0f36a78a65c0dce1e298e31df1be6c4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Jan 15 19:50:13 2013 +0200
kvm: add stub for kvm_irqchip_update_msi_route
ppc64 build needs this stub to build with virtio enabled.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8ec12ec734da08a945a05e2b0f89d2639048c771
Merge: 58a864d... c3a2980...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:54:41 2013 -0600
Merge remote-tracking branch 'afaerber/memory-ioport' into staging
* afaerber/memory-ioport:
acpi_piix4: Do not use old_portio-style callbacks
xen_platform: Do not use old_portio-style callbacks
hw/dma.c: Fix conversion of ioport_register* to MemoryRegion
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 58a864dec23f9052a5379a3ce81566e065c14afa
Merge: b9f84ac... ecbe251...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:53:10 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
configure: try pkg-config for curses
qom: Make object_resolve_path_component() path argument const
Add libcacard/trace/generated-tracers.c to .gitignore
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9f84ac0fa81315bf4efa8db64f0705273b7499a
Merge: c94bf1c... 7191bf3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:56 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
block: Fix how mirror_run() frees its buffer
win32-aio: Fix how win32_aio_process_completion() frees buffer
scsi-disk: qemu_vfree(NULL) is fine, simplify
w32: Make qemu_vfree() accept NULL like the POSIX implementation
sheepdog: clean up sd_aio_setup()
sheepdog: multiplex the rw FD to flush cache
block: clear dirty bitmap when discarding
ide: issue discard asynchronously but serialize the pieces
ide: fix TRIM with empty range entry
block: make discard asynchronous
raw: support discard on block devices
raw-posix: remember whether discard failed
raw-posix: support discard on more filesystems
block: fix initialization in bdrv_io_limits_enable()
qcow2: Fix segfault on zero-length write
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c94bf1c107df6623e54d48b90fb439a1281a36de
Merge: bdb8872c... e175bce...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:39 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Use switch in check_hw_breakpoints()
target-i386: Avoid goto in hw_breakpoint_insert()
target-i386: Introduce hw_{local,global}_breakpoint_enabled()
target-i386: Define DR7 bit field constants
target-i386: Move kvm_check_features_against_host() check to realize
time
target-i386: cpu_x86_register() consolidate freeing resources
target-i386: Move setting defaults out of cpu_x86_parse_featurestr()
target-i386: check/enforce: Check all feature words
target-i386/cpu.c: Add feature name array for ext4_features
target-i386: kvm_check_features_against_host(): Use feature_word_info
target-i386/cpu: Introduce FeatureWord typedefs
target-i386: Disable kvm_mmu by default
kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code
exec: Return CPUState from qemu_get_cpu()
xen: Simplify halting of first CPU
kvm: Pass CPUState to kvm_init_vcpu()
cpu: Move cpu_index field to CPUState
cpu: Move numa_node field to CPUState
target-mips: Clean up mips_cpu_map_tc() documentation
cpu: Move nr_{cores,threads} fields to CPUState
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bdb8872cc14684557db4bef112b02eeb68f4410b
Merge: 2fd3402... 08bb4a7...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:52:10 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
* afaerber-or/prep-up:
pc87312: Avoid define conflict on mingw32
pc87312: Replace register_ioport_*() with MemoryRegion
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2fd3402d9242dec06bb1ca5680c1ddf421932b08
Merge: dd25f93... 01b87f6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:50:04 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013-2' into staging
* mdroth/qga-pull-1-14-2013-2:
qga: add missing commas in json docs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dd25f938203eac51ef2ec9f4a545645ff49bda70
Merge: 5e72179... 7868181...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:49:48 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013' into staging
* mdroth/qga-pull-1-14-2013:
qemu-ga: Handle errors uniformely in ga_channel_open()
qemu-ga: Plug fd leak on ga_channel_open() error paths
qemu-ga: Plug fd leak on ga_channel_listen_accept() error path
qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path
qemu-ga: Drop pointless lseek() from ga_open_pidfile()
qemu-ga: Document intentional fall through in channel_event_cb()
qemu-ga: add ga_open_logfile()
qemu-ga: ga_open_pidfile(): use qemu_open()
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e72179b8f16e05a33fea5f63856aa16dbb29048
Merge: cf7c3f0... 7e7b7cb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 15 16:49:18 2013 -0600
Merge remote-tracking branch 'sstabellini/xen-2013-01-14' into staging
* sstabellini/xen-2013-01-14:
xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove
BLKIF_OP_WRITE_BARRIER
xen_disk: add persistent grant support to xen_disk backend
xen_disk: fix memory leak
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3a29809e4d8924a0cfffd7f1af3c2f3c46f5889
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Jan 4 22:29:41 2013 +0100
acpi_piix4: Do not use old_portio-style callbacks
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Used HWADDR_PRIx for hwaddr PIIX4_DPRINTF()]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7a652efa1b55ea671125696aabf8f1bd6e9a97f7
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Jan 4 22:29:40 2013 +0100
xen_platform: Do not use old_portio-style callbacks
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ecd584b836937eb45f7e7e487595002486a09cb7
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Dec 19 12:09:21 2012 +0000
hw/dma.c: Fix conversion of ioport_register* to MemoryRegion
The commit 582299336879504353e60c7937fbc70fea93f3da introduced a 1-shift
for
some offset in DMA emulation.
Before the previous commit, which converted ioport_register_* to
MemoryRegion, the DMA controller registered 8 ioports with the following
formula:
base + ((8 + i) << d->shift) where 0 <= i < 8
When an IO occured within a Memory Region, DMA callback receives an
offset relative to the start address. Here the start address is:
base + (8 << d->shift).
The offset should be: (i << d->shift). After the shift is reverted, the
offsets are 0..7 not 1..8.
Fixes LP#1089996.
Reported-by: Andreas Gustafsson <gson@xxxxxxxx>
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ecbe251fa0eb4905c4a82c887e37057243b9fbad
Author: Vadim Evard <v.e.evard@xxxxxxxxx>
Date: Tue Jan 15 16:17:24 2013 +0400
configure: try pkg-config for curses
Static linkikng against ncurses may require explicit -ltinfo.
In case -lcurses and -lncurses both didn't work give pkg-config a
chance.
Fixes #1094786 for me.
Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7191bf311ea9722cdcc3b2229788eff69d896bd0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 15:29:10 2013 +0100
block: Fix how mirror_run() frees its buffer
It allocates with qemu_blockalign(), therefore it must free with
qemu_vfree(), not g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7479acdbce2ecf6cbd0b7d72b81608c8fc51b1ae
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:39 2013 +0100
win32-aio: Fix how win32_aio_process_completion() frees buffer
win32_aio_submit() allocates it with qemu_blockalign(), therefore it
must be freed with qemu_vfree(), not g_free().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db4c34c3df5107ec4900ff07f70c540479a7eeca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:38 2013 +0100
scsi-disk: qemu_vfree(NULL) is fine, simplify
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94c8ff3a01d9bd1005f066a0ee3fe43c842a43b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Jan 15 14:23:37 2013 +0100
w32: Make qemu_vfree() accept NULL like the POSIX implementation
On POSIX, qemu_vfree() accepts NULL, because it's merely wrapper
around free(). As far as I can tell, the Windows implementation
doesn't. Breeds bugs that bite only under Windows.
Make the Windows implementation behave like the POSIX implementation.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f700f8e3463b5d61383121fa6f79564d6132b10d
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Jan 14 14:01:03 2013 +0800
sheepdog: clean up sd_aio_setup()
The last two parameters of sd_aio_setup() are never used, so remove them.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 477830727821e4bc337f4ac1fd222ffe0b900e1a
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Tue Jan 15 16:28:55 2013 +0800
sheepdog: multiplex the rw FD to flush cache
This will reduce sockfds connected to the sheep server to one, which
simply the
future hacks.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e84b4832180db2aa6187b6b971054bc3ca68be0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jan 15 02:55:10 2013 +0100
qom: Make object_resolve_path_component() path argument const
A usage with a hardcoded partial path such as
object_resolve_path_component(obj, "foo")
is totally valid but currently leads to a compilation error. Fix this.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a87eec766d99c33fc49ecc6dbce40f304168ac3f
Author: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Date: Tue Jan 8 01:28:02 2013 +0200
Add libcacard/trace/generated-tracers.c to .gitignore
Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df702c9b4c1d049b12d7cf2f2ee607ff32f766cb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:58 2013 +0100
block: clear dirty bitmap when discarding
Note that resetting bits in the dirty bitmap is done _before_ actually
processing the request. Writes, instead, set bits after the request
is completed.
This way, when there are concurrent write and discard requests, the
outcome will always be that the blocks are marked dirty. This scenario
should never happen, but it is safer to do it this way.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 501378c3af16e8e83a9dd500c11e594f4d1dbe79
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:57 2013 +0100
ide: issue discard asynchronously but serialize the pieces
Now that discard can take a long time, make it asynchronous.
Each LBA range entry is processed separately because discard
can be an expensive operation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 80bc2e8d807939bee89d1a5ca0dbe89946d39ed1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:56 2013 +0100
ide: fix TRIM with empty range entry
ATA-ACS-3 says "If the two byte range length is zero, then the LBA
Range Entry shall be discarded as padding." iovecs are used as if
they are linearized, so it is incorrect to discard the rest of
this iovec.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8238010b265886249f9f3d45e890788319b7736e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:55 2013 +0100
block: make discard asynchronous
This is easy with the thread pool, because we can use s->is_xfs and
s->has_discard from the worker function.
QEMU has a widespread assumption that each I/O operation writes less
than 2^32 bytes. This patch doesn't fix it throughout of course,
but it starts correcting struct RawPosixAIOData so that there is
no regression with respect to the synchronous discard implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fcd9d4555252c47a337357dfce0806e5dde99d96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:54 2013 +0100
raw: support discard on block devices
Block devices use a ioctl instead of fallocate, so add a separate
implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c85191e5c9e14d65cc4281ef3b31f480227aa6dd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 14 16:26:53 2013 +0100
raw-posix: remember whether discard failed
Avoid sending system calls repeatedly if they shall fail. This
does not apply to XFS: if the filesystem-specific ioctl fails,
something weird is happening.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d4fa43e648f3b169e7ab5dd4e21312e510805d7
Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Date: Mon Jan 14 16:26:52 2013 +0100
raw-posix: support discard on more filesystems
Linux 2.6.38 introduced the filesystem independent interface to
deallocate part of a file. As of Linux 3.7, btrfs, ext4, ocfs2,
tmpfs and xfs support it.
Even though the system calls here are in practice issued on Linux,
the code is structured to allow plugging in alternatives for other Unix
variants. EOPNOTSUPP is used unconditionally in this patch, but it is
supported in both OpenBSD and Mac OS X since forever (see for example
http://lists.debian.org/debian-glibc/2006/02/msg00337.html).
Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 029d091e4975af60ff9622717af19c5910f2f4e9
Author: Peter Lieven <pl@xxxxxxxxx>
Date: Fri Jan 11 13:29:55 2013 +0100
block: fix initialization in bdrv_io_limits_enable()
bdrv_io_limits_enable() starts a new slice, but does not set io_base
correctly for that slice.
Here is how io_base is used:
bytes_base = bs->nr_bytes[is_write] - bs->io_base.bytes[is_write];
bytes_res = (unsigned) nb_sectors * BDRV_SECTOR_SIZE;
if (bytes_base + bytes_res <= bytes_limit) {
/* no wait */
} else {
/* operation needs to be throttled */
}
As a result, any I/O operations that are triggered between now and
bs->slice_end are incorrectly limited. If 10 MB of data has been
written since the VM was started, QEMU thinks that 10 MB of data has
been written in this slice. This leads to a I/O lockup in the guest.
We fix this by delaying the start of a new slice to the next
call of bdrv_exceed_io_limits().
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e175bce587936bf479889881488821ea8d61c89c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 13:39:56 2013 +0800
target-i386: Use switch in check_hw_breakpoints()
Replace an if statement using magic numbers for breakpoint type with a
more explicit switch statement. This is to aid readability.
Change the return type and force_dr6_update argument type to bool.
While at it, fix Coding Style issues (missing braces).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cc21a180b9ea9204e99ad5c58604cb458e572a9
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 08:24:02 2013 +0100
target-i386: Avoid goto in hw_breakpoint_insert()
"Go To Statement Considered Harmful" -- E. Dijkstra
To avoid an unnecessary goto within the switch statement, move
watchpoint insertion out of the switch statement. Improves readability.
While at it, fix Coding Style issues (missing braces, indentation).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5902564ac983d67d7d898356971698b50b8f0b91
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 08:01:07 2013 +0100
target-i386: Introduce hw_{local,global}_breakpoint_enabled()
hw_breakpoint_enabled() returned a bit field indicating whether a local
breakpoint and/or global breakpoint was enabled. Avoid this number magic
by using explicit boolean helper functions hw_local_breakpoint_enabled()
and hw_global_breakpoint_enabled(), to aid readability.
Reuse them for the hw_breakpoint_enabled() implementation and change
its return type to bool.
While at it, fix Coding Style issues (missing braces).
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 428065ce50643a56bff043501809b62b035f0b17
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Jan 15 13:39:55 2013 +0800
target-i386: Define DR7 bit field constants
Implicit use of dr7 bit field is a little hard to understand,
so define constants for them and use them consistently.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8d2497c3552e19a60e7a75d20976471ecb2a8e2b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 14 17:31:31 2013 +0100
qcow2: Fix segfault on zero-length write
One of the recent refactoring patches (commit f50f88b9) didn't take care
to initialise l2meta properly, so with zero-length writes, which don't
even enter the write loop, qemu just segfaulted.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:17 2013 +0100
target-i386: Move kvm_check_features_against_host() check to realize time
kvm_check_features_against_host() should be called when features can't
be changed, and when features are converted to properties it would be
possible to change them until realize time, so correct way is to call
kvm_check_features_against_host() in x86_cpu_realize().
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fa2db3c494270c1892365eef370d06a4559619e0
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:16 2013 +0100
target-i386: cpu_x86_register() consolidate freeing resources
Freeing resources in one place would require setting 'error'
to not NULL, so add some more error reporting before jumping to
exit branch.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 077c68c32897ea02b88c9a919627d93d3878ef15
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Jan 11 03:10:15 2013 +0100
target-i386: Move setting defaults out of cpu_x86_parse_featurestr()
No functional change, needed for simplifying conversion to properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 07ca59450c9a0c5df65665ce46aa8487af59a1dd
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:48 2013 -0200
target-i386: check/enforce: Check all feature words
This adds the following feature words to the list of flags to be checked
by kvm_check_features_against_host():
- cpuid_7_0_ebx_features
- ext4_features
- kvm_features
- svm_features
This will ensure the "enforce" flag works as it should: it won't allow
QEMU to be started unless every flag that was requested by the user or
defined in the CPU model is supported by the host.
This patch may cause existing configurations where "enforce" wasn't
preventing QEMU from being started to abort QEMU. But that's exactly the
point of this patch: if a flag was not supported by the host and QEMU
wasn't aborting, it was a bug in the "enforce" code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89e49c8bea9ec81d2cca25f81f5e15c3a1d8b69c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:47 2013 -0200
target-i386/cpu.c: Add feature name array for ext4_features
Feature names were taken from the X86_FEATURE_* constants in the Linux
kernel code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bffd67b01d96d3a59bf74a2d38f00e59d4b9c774
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:46 2013 -0200
target-i386: kvm_check_features_against_host(): Use feature_word_info
Instead of carrying the CPUID leaf/register and feature name array on
the model_features_t struct, move that information into
feature_word_info so it can be reused by other functions.
The goal is to eventually kill model_features_t entirely, but to do that
we have to either convert x86_def_t.features to an array or use
offsetof() inside FeatureWordInfo (to replace the pointers inside
model_features_t). So by now just move most of the model_features_t
fields to FeatureWordInfo except for the two pointers to local
arguments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ef5787627c07d053c2628fe720e814561fbfbe3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:45 2013 -0200
target-i386/cpu: Introduce FeatureWord typedefs
This introduces a FeatureWord enum, FeatureWordInfo struct (with
generation information about a feature word), and a FeatureWordArray
typedef, and changes add_flagname_to_bitmaps() code and
cpu_x86_parse_featurestr() to use the new typedefs instead of separate
variables for each feature word.
This will help us keep the code at kvm_check_features_against_host(),
cpu_x86_parse_featurestr() and add_flagname_to_bitmaps() sane while
adding new feature name arrays.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6a4784ce6b95b013a13504ead9ab62975faf6eff
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:44 2013 -0200
target-i386: Disable kvm_mmu by default
KVM_CAP_PV_MMU capability reporting was removed from the kernel since
v2.6.33 (see commit a68a6a7282373), and was completely removed from the
kernel since v3.3 (see commit fb92045843). It doesn't make sense to keep
it enabled by default, as it would cause unnecessary hassle when using
the "enforce" flag.
This disables kvm_mmu on all machine-types. With this fix, the possible
scenarios when migrating from QEMU <= 1.3 to QEMU 1.4 are:
------------+----------+----------------------------------------------------
src kernel | dst kern.| Result
------------+----------+----------------------------------------------------
>= 2.6.33 | any | kvm_mmu was already disabled and will stay
disabled
<= 2.6.32 | >= 3.3 | correct live migration is impossible
<= 2.6.32 | <= 3.2 | kvm_mmu will be disabled on next guest reboot *
------------+----------+----------------------------------------------------
* If they are running kernel <= 2.6.32 and want kvm_mmu to be kept
enabled on guest reboot, they can explicitly add +kvm_mmu to the QEMU
command-line. Using 2.6.33 and higher, it is not possible to enable
kvm_mmu explicitly anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ca5892328a40bfa9c24c847441761c4729ae3f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 7 16:20:42 2013 -0200
kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code
Any KVM-specific code that use these constants must check if
kvm_enabled() is true before using them.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38d8f5c84e7c02f2523005dddc31939ca18232dd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 19:47:15 2012 +0100
exec: Return CPUState from qemu_get_cpu()
Move the declaration to qemu/cpu.h and add documentation.
The implementation still depends on CPUArchState for CPU iteration.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a1e40b5091bcff5f8ea3fe9963eaa8e76b16389
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 19:39:30 2012 +0100
xen: Simplify halting of first CPU
Use the global first_cpu variable to halt the CPU rather than using a
local first_cpu initialized from qemu_get_cpu(0).
This will allow to change qemu_get_cpu() return type to CPUState
despite use of the CPU_COMMON halted field in the reset handler.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 504134d27f15aa94f6d2b5c45eaa804a8dfb5a4c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 06:38:45 2012 +0100
kvm: Pass CPUState to kvm_init_vcpu()
CPUArchState is no longer needed, and it thereby no longer depends on
NEED_CPU_H.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 55e5c2850293547203874098f7cec148ffd12dfa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 06:18:02 2012 +0100
cpu: Move cpu_index field to CPUState
Note that target-alpha accesses this field from TCG, now using a
negative offset. Therefore the field is placed last in CPUState.
Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change.
Move common parts of mips cpu_state_reset() to mips_cpu_reset().
Acked-by: Richard Henderson <rth@xxxxxxxxxxx> (for alpha)
[AF: Rebased onto ppc CPU subclasses and openpic changes]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b1ed8dc40635d60dd95c04658989af63542fcbf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 04:22:03 2012 +0100
cpu: Move numa_node field to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66afd1ad5a7a25e573577ac45979d8a3213796c3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 20:36:30 2012 +0100
target-mips: Clean up mips_cpu_map_tc() documentation
This function will be touched again soon, so a good understanding of env
vs. other helps. Adopt gtk-doc style.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
commit ce3960ebe57d0601a3628b64adac6fd23c901f70
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Dec 17 03:27:07 2012 +0100
cpu: Move nr_{cores,threads} fields to CPUState
To facilitate the field movements, pass MIPSCPU to malta_mips_config();
avoid that for mips_cpu_map_tc() since callers only access MIPS Thread
Contexts, inside TCG helpers.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08bb4a7c9bb9c12746bce9b3a1f031dd4192afc1
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 13 08:12:45 2013 +0000
pc87312: Avoid define conflict on mingw32
Mingw32 headers define FAR, causing this warning:
/src/qemu/hw/pc87312.c:38:0: warning: "FAR" redefined [enabled by default]
In file included from
/usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windows.h:48:0,
from /src/qemu/include/sysemu/os-win32.h:29,
from /src/qemu/include/qemu-common.h:46,
from /src/qemu/include/exec/ioport.h:27,
from /src/qemu/hw/isa.h:6,
from /src/qemu/hw/pc87312.h:28,
from /src/qemu/hw/pc87312.c:26:
/usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windef.h:34:0:
note: this is the location of the previous definition
Avoid the warning by expanding the macros.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 328c24a97b9cde975bc8b12caa4c6c067fff83c6
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Fri Jan 11 21:11:20 2013 +0100
pc87312: Replace register_ioport_*() with MemoryRegion
Prepare an instance_init function for the MemoryRegion init.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
commit cf7c3f0cb5a7129f57fa9e69d410d6a05031988c
Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Date: Mon Jan 14 22:52:02 2013 +0100
virtio-9p: fix compilation error.
Fix the compilation error introduced by msg new field.
CC hw/9pfs/virtio-9p.o
In file included from
/home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/9pfs/virtio-9p.c:17:0:
/home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/virtio-pci.h:30:16:
erreur: field â??msgâ?? has incomplete type
make: *** [hw/9pfs/virtio-9p.o] Erreur 1
Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
commit 01b87f6d217ed05d5948562f74f5cf7b511a9c6c
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Wed Jan 2 09:15:11 2013 -0700
qga: add missing commas in json docs
* qga/qapi-schema.json: Use valid JSON.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b8bec49cccbf8e34558371df60e7e64419c4fde9
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 13:20:13 2013 -0600
dataplane: fix build breakage on set_guest_notifiers()
virtio_pci_set_guest_notifiers() now takes an additional argument to
specify the number of virtqueues to assign a guest notifier for. This
causes a build breakage for CONFIG_VIRTIO_BLK_DATA_PLANE builds:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function
â??virtio_blk_data_plane_startâ??:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:451:47: error: too
few arguments to function â??s->vdev->binding->set_guest_notifiersâ??
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function
â??virtio_blk_data_plane_stopâ??:
/home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:511:5: error: too few
arguments to function â??s->vdev->binding->set_guest_notifiersâ??
make[1]: *** [hw/dataplane/virtio-blk.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [subdir-x86_64-softmmu] Error 2
Fix this by passing 1 as the number of virtqueues to assign notifiers
for.
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 53510bfc1256711365cd2a841649f3ad5a79790f
Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 14 13:20:12 2013 -0600
virtio-pci: build for uninitialized return value in vq_vector_unmask
Fixes the following:
/home/mdroth/w/qemu2.git/hw/virtio-pci.c: In function
â??kvm_virtio_pci_vector_unmaskâ??:
/home/mdroth/w/qemu2.git/hw/virtio-pci.c:673:12: error: â??retâ?? may be
used uninitialized in this function [-Werror=uninitialized]
cc1: all warnings being treated as errors
make: *** [hw/virtio-pci.o] Error 1
make: *** Waiting for unfinished jobs....
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit be657dea4bec90031cc66a111a772299bfca7fa5
Author: Alberto Garcia <agarcia@xxxxxxxxxx>
Date: Fri Jan 11 18:25:30 2013 +0100
Add GE IP-Octal 232 IndustryPack emulation
The GE IP-Octal 232 is an IndustryPack module that implements eight
RS-232 serial ports, each one of which can be redirected to a
character device in the host.
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9c16fa79bfa0f8d7a937ee58fa45f2bd0995fa53
Author: Alberto Garcia <agarcia@xxxxxxxxxx>
Date: Fri Jan 11 18:25:29 2013 +0100
Add TEWS TPCI200 IndustryPack emulation
The TPCI200 is a PCI board that supports up to 4 IndustryPack modules.
A new bus type called 'IndustryPack' has been created so any
compatible module can be attached to this board.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7e7b7cba16faa7b721b822fa9ed8bebafa35700f
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Jan 14 18:30:30 2013 +0000
xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove
BLKIF_OP_WRITE_BARRIER
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 9e496d7458bb01b717afe22db10a724db57d53fd
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
Date: Mon Jan 14 18:28:19 2013 +0000
xen_disk: add persistent grant support to xen_disk backend
This protocol extension reuses the same set of grant pages for all
transactions between the front/back drivers, avoiding expensive tlb
flushes, grant table lock contention and switches between userspace
and kernel space. The full description of the protocol can be found in
the public blkif.h header.
http://xenbits.xen.org/gitweb/?p=xen.git;a=blob_plain;f=xen/include/public/io/blkif.h
Speed improvement with 15 guests performing I/O is ~450%.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 282c6a2f292705f823554447ca0b7731b6f81a97
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
Date: Mon Jan 14 18:26:53 2013 +0000
xen_disk: fix memory leak
On ioreq_release the full ioreq was memset to 0, loosing all the data
and memory allocations inside the QEMUIOVector, which leads to a
memory leak. Create a new function to specifically reset ioreq.
Reported-by: Maik Wessler <maik.wessler@xxxxxxxxx>
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 7868181f98ff1fbcd7f7034153eec5e03615d023
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:02 2013 +0100
qemu-ga: Handle errors uniformely in ga_channel_open()
We detect errors in several places. One reports with g_error(), which
calls abort(), the others report with g_critical(). Three of them
exit(), three return false.
Always report with g_critical(), and return false.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
*minor fix-up of commit msg
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d4f4a3efdf0a71621ae5351176f5f15b522d0026
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:01 2013 +0100
qemu-ga: Plug fd leak on ga_channel_open() error paths
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 32c16620dda8ba16f6d6bcd20efefdec8975af77
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:25:00 2013 +0100
qemu-ga: Plug fd leak on ga_channel_listen_accept() error path
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 03ac10f166b790cb66804e512abec6d002cd8481
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:59 2013 +0100
qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path
Spotted by Coverity. Also document why we keep it open on success.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 5d27f9ce3de424207883d84352d76150e9707394
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:58 2013 +0100
qemu-ga: Drop pointless lseek() from ga_open_pidfile()
After open(), the file offset is already zero, and neither lockf() nor
ftruncate() change it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f5b795787864ddde1104a4f7c061dcb0e58e45c0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 11 11:24:57 2013 +0100
qemu-ga: Document intentional fall through in channel_event_cb()
For clarity, and to hush up Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 9e92f6d46233171898fc7d0487a04e5b78e44234
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Jan 8 19:26:26 2013 -0200
qemu-ga: add ga_open_logfile()
This function sets O_CLOEXEC on the log file fd so that it isn't
leaked to executed processes.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Amos Kong <akong@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6ffacc5d3ddf2e3227aae2a8cc5c15627265f727
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Jan 8 19:26:25 2013 -0200
qemu-ga: ga_open_pidfile(): use qemu_open()
This ensures that O_CLOEXEC is passed to open(), this way the
pid file fd is not leaked to executed processes.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Amos Kong <akong@xxxxxxxxxx>
Tested-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a507db9599599ce33007b524276a6ea88e521662
Merge: b55160c... f9943cd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:41 2013 -0600
Merge remote-tracking branch 'kraxel/pixman.v6' into staging
* kraxel/pixman.v6:
pixman: pass extra cflags and ldflags
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b55160c3d9b38c5d481ceccc30e397430f26fe92
Merge: 167eb81... 0360784...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:29 2013 -0600
Merge remote-tracking branch 'kraxel/usb.76' into staging
* kraxel/usb.76:
usb-host: Initialize dev->port the obviously safe way
usb-host: Drop superfluous null test from usb_host_auto_scan()
ehci: Assert state machine is sane w.r.t. EHCIQueue
xhci: nuke transfe5rs on detach
xhci: call xhci_detach_slot on root port detach too
xhci: create xhci_detach_slot helper function
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 167eb811d006b95e9a26d4a0e681907ae77f5ce4
Merge: a69f221... 08688af...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:27:08 2013 -0600
Merge remote-tracking branch 'spice/spice.v67' into staging
* spice/spice.v67:
qxl: Don't drop client capability bits
qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a69f221ef840cde778080ffaa78e0d9dd27b87c7
Merge: da758bd... 00e4d0d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:26:57 2013 -0600
Merge remote-tracking branch 'kraxel/testdev.2' into staging
* kraxel/testdev.2:
pc-testdev: use typedefs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da758bd7a3156fc96a630684ad9e4b4a03064306
Merge: 8e9a868... de0161c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:26:26 2013 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
dataplane: handle misaligned virtio-blk requests
dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
block: make qiov_is_aligned() public
raw-posix: fix bdrv_aio_ioctl
sheepdog: implement direct write semantics
block: do not probe zero-sized disks
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8e9a8681dd6066e4f79ba85b59deedb4d3d11aa2
Merge: 7adef3b... feb9a2a...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:23:50 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio
This further optimizes MSIX handling in virtio-pci.
Also included is pci cleanup by Paolo, and pci device
assignment fix by Alex.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
* mst/tags/for_anthony:
pci-assign: Enable MSIX on device to match guest
pci: use constants for devices under the 1B36 device ID, document them
ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
virtio-9p: use symbolic constant, add to pci-ids.txt
reorganize pci-ids.txt
docs: move pci-ids.txt to docs/specs/
vhost: backend masking support
vhost: set started flag while start is in progress
virtio-net: set/clear vhost_started in reverse order
virtio: backend virtqueue notifier masking
virtio-pci: cache msix messages
kvm: add stub for update msi route
msix: add api to access msix message
virtio: don't waste irqfds on control vqs
commit 7adef3bc5a195d483987469fc80fbbe4a25a5b9d
Merge: 0054ee8... aaf821f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:23:25 2013 -0600
Merge remote-tracking branch 'bonzini/stub' into staging
* bonzini/stub: (27 commits)
build: improve quiet output for .stp rules
build: fold trace-obj-y into libqemuutil.a
build: some simplifications for "trace/Makefile.objs"
build: remove coroutine-obj-y
build: move version-obj-y to the generic LINK rule
build: move base QAPI files to libqemuutil.a
build: move QAPI definitions for QEMU out of qapi-obj-y
build: consolidate multiple variables into universal-obj-y
build: move qobject files to qobject/ and libqemuutil.a
build: move libqemuutil.a components to util/
build: move files away from tools-obj-y, common-obj-y, user-obj-y
build: move util-obj-y to libqemuutil.a
build: rename oslib-obj-y to util-obj-y
libcacard: list oslib-obj-y file explicitly
libcacard: link vscclient to dynamic library
libcacard: rewrite Makefile in non-recursive style
libcacard: add list of exported symbols
libcacard: use per-target variable definitions
libcacard: prepare to use -y trick in the Makefile
libcacard: require libtool to build it
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0054ee8c4168e7e298915baaa1a88d717e541bd3
Merge: 63fb259... 5178234...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 14 10:22:31 2013 -0600
Merge remote-tracking branch 'qmp/queue/qmp' into staging
* qmp/queue/qmp:
monitor: assert monitor_puts()'s loop invariant
target-i386: fix bits 39:32 of the final physical address when using 4M
page
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f9943cd58f8a053172aa701d79da512ccd10d758
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 10:15:53 2013 +0100
pixman: pass extra cflags and ldflags
Store --extra-cflags and --extra-ldflags in config-host.mak,
then pass them on to the pixman configure script.
Cc: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 036078475427f2562c8e505f6bb44dbf5d8cbd95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:25 2013 +0100
usb-host: Initialize dev->port the obviously safe way
Coverity worries the strcpy() could overrun the destination. It
can't, because the source always points to usb_host_scan()'s auto
port[], which has the same size. Use pstrcpy() anyway, to hush the
checker.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4663530898a15944706d51b523d1f1545e32e46a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:24 2013 +0100
usb-host: Drop superfluous null test from usb_host_auto_scan()
Coverity points out that port is later passed to usb_host_open(),
which dereferences it. It actually can't be null: it always points to
usb_host_scan()'s auto port[]. Drop the superfluous port == NULL
test.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc8d2b65c7e5f44172bf3ec300407522162e9a7f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:33:23 2013 +0100
ehci: Assert state machine is sane w.r.t. EHCIQueue
Coverity worries the EHCIQueue pointer could be null when we pass it
to functions that reference it. The state machine ensures it can't be
null then. Assert that, to hush the checker.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de0161c0d553f2aaf6118ca87f978a5e6b4a9732
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:29 2013 +0100
dataplane: handle misaligned virtio-blk requests
O_DIRECT on Linux has alignment requirements on I/O buffers and
misaligned requests result in -EINVAL. The Linux virtio_blk guest
driver usually submits aligned requests so I forgot to handle misaligned
requests.
It turns out that virtio-win guest drivers submit misaligned requests.
Handle them using a bounce buffer that meets alignment requirements.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b5ef1aab945c1b04740574064b13eb93f1572587
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:28 2013 +0100
dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
Extract code for read/write command processing into do_rdwr_cmd(). This
brings together pieces that are spread across process_request().
The real motivation is to set the stage for handling misaligned
requests, which the next patch tackles.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c53b1c5114bdf7fc945cbf11436da61789ca2267
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Jan 11 16:41:27 2013 +0100
block: make qiov_is_aligned() public
The qiov_is_aligned() function checks whether a QEMUIOVector meets a
BlockDriverState's alignment requirements. This is needed by
virtio-blk-data-plane so:
1. Move the function from block/raw-posix.c to block/block.c.
2. Make it public in block/block.h.
3. Rename to bdrv_qiov_is_aligned().
4. Change return type from int to bool.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b608c8dc02c78ee95455a0989bdf1b41c768b2ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:28:35 2013 +0100
raw-posix: fix bdrv_aio_ioctl
When the raw-posix aio=thread code was moved from posix-aio-compat.c
to block/raw-posix.c, there was an unintended change to the ioctl code.
The code used to return the ioctl command, which posix_aio_read()
would later morph into a zero. This hack is not necessary anymore,
and in fact breaks scsi-generic (which expects a zero return code).
Remove it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Thu Jan 10 16:03:47 2013 +0800
sheepdog: implement direct write semantics
Sheepdog supports both writeback/writethrough write but has not yet
supported
DIRECTIO semantics which bypass the cache completely even if Sheepdog
daemon is
set up with cache enabled.
Suppose cache is enabled on Sheepdog daemon size, the new cache control is
cache=writeback # enable the writeback semantics for write
cache=writethrough # enable the emulated writethrough semantics for write
cache=directsync # disable cache competely
Guest WCE toggling on the run time to toggle writeback/writethrough is
also
supported.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8e895599a1beb250ebca00e83b5fae6a828d2171
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:39:27 2013 +0100
block: do not probe zero-sized disks
A blank CD or DVD is visible as a zero-sized disks. Probing such
disks will lead to an EIO and a failure to start the VM. Treating
them as raw is a better solution.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0cb41e2c5ebc1f8fa180a1726981416fee9abad1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 14:06:51 2013 +0100
xhci: nuke transfe5rs on detach
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f3dcf6384cc94b6a688f3a366c20642f36247b68
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 13:06:57 2013 +0100
xhci: call xhci_detach_slot on root port detach too
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8125184178de05d762e39ee07f44ada6006e87bd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 13:06:16 2013 +0100
xhci: create xhci_detach_slot helper function
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 00e4d0dbad9f2d449f021394addec9dfae5678bf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Jan 7 12:59:43 2013 +0100
pc-testdev: use typedefs
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 08688af04dc1137ac2f420b35c235183926b4a23
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:24:50 2013 +0100
qxl: Don't drop client capability bits
interface_set_client_capabilities() copies only the first few bits,
because it falls into a Classic C trap: you can declare a parameter
uint8_t caps[58], but the resulting parameter type is uint8_t *, not
uint8_t[58]. In particular, sizeof(caps) is sizeof(uint8_t *), not
the intended sizeof(uint8_t[58]).
Harmless, because the bits aren't used, yet. Broken in commit
c10018d6. Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bc5f92e5db6f303e73387278e32f8669f0abf0e5
Author: Markus Armbruster <armbru@xxxxxxxxxxxx>
Date: Thu Jan 10 14:24:49 2013 +0100
qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check
The pointer arithmetic there is safe, but ugly. Coverity grouses
about it. However, the actual comparison is off by one: <= end
instead of < end. Fix by rewriting the check in a cleaner way.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aaf821fde35f2ac5cf509ebd83a7d40704ea8d48
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 10:45:20 2012 +0100
build: improve quiet output for .stp rules
Mention the directory in which the .stp file is being generated.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ff667e2e9b86fdc36e3b143483526f4c4fe80049
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:45:20 2012 +0100
build: fold trace-obj-y into libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e848f482bce75f4d9cbac9f495fa45e51d08c9a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 24 14:06:27 2012 +0100
build: some simplifications for "trace/Makefile.objs"
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84ecb7a6b9b2b14adadc1ff21c854d9e5f42be56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 17:38:14 2012 +0100
build: remove coroutine-obj-y
Just fold it into block-obj-y.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bf0842b71f581e0c60f4bbfbebf37ff999a22b88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 17:36:35 2012 +0100
build: move version-obj-y to the generic LINK rule
There is no reason for it to be in block-obj-y, in particular.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 576d55068d210c7316297af4194a10f729efe742
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:27:51 2012 +0100
build: move base QAPI files to libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 59cacde8cdf2e85de9b1aff63e456e89a8a5c59d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:03:18 2012 +0100
build: move QAPI definitions for QEMU out of qapi-obj-y
There is no reason why for example qemu-ga should include all the
definitions for the QEMU monitor. However, there are a few
that are needed (qapi_free_SocketAddress, qapi_free_InetSocketAddress,
ErrorClass_lookup). These should be moved to a separate "core"
.json schema that goes into libqemuutil.a.
For now, make this clearer by moving the qapi-*.o definitions out
of libqemuutil.a. Once the above refactoring is done, qga-obj-y
should not include anymore qapi-types.o and qapi-visit.o.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9444e9e640d56039253d885ba88c3fa818a00149
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:24:49 2012 +0100
build: consolidate multiple variables into universal-obj-y
The directory descent mechanism, and a less-flat tree both helped
in making some *-obj-y definitions very short. Many of these
often end up in universal-obj-y, and used to be separate only
because of libuser (which is now part of history...).
Consolidate these variables in a single one.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a372823a14461c454feaa86373bd672fd518847a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 16:10:26 2012 +0100
build: move qobject files to qobject/ and libqemuutil.a
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit baacf04799ace72a9c735dd9306a1ceaf305e7cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:58:44 2012 +0100
build: move libqemuutil.a components to util/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f157ebba2de4a6225679e13cc1ce01ff5d147c76
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 16:09:36 2012 +0100
build: move files away from tools-obj-y, common-obj-y, user-obj-y
Split them between libqemuutil.a and, for those used by qemu-img/io/nbd,
block-obj-y.
Static libraries ensure that binaries such as qemu-ga do not include
unused modules.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8a090705b4485eaed602632963cc53acaf3ba12e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 15:40:20 2012 +0100
build: move util-obj-y to libqemuutil.a
Use a static library to eliminate repetition in the linking rules.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4b42e6ebc2442f5ae9885d62171599cc682b4f5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 14:34:31 2012 +0100
build: rename oslib-obj-y to util-obj-y
This prepares the creation of libqemuutil.a in the next patch.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d9dc91ace82d1c4ca6f2c6f10a9cfcacf988662e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:24:27 2012 +0100
libcacard: list oslib-obj-y file explicitly
We will grow the list of files in the next patches, but libcacard
should remain slim.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 26ca8c06d2e4fb43903c9d5e8ebe27792ffc461b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 08:42:03 2012 +0100
libcacard: link vscclient to dynamic library
There is no reason for vscclient to duplicate the code. rules.mak
takes care of invoking libtool to do the link.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 992aeb8eb53e5846a957cf333f2e1ec8cb6e0c04
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 08:34:49 2012 +0100
libcacard: rewrite Makefile in non-recursive style
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5018f1cc9f9e2b68c12671e83cd1e3c6a12ec2b5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:19:51 2012 +0100
libcacard: add list of exported symbols
Do not export internal QEMU symbols.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit af0c8e9f3c75a23905b97be6f6e530acaa7bedc3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:13:10 2012 +0100
libcacard: use per-target variable definitions
This lets the libcacard Makefile use more rules.mak magic.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 591eca679e6d1165c9c69896dcecc8087bb1619c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:16:33 2012 +0100
libcacard: prepare to use -y trick in the Makefile
Rename variables to follow the conventions of the rest of the build
systems.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6fc675b25d32f018870e202eb4b2a6eb509f88b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 20:40:35 2012 +0100
libcacard: require libtool to build it
Do not fail at build time, instead just disable the library if libtool
is not present.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e832341bde5448a6a1392ea903a553497a13763b
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Wed Nov 28 11:16:26 2012 +0200
libcacard: fix missing symbol in libcacard.so
Before patch:
$ make libcacard.la
$ nm ./libcacard/.libs/libcacard.so.0.0.0 | grep " U " | \
egrep -v "(g_)|(GLIBC)|(SECMOD)|(PK11)|(CERT)|(NSS)|(PORT)|(PR)"
U error_set
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit afd347ab3874858bfb609f22032c34ecd5f37d08
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 20:39:36 2012 +0100
build: remove CONFIG_SMARTCARD
The passthru smartcard does not have the shared library dependency, build
it unconditionally.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2c13ec50e763621889f2b2e6b5d587f692e58f3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 21 09:23:18 2012 +0100
build: move dtrace rules to rules.mak
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2165588274332e9f08891d5b22d56f4c0b7dc437
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:57:45 2012 +0100
build: support linking with libtool objects/libraries
This patch moves the complication of using libtool to the generic
rules.mak file.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f141ccfa15096a7610b9973ae5ebae6562625a8d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 18:32:53 2012 +0100
build: make libtool verbose when making with V=1
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5708fc665524c5218076388504d078441fb3940c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 26 15:36:40 2012 +0100
stubs: fully replace qemu-tool.c and qemu-user.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4d4545743f55b37d37535f7b32456b82c97efeb8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 26 16:03:42 2012 +0100
qemu-option: move standard option definitions out of qemu-config.c
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 63fb2590839162afdf14d7c0ee02d460766c0956
Merge: 02e079c... 314e229...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:47:07 2013 +0000
Merge branch 'target-arm.next' of
git://git.linaro.org/people/pmaydell/qemu-arm
* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
target-arm: Fix SWI (SVC) instruction in M profile.
target-arm: use type_register() instead of type_register_static()
commit 02e079c79cdb7ac8180f92edaed4b942ca6b7c71
Merge: 837d1f9... 61993a6...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:47:02 2013 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (31 commits)
PPC: linux-user: Calculate context pointer explicitly
target-ppc: Error out for -cpu host on unknown PVR
target-ppc: Slim conversion of model definitions to QOM subclasses
PPC: Bring EPR support closer to reality
PPC: KVM: set has-idle in guest device tree
kvm: Update kernel headers
openpic: fix CTPR and de-assertion of interrupts
openpic: move IACK to its own function
openpic: IRQ_check: search the queue a word at a time
openpic: fix sense and priority bits
openpic: add some bounds checking for IRQ numbers
openpic: use standard bitmap operations
Revert "openpic: Accelerate pending irq search"
openpic: always call IRQ_check from IRQ_get_next
openpic/fsl: critical interrupts ignore mask before v4.1
openpic: make ctpr signed
openpic: rework critical interrupt support
openpic: make register names correspond better with hw docs
ppc/booke: fix crit/mcheck/debug exceptions
openpic: lower interrupt when reading the MSI register
...
commit 837d1f978224f7e7b020c71ffb10b291952cc596
Merge: a6fc23e... 2b35e93...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 12 12:46:57 2013 +0000
Merge branch 's390-reorg' of git://repo.or.cz/qemu/rth
* 's390-reorg' of git://repo.or.cz/qemu/rth: (149 commits)
target-s390: Claim maintainership
target-s390: Use noreturn for exception and load_psw
target-s390: Use TCG_CALL_NO_WG for misc helpers
target-s390: Use TCG_CALL_NO_WG for integer helpers
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
target-s390: Use TCG_CALL_NO_WG for memory helpers
target-s390: Perform COMPARE AND SWAP inline
target-s390: Optimize get_address
target-s390: Optimize ADDC/SUBB
target-s390: Optimize ADDU/SUBU CC testing
target-s390: Tidy comparisons
target-s390: Optmize emitting discards
target-s390: Optimize XC
target-s390: Fix cpu_clone_regs
target-s390: Implement LOAD/SET FP AND SIGNAL
target-s390: Implement SET ROUNDING MODE
target-s390: Use uint64_to_float128
target-s390: Implement LCDFR
target-s390: Check insn operand specifications
target-s390: Implement CPSDR
...
commit a6fc23e5dc76660792c8363d058adf22caa82945
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Fri Jan 11 16:41:43 2013 +0000
hw/pc.c: add ULL suffix in ioport80_read and ioportF0_read return value
The commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d broke the compilation
for i386. ULL need to be specify for uint64_t value.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 163fa4b09db3e36c612e178fd11b3af4247cbd56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 11 15:05:06 2013 -0800
tcg-i386: use LEA for 3-operand 64-bit addition
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 092bb3068801bd6bfc90fcced2661e77bb811764
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 9 10:17:08 2013 +0100
pixman: fix warning
Cc: afaerber@xxxxxxx
Cc: agraf@xxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cc6e3ca93c1b40fba579e8724dd06ca9f0507b31
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 9 10:17:07 2013 +0100
gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to
CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3dd46c78525a30e98c68a44e1c3797d9fcfb0462
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 5 10:10:27 2013 +0000
optionrom: build with discrete CPP and AS steps
Build option ROM .S files with separate preprocessor and
assembler steps because the C compiler could be unsuitable.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b6d9439c0d221b477c479a41a46797eee228bf88
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Jan 5 14:48:22 2013 +0000
slirp: remove unused field tt
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 338d80dd353c50b6397723ffecf7e5bc3ba1651d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:33 2013 -0800
user: Consider symbolic links as possible directories
Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number
of syscalls performed during user emulation startup, but failed to
consider the use of symbolic links in creating directory structures.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit d2565875ec5a483ddcdf3cec821830bd1f082cf6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:32 2013 -0800
alpha-linux-user: Fix sigaction
Unconditional bswap replaced by __get_user/__put_user.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 658f2dc970996d547a641b5685e384ebe6f2648e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:31 2013 -0800
linux-user: Rewrite __get_user/__put_user with __builtin_choose_expr
The previous formuation with multiple assignments to __typeof(*hptr) falls
down when hptr is qualified const. E.g. with const struct S *p, p->f is
also qualified const.
With this formulation, there's no assignment to any local variable.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c732a52d3e3b7ed42d7daa94ba40a83408cd6f22
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:30 2013 -0800
bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_p
We've now optimized the ld/st versions; reuse that for the "legacy"
versions. Always use inlines so that we get the type checking that
we expect.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 612d590ebc6cef179cf5f7823522237e622ab430
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:29 2013 -0800
bswap: Rewrite all ld<type>_<endian>_p functions
Use the new host endian unaligned access functions instead of
open coding byte-by-byte references. Remove assembly special
cases for i386 and ppc -- we've now exposed the operation to
the compiler sufficiently for these to be optimized automatically.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 7db2145a6826b14efceb8dd64bfe6ad8647072eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:28 2013 -0800
bswap: Add host endian unaligned access functions
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cdfe2851c6c33c133bd90c2643cb0486c0f5b325
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:27 2013 -0800
bswap: Tidy base definitions of bswapN
Move the bswap_N -> bswapN wrappers inside CONFIG_BYTESWAP_H.
Change the ultimate fallback defintions from macros to inline functions.
The proper types recieved by the function arguments means we can remove
unnecessary casts, making the code more readable.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fedb88bd32d331131d77a9b567d12e682fd102ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 4 16:39:26 2013 -0800
fdt: Use bswapN instead of bswap_N
Fixes the libfdt enabled build for hosts that have <machine/bswap.h>.
The code at the beginning of qemu/bswap.h is attempting to standardize
on bswapN. In the case of CONFIG_MACHINE_BSWAP_H, this is all we get.
In the case of CONFIG_BYTESWAP_H, we get bswap_N from the system header
and then wrap these with inline functions to get bswapN.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 314e2296dc945e286b605563d7b6e6b269d29816
Author: Alex_Rozenman@xxxxxxxxxx <Alex_Rozenman@xxxxxxxxxx>
Date: Fri Jan 11 15:21:22 2013 +0000
target-arm: Fix SWI (SVC) instruction in M profile.
When do_interrupt_v7m is called with EXCP_SWI, the PC already
points to the next instruction. Don't modify it here.
Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 918fd0839eeafc83bd4984364321a947d29041fe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 11 15:21:22 2013 +0000
target-arm: use type_register() instead of type_register_static()
The type_register_static() interface is documented as:
type_register_static:
@info: The #TypeInfo of the new type.
@info and all of the strings it points to should exist for the life
time that the type is registered.
But cpu_register() uses a stack variable for the 'info' argument, so it
has to use type_register() instead of type_register_static().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fedf2de31023b4ee71a4e578db013976243a8143
Merge: e2848a7... c02e1ea...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:43:18 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
hw/pc.c: Fix converting of ioport_register* to MemoryRegion
Replace remaining gmtime, localtime by gmtime_r, localtime_r
savevm: Remove MinGW specific code which is no longer needed
qga/channel-posix.c: Explicitly include string.h
configure: Fix comment (copy+paste bug)
readline: avoid memcpy() of overlapping regions
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e2848a78b0a6715f94623bdf43ef74d3d08cfe4d
Merge: 80ec243... 7e973bb...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:36:52 2013 -0600
Merge remote-tracking branch 'kraxel/q35.1' into staging
* kraxel/q35.1:
Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too
pc: rename machine types
q35: document chipset devices
q35: add ich9 intel hda controller
Conflicts:
hw/intel-hda.c
aliguori: resolve conflict with static const change from Andreas.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 80ec24328607937690d0d620b99e8c24ab29e8f5
Merge: 47a150a... 63e3555...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 11 08:23:16 2013 -0600
Merge remote-tracking branch 'afaerber-or/prep-up' into staging
* afaerber-or/prep-up:
prep: Use pc87312 device instead of collection of random ISA devices
prep: Add pc87312 Super I/O emulation
prep: Include devices for ppc64 as well
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Jan 9 18:10:22 2013 +0000
hw/pc.c: Fix converting of ioport_register* to MemoryRegion
The commit 258711 introduced MemoryRegion to replace ioport_region*
for ioport 80h and F0h.
A MemoryRegion needs to have both read and write callback otherwise a
segfault
will occur when an access is made.
The previous behaviour of this both ioport is to return
0xffffffffffffffff.
So keep this behaviour.
Reported-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Tested-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eb7ff6fb0bddb33991fa44586ac8e2e02019dc97
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 7 23:08:13 2013 +0100
Replace remaining gmtime, localtime by gmtime_r, localtime_r
This allows removing of MinGW specific code and improves
reentrancy for POSIX hosts.
[Removed unused ret variable in qemu_get_timedate() to fix warning:
vl.c: In function â??qemu_get_timedateâ??:
vl.c:451:16: error: variable â??retâ?? set but not used
[-Werror=unused-but-set-variable]
-- Stefan Hajnoczi]
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 68b891ec3937aa2e18eed5a403b1d9fd9b875084
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Jan 7 22:20:27 2013 +0100
savevm: Remove MinGW specific code which is no longer needed
QEMU provides a portable function qemu_gettimeofday instead of
gettimeofday and also an implementation of localtime_r for MinGW.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1d57db193f2eb619ccc9a60e76120379b757d9f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 7 17:29:55 2013 +0000
qga/channel-posix.c: Explicitly include string.h
Explicitly include string.h to avoid warnings under MacOS X/clang
about implicit declarations of strerror() and strlen().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 75f13596452692fb7375ee558e9fb37cd649e603
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 5 12:17:38 2013 +0100
configure: Fix comment (copy+paste bug)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e973bb2e17f929f47376a3872f7ccdff25a51ab
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Jan 8 19:52:20 2013 +0100
Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too
The WARNING message from commit f7e4dd6c made me notice.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94dec5948aeb240c7e324ce9ecffeb3e066c1b69
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 08:53:13 2013 +0100
pc: rename machine types
Starting with release 1.4 we have a fully functional q35 machine type,
i.e. "qemu -M q35" JustWorks[tm]. Update machine type names to reflect
that:
* pc-1.4 becomes pc-i440fx-1.4
* q35-next becomes pc-q35-1.4
The pc-1.3 (+older) names are maintained for compatibility reasons.
For the same reason the "pc" and "q35" aliases are kept. pc-piix-1.4
continues to be the default machine type, again for compatibility
reasons.
Also updated the description (shown by "qemu -M ?") with host bridge
name, south bridge name and chipset release year.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d9f7b51cc62ec23ac72e3338165a2f3007631a2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 09:38:19 2013 +0100
q35: document chipset devices
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8b07eaa110df41b027ee62cbf3549cc3e48ec147
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 8 09:25:16 2013 +0100
q35: add ich9 intel hda controller
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 47a150a4bbb06e45ef439a8222e9f46a7c4cca3f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:49:08 2013 +0100
virtio-scsi: abort in-flight I/O when the device is reset
When the device is reset, the SCSI bus should also be reset so
that in-flight I/O is cancelled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d0508c3664290baad379f6513c92cae6e5aac95b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 10 15:49:07 2013 +0100
qdev: add qbus_reset_all
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c43a6f05d5ef3c9484bd2be9d4e818d58e62016
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 10 16:19:07 2013 +0100
Make all static TypeInfos const
Since 39bffca2030950ef6efe57c2fac8327a45ae1015 (qdev: register all
types natively through QEMU Object Model), TypeInfo as used in
the common, non-iterative pattern is no longer amended with information
and should therefore be const.
Fix the documented QOM examples:
sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
Since frequently the wrong examples are being copied by contributors of
new devices, fix all types in the tree:
sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
This also avoids to piggy-back these changes onto real functional
changes or other refactorings.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 63e3555e80c31776285accbb4d0c14ae91c457dc
Merge: 52a71bf... a6308bc...
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 10 21:52:28 2013 +0100
Merge branch 'master' of git://git.qemu.org/qemu into prep-up
Conflicts:
hw/Makefile.objs
hw/ppc_prep.c
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit a6308bc2224db238e72c570482717b68246a7ce0
Merge: 8757c09... 067f069...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 10 13:26:31 2013 -0600
Merge remote-tracking branch 'kraxel/build.1' into staging
* kraxel/build.1:
m48t59-test: don't touch watchdog
rtc-test: skip year-2038 overflow check in case time_t is 32bit only
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8757c09f15dcd455f81b4faed73da0d35d7e6b53
Merge: 5e3bc73... 8fc94e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 10 13:26:12 2013 -0600
Merge remote-tracking branch 'awilliam/tags/qemu-1.4-vfio-20130109.0'
into staging
vfio-pci: Fixes for qemu 1.4 & stable
* awilliam/tags/qemu-1.4-vfio-20130109.0:
vfio-pci: Loosen sanity checks to allow future features
vfio-pci: Make host MSI-X enable track guest
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 517823449ebe8e3758b86c441cc74968b68e6491
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 10 14:10:22 2013 +0100
monitor: assert monitor_puts()'s loop invariant
Chiefly to hush up Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 067f0691277325dcce8401534d2ffc6164305021
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 17:12:18 2013 +0100
m48t59-test: don't touch watchdog
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4e45deedf57c6cc7113b588282d0c16f89298aff
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 4 10:37:50 2013 +0100
rtc-test: skip year-2038 overflow check in case time_t is 32bit only
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6ad53bdf5830bfc30221aee8d4ced9a9eaf8fe03
Author: Wen Congyang <wency@xxxxxxxxxxxxxx>
Date: Sat Dec 22 15:13:54 2012 +0800
target-i386: fix bits 39:32 of the final physical address when using 4M
page
((pde & 0x1fe000) << 19) is the bits 39:32 of the final physical address,
and
we shouldn't use unit32_t to calculate it. Convert the type to hwaddr to
fix
this problem.
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Tue Jan 8 16:30:56 2013 +0100
Check return values from g_poll and select
The current implementation of os_host_main_loop_wait() on Windows,
returns 1 only when a g_poll() event occurs because the return value of
select() is overridden. This is wrong as we may skip a socket event, as
shown in this example:
1. select() returns 0
2. g_poll() returns 1 (socket event occurs)
3. os_host_main_loop_wait() returns 1
4. qemu_iohandler_poll() sees no socket event because select() has
return before the event occurs
5. select() returns 1
6. g_poll() returns 0 (g_poll overrides select's return value)
7. os_host_main_loop_wait() returns 0
8. qemu_iohandler_poll() doesn't check for socket events because the
return value of os_host_main_loop_wait() is zero.
9. goto 5
This patch use one variable for each of these return values, so we don't
miss a select() event anymore.
Also move the call to select() after g_poll(), this will improve latency
as we don't have to go through two os_host_main_loop_wait() calls to
detect a socket event.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7cd5da7eef152a533c5774effd2e7bbfa5976c86
Merge: 4b274b1... 96610da...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 9 09:55:51 2013 -0600
Merge remote-tracking branch 'mdroth/qga-pull-1-8-2013' into staging
* mdroth/qga-pull-1-8-2013:
qemu-ga: sample fsfreeze hooks
qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw
qemu-ga: guest_suspend(): improve error reporting
qemu-ga: bios_supports_mode(): improve error reporting
qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() +
error_set()
qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set()
qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set()
qemu-ga: build_fs_mount_list(): take an Error argument
qemu-ga: qmp_guest_shutdown(): improve error reporting
qemu-ga: qmp_guest_file_*: improve error reporting
qemu-ga: qmp_guest_file_close(): fix fclose() error check
qemu-ga: guest_file_handle_find(): take an Error argument
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit feb9a2ab4b0260d8d680a7ffd25063dafc7ec628
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Sun Jan 6 21:30:31 2013 -0700
pci-assign: Enable MSIX on device to match guest
When a guest enables MSIX on a device we evaluate the MSIX vector
table, typically find no unmasked vectors and don't switch the device
to MSIX mode. This generally works fine and the device will be
switched once the guest enables and therefore unmasks a vector.
Unfortunately some drivers enable MSIX, then use interfaces to send
commands between VF & PF or PF & firmware that act based on the host
state of the device. These therefore may break when MSIX is managed
lazily. This change re-enables the previous test used to enable MSIX
(see qemu-kvm a6b402c9), which basically guesses whether a vector
will be used based on the data field of the vector table.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c03a2542fbe1a275fe3dd7ebd48a6a283b249ed
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:38 2012 +0100
pci: use constants for devices under the 1B36 device ID, document them
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 96610da210697a1f33669d8bec0cb7b944d3a516
Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Date: Wed Dec 12 12:55:57 2012 +0900
qemu-ga: sample fsfreeze hooks
Adds sample hook scripts for --fsfreeze-hook option of qemu-ga.
- fsfreeze-hook : execute scripts in fsfreeze-hook.d/
- fsfreeze-hook.d/mysql-flush.sh.sample : quiesce MySQL before snapshot
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ec0f694c11e8e0958d727e40e0759ab99e5908d6
Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Date: Wed Dec 12 12:55:55 2012 +0900
qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw
To use the online disk snapshot for online-backup, application-level
consistency of the snapshot image is required. However, currently the
guest agent can provide only filesystem-level consistency, and the
snapshot may contain dirty data, for example, incomplete transactions.
This patch provides the opportunity to quiesce applications before
snapshot is taken.
If --fsfreeze-hook option is specified, the hook is executed with
"freeze" argument before the filesystem is frozen by fsfreeze-freeze
command. As for fsfreeze-thaw command, the hook is executed with "thaw"
argument after the filesystem is thawed.
This patch depends on patchset to improve error reporting by Luiz
Capitulino:
http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03016.html
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
*clarified usage in help output
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 7b3760879bf323a0d9654a5158d5b3ed51882505
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:04 2012 -0200
qemu-ga: guest_suspend(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR today.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6b26e837a40a7bed14080fb9029ad6c22409f8b3
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:03 2012 -0200
qemu-ga: bios_supports_mode(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR today.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 878a0ae0ab3eb8428626e67995c9efad8eb1ba80
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:02 2012 -0200
qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() +
error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 071673b09021b60eab268653c6bcfba92eea7603
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:01 2012 -0200
qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 617fbbc13219d26dd71d100d83d617ec8acf5e2d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:02:00 2012 -0200
qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set()
Convert them to error_setg_errno().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 261551d1cc3a830e9623971dffa8033b216f1d63
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Nov 29 15:29:11 2012 -0200
qemu-ga: build_fs_mount_list(): take an Error argument
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d220a6dfea10655efe70d37748a3c23cf0a00647
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:58 2012 -0200
qemu-ga: qmp_guest_shutdown(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR. Also, adds ga_wait_child() as
a future commit will use it too.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit db3edb665549979b44e0376ab9e859f58b89b503
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:57 2012 -0200
qemu-ga: qmp_guest_file_*: improve error reporting
Use error_setg_errno() when possible with an improved error description.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 3ac4b7c51e3ba181a86983ba2601a595ed8f3b1d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:56 2012 -0200
qemu-ga: qmp_guest_file_close(): fix fclose() error check
fclose() returns EOF on error.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit a9de6d01df3153b2ac0cade11e26a66d596d7166
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 27 11:01:55 2012 -0200
qemu-ga: guest_file_handle_find(): take an Error argument
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*Fixed missing space character in error message
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce
Merge: 560c30b... ebe8b9c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 15:15:57 2013 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Explicitly set vendor for each built-in cpudef
target-i386: Sanitize AMD's ext2_features at realize time
target-i386: Filter out unsupported features at realize time
qemu-common.h: Make qemu_init_vcpu() stub static inline
target-i386: check/enforce: Eliminate check_feat field
target-i386: check/enforce: Check SVM flag support as well
target-i386: check/enforce: Check all CPUID.80000001H.EDX bits
target-i386: check/enforce: Do not ignore "hypervisor" flag
target-i386: check/enforce: Fix CPUID leaf numbers on error messages
target-i386: kvm: Enable all supported KVM features for -cpu host
target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features
cpu: Change parent type to Device
qdev: Don't assume existence of parent bus on unparenting
qdev: Include qdev code into *-user, too
libqemustub: sysbus_get_default() stub
libqemustub: vmstate register/unregister stubs
libqemustub: Add qemu_[un]register_reset() stubs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8fc94e5a8046e349e07976f9bcaffbcd5833f3a2
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Jan 8 14:10:03 2013 -0700
vfio-pci: Loosen sanity checks to allow future features
VFIO_PCI_NUM_REGIONS and VFIO_PCI_NUM_IRQS should never have been
used in this manner as it locks a specific kernel implementation.
Future features may introduce new regions or interrupt entries
(VGA may add legacy ranges, AER might add an IRQ for error
signalling). Fix this before it gets us into trouble.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit b0223e29afdc88cc262a764026296414396cd129
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Jan 8 14:09:03 2013 -0700
vfio-pci: Make host MSI-X enable track guest
Guests typically enable MSI-X with all of the vectors in the MSI-X
vector table masked. Only when the vector is enabled does the vector
get unmasked, resulting in a vector_use callback. These two points,
enable and unmask, correspond to pci_enable_msix() and request_irq()
for Linux guests. Some drivers rely on VF/PF or PF/fw communication
channels that expect the physical state of the device to match the
guest visible state of the device. They don't appreciate lazily
enabling MSI-X on the physical device.
To solve this, enable MSI-X with a single vector when the MSI-X
capability is enabled and immediate disable the vector. This leaves
the physical device in exactly the same state between host and guest.
Furthermore, the brief gap where we enable vector 0, it fires into
userspace, not KVM, so the guest doesn't get spurious interrupts.
Ideally we could call VFIO_DEVICE_SET_IRQS with the right parameters
to enable MSI-X with zero vectors, but this will currently return an
error as the Linux MSI-X interfaces do not allow it.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit ebe8b9c6eb6e425d44805288b6b5dabd69368f46
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:18 2012 +0100
target-i386: Explicitly set vendor for each built-in cpudef
Since cpudef config is not supported anymore and all remaining sources
now always set x86_def_t.vendor[123] fields, remove setting default
vendor to simplify future re-factoring.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9b15cd9e7a1ab0827f4d01c4be77eb41f195073f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:17 2012 +0100
target-i386: Sanitize AMD's ext2_features at realize time
When CPU properties are implemented, ext2_features may change
between object_new(CPU) and cpu_realize_fn(). Sanitizing
ext2_features for AMD based CPU at realize() time will keep
current behavior after CPU features are converted to properties.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4586f157757acc5c8edcc954289c7aa51661235c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 28 21:01:16 2012 +0100
target-i386: Filter out unsupported features at realize time
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 75a192aa68e7801ab8465b3345ac74d6d3cdceca
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 5 14:44:08 2013 +0100
qemu-common.h: Make qemu_init_vcpu() stub static inline
Turn the *-user macro into a no-op inline function to avoid
unused-variable warnings and band-aiding #ifdef'ery.
This allows to drop an #ifdef for alpha and avoids more for unicore32
and other upcoming trivial realizefn implementations.
Suggested-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit e8beac00bd26a60e788ab336f38bc12a95b20f0d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:10 2013 -0200
target-i386: check/enforce: Eliminate check_feat field
Now that all entries have check_feat=~0 in
kvm_check_features_against_host(), we can eliminate check_feat entirely
and make the code check all bits.
This patch shouldn't introduce any behavior change, as check_feat is set
to ~0 on all entries.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 396d2cfccdc1a46a8c66d9d9baaa59071a553b1c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:09 2013 -0200
target-i386: check/enforce: Check SVM flag support as well
When nested SVM is supported, the kernel returns the SVM flag on
GET_SUPPORTED_CPUID[1], so we can check the SVM flag safely in
kvm_check_features_against_host().
I don't know why the original code ignored the SVM flag. Maybe it was
because kvm_cpu_fill_host() used the CPUID instruction directly instead
of GET_SUPPORTED_CPUID
[1] Older kernels (before v2.6.37) returned the SVM flag even if nested
SVM was _not_ supported. So the only cases where this patch should
change behavior is when SVM is being requested by the user or the
CPU model, but not supported by the host. And on these cases we
really want QEMU to abort if the "enforce" option is set.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 227146259e8deb14b7b30e7718e61512e0f524a9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:08 2013 -0200
target-i386: check/enforce: Check all CPUID.80000001H.EDX bits
I have no idea why PPRO_FEATURES was being ignored on the check of the
CPUID.80000001H.EDX bits. I believe it was a mistake, and it was
supposed to be ~(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) or just
~CPUID_EXT2_AMD_ALIASES, because some time ago kvm_cpu_fill_host() used
the CPUID instruction directly (instead of
kvm_arch_get_supported_cpuid()).
But now kvm_cpu_fill_host() uses kvm_arch_get_supported_cpuid(), and
kvm_arch_get_supported_cpuid() returns all supported bits for
CPUID.80000001H.EDX, even the AMD aliases (that are explicitly copied
from CPUID.01H.EDX), so we can make the code check/enforce all the
CPUID.80000001H.EDX bits.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 54830ff84df5d1fb182e91bf40e3d7c66c2559a4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:07 2013 -0200
target-i386: check/enforce: Do not ignore "hypervisor" flag
We don't need any hack to ignore CPUID_EXT_HYPERVISOR anymore, because
kvm_arch_get_supported_cpuid() now sets CPUID_EXT_HYPERVISOR properly.
So, this shouldn't introduce any behavior change, but it makes the code
simpler.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8b4beddc6bead9d7c85fe690b62f2621574eb195
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:06 2013 -0200
target-i386: check/enforce: Fix CPUID leaf numbers on error messages
The -cpu check/enforce warnings are printing incorrect information about
the
missing flags. There are no feature flags on CPUID leaves 0 and
0x80000000, but
there were references to 0 and 0x80000000 in the table at
kvm_check_features_against_host().
This changes the model_features_t struct to contain the register number as
well, so the error messages print the correct CPUID leaf+register
information,
instead of wrong CPUID leaf numbers.
This also changes the format of the error messages, so they follow the
"CPUID.<leaf>.<register>.<name> [bit <offset>]" convention used in Intel
documentation. Example output:
$ qemu-system-x86_64 -machine pc-1.0,accel=kvm -cpu
Opteron_G4,+ia64,enforce
warning: host doesn't support requested feature: CPUID.01H:EDX.ia64
[bit 30]
warning: host doesn't support requested feature: CPUID.01H:ECX.xsave
[bit 26]
warning: host doesn't support requested feature: CPUID.01H:ECX.avx
[bit 28]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.misalignsse [bit 7]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.3dnowprefetch [bit 8]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.xop [bit 11]
warning: host doesn't support requested feature:
CPUID.80000001H:ECX.fma4 [bit 16]
Unable to find x86 CPU definition
$
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd004beff8db09b5790b1bb19fad3974e112f007
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:05 2013 -0200
target-i386: kvm: Enable all supported KVM features for -cpu host
When using -cpu host, we don't need to use the kvm_default_features
variable, as the user is explicitly asking QEMU to enable all feature
supported by the host.
This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to
initialize the kvm_features field, so we get all host KVM features
enabled.
This will also allow us to properly check/enforce KVM features inside
kvm_check_features_against_host() later. For example, we will be able to
make this:
$ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce
refuse to start if kvm_pv_eoi is not supported by the host (after we fix
kvm_check_features_against_host() to check KVM flags as well).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fcb93c036053ca8a5cfc02ca72b1b80dd2062423
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Jan 4 20:01:04 2013 -0200
target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features
The existing -cpu host code simply sets every bit inside svm_features
(initializing it to -1), and that makes it impossible to make the
enforce/check options work properly when the user asks for SVM features
explicitly in the command-line.
So, instead of initializing svm_features to -1, use GET_SUPPORTED_CPUID
to fill only the bits that are supported by the host (just like we do
for all other CPUID feature words inside kvm_cpu_fill_host()).
This will keep the existing behavior (as filter_features_for_kvm()
already uses GET_SUPPORTED_CPUID to filter svm_features), but will allow
us to properly check for KVM features inside
kvm_check_features_against_host() later.
For example, we will be able to make this:
$ qemu-system-x86_64 -cpu ...,+pfthreshold,enforce
refuse to start if the SVM "pfthreshold" feature is not supported by the
host (after we fix kvm_check_features_against_host() to check SVM flags
as well).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 961f839570f01d60a0b224248e6e56fc1d675793
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:13 2012 -0200
cpu: Change parent type to Device
This finally makes the CPU class a subclass of the Device class,
allowing us to start using DeviceState properties on CPU subclasses.
It has no_user=1, as creating CPUs using -device doesn't work yet.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d5b24d042072fb4d13e7027f6e52e44390a9896
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jan 4 18:13:00 2013 +0100
qdev: Don't assume existence of parent bus on unparenting
Commit 667d22d1ae59da46b4c1fbd094ca61145f19b8c3 (qdev: move bus removal
to object_unparent) made the assumption that at unparenting time
parent_bus is not NULL. This assumption is unjustified since
object_unparent() may well be called directly after object_initialize(),
without any qdev_set_parent_bus().
This did not cause any issues yet because qdev_[try_]create() does call
qdev_set_parent_bus(), falling back to SysBus if unsupplied.
While at it, ensure that this new function uses the device_ prefix and
make the name more neutral in light of this semantic change.
Reported-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 507066f8a9610c0088df19ce7b3e436f43165ec1
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:12 2012 -0200
qdev: Include qdev code into *-user, too
The code depends on some functions from qemu-option.o, so add
qemu-option.o to universal-obj-y to make sure it's included.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 906709a151344805df4ff493a7d3a81fbce46fbe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:09 2012 -0200
libqemustub: sysbus_get_default() stub
The stub will be used on cases where sysbus.c is not compiled in (e.g.
*-user).
Note that code that uses NULL as the bus with qdev{_try,}_create()
implicitly uses sysbus_get_default() as the bus, and will still require
sysbus.c to be compiled in.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 083a5f8731bb3c7e0eae99dcdb1209027d770aaf
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:08 2012 -0200
libqemustub: vmstate register/unregister stubs
Add vmstate stub functions, so that qdev.o can be used without savevm.o
when vmstate support is not necessary (i.e. by *-user).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 41c6bcd912d1a2461313040566077b86e48eea31
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:07 2012 -0200
libqemustub: Add qemu_[un]register_reset() stubs
This will be useful for code that don't call qemu_devices_reset() (e.g.
*-user). If qemu_devices_reset() is never called, it means we don't need
to keep track of the reset handler list.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8ef62a9b746f2d7078d97c7ee5d1c7a31b42d5d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:37 2012 +0100
ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
Due to disagreement on a name that is generic enough for hw/pci/pci.h,
the symbolic constants are placed in the .c files.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 13744bd0a054bc7a4b1432cc8facd23d41a9806e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:36 2012 +0100
virtio-9p: use symbolic constant, add to pci-ids.txt
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4ea9296c0738e7885e27f463bb6bcbab32b6ef7a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:35 2012 +0100
reorganize pci-ids.txt
Some devices were missing, and we're using two PCI vendor ids.
This patch only adds devices that are already documented in hw/pci/pci.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 28e7a650691fac674b3aa8697353e27f9c165b1b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 13 10:19:34 2012 +0100
docs: move pci-ids.txt to docs/specs/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 560c30b1db1d40fe45c5104185367c4de43399d3
Merge: c3dd94b... 89eb147...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 10:36:20 2013 -0600
Merge remote-tracking branch 'kraxel/usb.75' into staging
* kraxel/usb.75: (32 commits)
uhci: stop using portio lists
usbredir: Add support for buffered bulk input (v2)
exynos4210: Add EHCI support
usb/ehci: Add SysBus EHCI device for Exynos4210
usb/ehci: Move capsbase and opregbase into SysBus EHCI class
usb/ehci: Clean up SysBus and PCI EHCI split
xhci: call set-address with dummy usbpacket
usb-redir: Add debugging to bufpq save / restore
usbredir: Add usbredir_init_endpoints() helper
usbredir: Verify we have 32 bits bulk length cap when redirecting to
xhci
usbredir: Add ep_stopped USBDevice method
usbredir: Add USBEP2I and I2USBEP helper macros
usbredir: Add an usbredir_stop_ep helper function
usb: Add an usb_device_ep_stopped USBDevice method
usb: Fix usb_ep_find_packet_by_id
hid: Change idle handling to use a timer
uhci: Maximize how many frames we catch up when behind
uhci: Limit amount of frames processed in one go
uhci: Add a QH_VALID define
uhci: Fix pending interrupts getting lost on migration
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3dd94b129e222e00a4ed00689e11afdd85c740f
Merge: da1a4ce... 83f58e5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Jan 8 10:36:13 2013 -0600
Merge remote-tracking branch 'stefanha/net' into staging
* stefanha/net:
rtl8139: preserve link state across device reset
e1000: no need auto-negotiation if link was down
net: clean up network at qemu process termination
e1000: Discard oversized packets based on SBP|LPE
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit da1a4cef9e125a866f4ef9a39b342c2913727f70
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Jan 2 05:08:48 2013 +0100
target-mips: Fix helper and tests for dot/cross-dot product instructions
Helper function for dpa_w_ph, dpax_w_ph, dps_w_ph and dpsx_w_ph
incorrectly
defines halfword vector elements as unsigned values. This results in wrong
output which is not triggered in the tests as they also follow this logic.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e320d05a531ed4991a87cfe0a4c280563fb88788
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 19:44:31 2013 +0100
target-mips: Replace macros by inline functions
The macros RESTORE_ROUNDING_MODE and RESTORE_FLUSH_MODE silently used
variable env from their callers. Using inline functions with env passed
as a function argument is more transparent.
This modification was proposed by Peter Maydell.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit e1a4019cf13ddf2441496c2e613faba3a891cddf
Author: Eric Johnson <ericj@xxxxxxxx>
Date: Mon Jan 7 22:26:44 2013 -0800
target-mips: Allow DSP access to be disabled once enabled.
Clear the DSP hflags at the start of compute_hflags. Otherwise access
is not properly disabled once enabled.
Signed-off-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 314992b1a48a5a2a0f2b14195f959ad2c3f5b3ff
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Jan 3 14:17:18 2013 +0100
linux-user: fix mips 32-on-64 prealloc case
MIPS only supports 31 bits of virtual address space for user space, so
let's
make sure we stay within that limit with our preallocated memory block.
This fixes the MIPS user space targets when executed without command line
option.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 89eb147c2cfd2c797d3662aa2f55254441f0595a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 3 12:29:41 2013 +0100
uhci: stop using portio lists
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b2d1fe67d09d2b6c7da647fbcea6ca0148c206d3
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Dec 19 15:08:33 2012 +0100
usbredir: Add support for buffered bulk input (v2)
Buffered bulk mode is intended for bulk *input* endpoints, where the data
is
of a streaming nature (not part of a command-response protocol). These
endpoints' input buffer may overflow if data is not read quickly enough.
So in buffered bulk mode the usb-host takes care of the submitting and
re-submitting of bulk transfers.
Buffered bulk mode is necessary for reliable operation with the bulk in
endpoints of usb to serial convertors. Unfortunatelty buffered bulk input
mode will only work with certain devices, therefor this patch also adds a
usb-id table to enable it for devices which need it, while leaving the
bulk ep handling for other devices unmodified.
Note that the bumping of the required usbredir from 0.5.3 to 0.6 does
not mean that we will now need a newer usbredir release then qemu-1.3,
.pc files reporting 0.5.3 have only ever existed in usbredir builds
directly
from git, so qemu-1.3 needs the 0.6 release too.
Changes in v2:
-Split of quirk handling into quirks.c
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
commit 7682e8580722f951559f372ba3d2b6170fdbe734
Author: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx>
Date: Mon Jan 7 15:38:39 2013 -0500
readline: avoid memcpy() of overlapping regions
memcpy() for overlapping regions is undefined behavior; use memmove()
instead in readline_hist_add().
[Keep tab characters since surrounding code still uses them -- Stefan]
Signed-off-by: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f56a12475ff1b8aa61210d08522c3c8aaf0e2648
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 24 17:37:01 2012 +0200
vhost: backend masking support
Support backend guest notifier masking in vhost-net:
create eventfd at device init, when masked,
make vhost use that as eventfd instead of
sending an interrupt.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 24f4fe345c1b80bab1ee18573914123d8028a9e6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 25 17:41:07 2012 +0200
vhost: set started flag while start is in progress
This makes it possible to use started flag for sanity checking
of callbacks that happen during start/stop.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1830b80ff29dbd9d149f7f3cb565a690b5d5994c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 25 17:38:59 2012 +0200
virtio-net: set/clear vhost_started in reverse order
As vhost started is cleared last thing on stop,
set it first things on start. This makes it
possible to use vhost_started while start is in
progress which is used by follow-up patches.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f1d0f15a6d46bd47e7658e44a004c8898c8cb91e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 24 17:35:27 2012 +0200
virtio: backend virtqueue notifier masking
some backends (notably vhost) can mask events
at their source in a way that is more efficient
than masking through kvm.
Specifically
- masking in kvm uses rcu write side so it has high latency
- in kvm on unmask we always send an interrupt
masking at source does not have these issues.
Add such support in virtio.h and use in virtio-pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 774345f981854b026e24aeb0833311183a8e8067
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:27:54 2012 +0200
virtio-pci: cache msix messages
Some guests mask a vector then unmask without changing it.
Store vectors to avoid kvm system calls in this case.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 078bbb504031dc89616d4b67adcf2ce884cb880b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:47:46 2012 +0200
kvm: add stub for update msi route
Will be used by virtio-pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c93bfa9c9f00104b5c7e837da697f9506cb70c7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Dec 21 00:27:02 2012 +0200
msix: add api to access msix message
Will be used by virtio pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2d620f593d9395abd9aa453f8ae0861a51d674d8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Dec 20 14:28:58 2012 +0200
virtio: don't waste irqfds on control vqs
Pass nvqs to set_guest_notifiers. This makes it possible to
save on irqfds by not allocating one for the control vq
for virtio-net.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61993a67128095946ed5df51c3c20748182d8efc
Author: Samuel Seay <lightningth@xxxxxxxxx>
Date: Fri Jan 4 14:35:48 2013 +0000
PPC: linux-user: Calculate context pointer explicitly
Peter Maydell recommended the change to be more proper. The result was
tested
and shows coming up with the same proper value.
Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx>
[agraf: change subject]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 6 08:31:31 2013 +0000
target-ppc: Error out for -cpu host on unknown PVR
Previously we silently exited, with subclasses we got an opcode warning.
Instead, explicitly tell the user what's wrong.
An indication for this is -cpu ? showing "host" with an all-zero PVR.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2985b86b5c9c068af203bd912309af033112039a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jan 6 08:31:30 2013 +0000
target-ppc: Slim conversion of model definitions to QOM subclasses
Since the model list is highly macrofied, keep ppc_def_t for now and
save a pointer to it in PowerPCCPUClass. This results in a flat list of
subclasses including aliases, to be refined later.
Move cpu_ppc_init() to translate_init.c and drop helper.c.
Long-term the idea is to turn translate_init.c into a standalone cpu.c.
Inline cpu_ppc_usable() into type registration.
Split cpu_ppc_register() in two by code movement into the initfn and
by turning the remaining part into a realizefn.
Move qemu_init_vcpu() call into the new realizefn and adapt
create_ppc_opcodes() to return an Error.
Change ppc_find_by_pvr() -> ppc_cpu_class_by_pvr().
Change ppc_find_by_name() -> ppc_cpu_class_by_name().
Turn -cpu host into its own subclass. This requires to move the
kvm_enabled() check in ppc_cpu_class_by_name() to avoid the class being
found via the normal name lookup in the !kvm_enabled() case.
Turn kvmppc_host_cpu_def() into the class_init and add an initfn that
asserts KVM is in fact enabled.
Implement -cpu ? and the QMP equivalent in terms of subclasses.
This newly exposes -cpu host to the user, ordered last for -cpu ?.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 68c2dd70068fe82a1989d0d5b70a1ab400bde19a
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 4 11:21:04 2013 +0100
PPC: Bring EPR support closer to reality
We already used to support the external proxy facility of FSL MPICs,
but only implemented it halfway correctly.
This patch adds support for
* dynamic enablement of the EPR facility
* interrupt acknowledgement only when the interrupt is delivered
This way the implementation now is closer to real hardware.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1a61a9ae61cdf7b7d24c3eb711fe772c196c235e
Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
Date: Thu Jan 3 12:37:02 2013 +0000
PPC: KVM: set has-idle in guest device tree
On e500mc, the platform doesn't provide a way for the CPU to go idle.
To still not uselessly burn CPU time, expose an idle hypercall to the
guest
if kvm supports it.
Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
[agraf: adjust for current code base, add patch description, fix non-kvm
case]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d4834ff9b72d7b89181e88b1a481564cb750c1b5
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jan 4 10:04:19 2013 +0100
kvm: Update kernel headers
Corresponding kvm.git hash: 18eb54cf4a
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9f1d4b1d6939d39fe570d886f6a651f4764bcbcb
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:40 2013 +0000
openpic: fix CTPR and de-assertion of interrupts
Properly implement level-triggered interrupts by withdrawing an
interrupt from the raised queue if the interrupt source de-asserts.
Also withdraw from the raised queue if the interrupt becomes masked.
When CTPR is written, check whether we need to raise or lower the
interrupt output.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a898a8fc96a071189206218b39b5db99531f5c8b
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:39 2013 +0000
openpic: move IACK to its own function
Besides making the code cleaner, we will need a separate way to access
IACK in order to implement EPR (external proxy) interrupt delivery.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4417c73305f60e46a2370bcaf3635981f5dbc050
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:38 2013 +0000
openpic: IRQ_check: search the queue a word at a time
Search the queue more efficiently by first looking for a non-zero word,
and then using the common bit-searching function to find the bit within
the word. It would be even nicer if bitops_ffsl() could be hooked up
to the compiler intrinsic so that bit-searching instructions could be
used, but that's another matter.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6c5e84c25fc70717c410150b23c765bedf0af52d
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Jan 3 13:25:37 2013 +0000
openpic: fix sense and priority bits
Previously, the sense and priority bits were masked off when writing
to IVPR, and all interrupts were treated as edge-triggered (despite
the existence of code for handling level-triggered interrupts).
Polarity is implemented only as storage. We don't simulate the
bad effects that you'd get on real hardware if you set this incorrectly,
but at least the guest sees the right thing when it reads back the
register.
Sense now controls level/edge on FSL external interrupts (and all
interrupts on non-FSL MPIC). FSL internal interrupts do not have a sense
bit (reads as zero), but are level. FSL timers and IPIs do not have
sense or polarity bits (read as zero), and are edge-triggered. To
accommodate FSL internal interrupts, QEMU's internal notion of whether an
interrupt is level-triggered is separated from the IVPR bit.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 65b9d0d5659687ebb85b1305ac70b3a84df16e5a
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:50 2012 +0000
openpic: add some bounds checking for IRQ numbers
The two checks with abort() guard against potential QEMU-internal
problems, but the EOI check stops the guest from causing updates to queue
position -1 and other havoc if it writes EOI with no interrupt in
service.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: remove hunk in code that didn't get applied yet]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e69a17f65e9f12f33c48b04a789e49d40a8993f5
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:48 2012 +0000
openpic: use standard bitmap operations
Besides the private implementation being redundant, namespace collisions
prevented the use of other things in bitops.h.
Serialization does get a bit more awkward, unfortunately, since the
standard bitmap operations are "unsigned long" rather than "uint32_t",
though in exchange we will get faster queue lookups on 64-bit hosts once
we search a word at a time.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 47f73749c61765f7a898ac88f11995368740da10
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:47 2012 +0000
Revert "openpic: Accelerate pending irq search"
This reverts commit a9bd83f4c65de0058659ede009fa1a241f379edd.
This counting approach is not robust against setting a bit that
was already set, or clearing a bit that was already clear. Perhaps
that is considered a bug, but besides the lack of any documentation
for that restriction, it's a pretty unpleasant way for the problem
to manifest itself.
It could be made more robust by testing the current value of the
bit before changing the count, but a later patch speeds up IRQ_check
in all cases, not just when there's nothing pending. Hopefully that
should be adequate to address performance concerns.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c94378e2c500b6211e95d7457f4a9959955c3d1
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:46 2012 +0000
openpic: always call IRQ_check from IRQ_get_next
Previously the code relied on the queue's "next" field getting
set to -1 sometime between an update to the bitmap, and the next
call to IRQ_get_next. Sometimes this happened after the update.
Sometimes it happened before the check. Sometimes it didn't happen
at all.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 72c1da2ca72af50e6536d0cd9c6db758f66cd7c2
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:45 2012 +0000
openpic/fsl: critical interrupts ignore mask before v4.1
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: make bool :1]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb4384278417297661663c54e01c0f0ffec0a9e3
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:44 2012 +0000
openpic: make ctpr signed
Other priorities are signed, so avoid comparisons between
signed and unsigned.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e22c276de982dd26ebc4424c8d4592cce1baab9
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:43 2012 +0000
openpic: rework critical interrupt support
Critical interrupts on FSL MPIC are not supposed to pay
attention to priority, IACK, EOI, etc. On the currently modeled
version it's not supposed to pay attention to the mask bit either.
Also reorganize to make it easier to implement newer FSL MPIC models,
which encode interrupt level information differently and support
mcheck as well as crit, and to reduce problems for later patches
in this set.
Still missing is the ability to lower the CINT signal to the core,
as IACK/EOI is not used. This will come with general IRQ-source-driven
lowering in the next patch.
New state is added which is not serialized, but instead is recomputed
in openpic_load() by calling the appropriate write_IRQreg function.
This should have the side effect of causing the IRQ outputs to be
raised appropriately on load, which was missing.
The serialization format is altered by swapping ivpr and idr (we'd like
IDR to be restored before we run the IVPR logic), and moving interrupts
to the end (so that other state has been restored by the time we run the
IDR/IVPR logic. Serialization for this driver is not yet in a state
where backwards compatibility is reasonable (assuming it works at all),
and the current serialization format was not built for extensibility.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: fix for current code state]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be7c236fa2e59090d7cd0193ca3f225c331d5f81
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:42 2012 +0000
openpic: make register names correspond better with hw docs
The base openpic specification doesn't provide abbreviated register
names, so it's somewhat understandable that the QEMU code made up
its own, except that most of the names that QEMU used didn't correspond
to the terminology used by any implementation I could find.
In some cases, like PCTP, the phrase "processor current task priority"
could be found in the openpic spec when describing the concept, but
the register itself was labelled "current task priority register"
and every implementation seems to use either CTPR or the full phrase.
In other cases, individual implementations disagree on what to call
the register. The implementations I have documentation for are
Freescale, Raven (MCP750), and IBM. The Raven docs tend to not use
abbreviations at all. The IBM MPIC isn't implemented in QEMU. Thus,
where there's disagreement I chose to use the Freescale abbreviations.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: rebase on current state of the code]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a1bb73849fbd7d992b6ac2cf30c034244fb2299d
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:41 2012 +0000
ppc/booke: fix crit/mcheck/debug exceptions
Book E does not play games with certain bits of xSRR1 being MSR save
bits and others being error status. xSRR1 is the old MSR, period.
This was causing things like MSR[CE] to be lost, even in the saved
version, as soon as you take an exception.
rfci/rfdi/rfmci are fixed to pass the actual xSRR1 register contents,
rather than the register number.
Put FIXME comments on the hack that is "asrr0/1". The whole point of
separate exception levels is so that you can, for example, take a machine
check or debug interrupt without corrupting critical-level operations.
The right xSRR0/1 set needs to be chosen based on CPU type flags.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e99fd8af63a1692a1159cba8fa4943f2589adf97
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:39 2012 +0000
openpic: lower interrupt when reading the MSI register
This will stop things from breaking once it's properly treated as a
level-triggered interrupt. Note that it's the MPIC's MSI cascade
interrupts that are level-triggered; the individual MSIs are
edge-triggered.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4c4f0e4801ac79632d03867c88aafc90b4ce503c
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Dec 21 16:15:38 2012 +0000
openpic: fix debug prints
Fix various format errors when debug prints are enabled. Also
cause error checking to happen even when debug prints are not
enabled, and consistently use 0x for hex output.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
[agraf: adjust for more recent code base, prettify DPRINTF macro]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit beb526b12134a6b6744125deec5a7fe24a8f92e3
Author: Samuel Seay <lightningth@xxxxxxxxx>
Date: Wed Jan 2 10:53:46 2013 +0000
PPC: fix segfault in signal handling code
Removed h2g() macro around the ka->_sa_handler due to the _sa_handler
being a
guest memory address.
Changed the __put_user to put_user as it was attempting to put a value at
the
stack address but the new address is a guest memory address, __put_user is
for host memory addresses.
Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[agraf: change subject line, reformat commit message]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88a78d9093917096feffeba66802be27d0e64ead
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Thu Dec 27 19:16:51 2012 +0000
PPC: Reset qemu timers when guest reset
This patch install the timer reset handler. This will be called when
the guest is reset.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: adjust for QOM'ification]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit af7e9e74c6a62a5bcd911726a9e88d28b61490e0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 20 17:30:58 2012 +0100
openpic: fix coding style issues
This patch fixes the following coding style violations:
- structs have to be typedef and be CamelCase
- if()s are always surrounded by curly braces
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d56af005dc3d6354bd39411e8446b415bbcf86b8
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Tue Dec 18 01:13:58 2012 +0000
powerpc: linux header sync script includes epapr_hcalls.h
epapr_hcalls.h is now referenced by kvm_para.h. so this is needed for
QEMU to get compiled on powerpc.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c3203fa5b2c17a1c446e44c87788fef21b4af5f4
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:02 2012 +0000
openpic: don't crash on a register access without a CPU context
If we access a register via the QEMU memory inspection commands (e.g.
"xp") rather than from guest code, we won't have a CPU context.
Gracefully fail to access the register in that case, rather than
crashing.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a26a7b38331dc14893a66fbe78f34afab153d6b2
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:04 2012 +0000
openpic: s/opp->nb_irqs -1/opp->nb_cpus - 1/
"opp->nb_irqs-1" would have been a minor coding style error,
but putting in one space but not the other makes it look
confusingly like a numeric literal "-1".
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d4046833ba44c5f29e5dcce2dde0a6202225e59
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:03 2012 +0000
openpic: BRR1 is not a CPU-specific register.
It's in the address range that normally contains a magic redirection
to the CPU-specific region of the curretn CPU, but it isn't actually
a per-CPU register. On real hardware BRR1 shows up only at 0x40000,
not at 0x60000 or other non-magic per-CPU areas. Plus, this makes
it possible to read the register on the QEMU command line with "xp".
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0fe04622c11a4f131070196ad5cd97ce94d9c33b
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:01 2012 +0000
openpic: support large vectors on FSL mpic
Previously only the spurious vector was sized appropriately
to the openpic model.
Also, instances of "IPVP_VECTOR(opp->spve)" were replace with
just "opp->spve", as opp->spve is already just a vector and not
an IVPR.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c975330ec4f5674f2899331f914c04ecba6edf26
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:12:00 2012 +0000
openpic: remove pcsr (CPU sensitivity register)
I could not find this register in any spec (FSL, IBM, or OpenPIC)
and the code doesn't do anything with it but initialize, save,
or restore it.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 71c6cacb241689bbf99d54467dc2ae6912ffdab9
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Thu Dec 13 16:11:59 2012 +0000
openpic: symbolicize some magic numbers
Deefine symbolic names for some register bits, and use some that
have already been defined.
Also convert some register values from hex to decimal when it improves
readability.
IPVP_PRIORITY_MASK is corrected from (0x1F << 16) to (0xF << 16), in
conjunction with making wider use of the symbolic name. I looked at
Freescale and IBM MPIC docs and at the base OpenPIC spec, and all three
had priority as 4 bits rather than 5. Plus, the magic nubmer that is
being replaced with symbolic values treated the field as 4 bits wide.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 358d615b6908b4916c74819ffad823cb4a74314e
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Sun Dec 16 04:49:46 2012 +0100
exynos4210: Add EHCI support
Add EHCI USB host controller to exynos4210.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aee7499a59d6778c10b018da41db4a22655ef8a8
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:45 2012 +0100
usb/ehci: Add SysBus EHCI device for Exynos4210
It uses a different capsbase and opregbase than the Xilinx device.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a4343671e183824a3f5db76ad561ce01e6c6e0a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:44 2012 +0100
usb/ehci: Move capsbase and opregbase into SysBus EHCI class
This allows specific derived models to use different values.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5aa3ca9f53cc7a1bf76b7583c46937a73914394a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Dec 16 04:49:43 2012 +0100
usb/ehci: Clean up SysBus and PCI EHCI split
SysBus EHCI was introduced in a hurry before 1.3 Soft Freeze.
To use QOM casts in place of DO_UPCAST() / FROM_SYSBUS(), we need an
identifying type. Introduce generic abstract base types for PCI and
SysBus EHCI to allow multiple types to access the shared fields.
While at it, move the state structs being amended with macros to the
header file so that they can be embedded.
The VMSTATE_PCI_DEVICE() macro does not play nice with the QOM
parent_obj naming convention, so defer that cleanup.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a820b575787ac0b6b274b6a89aa6ef9813b4c782
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 13:10:39 2012 +0100
xhci: call set-address with dummy usbpacket
Due to the way devices are addressed with xhci (done by hardware, not
the guest os) there is no packet when invoking the set-address control
request. Create a dummy packet in that case to avoid null pointer
dereferences.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e97f0aca796fb949f9d34c50603511048a52b39b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:46 2012 +0100
usb-redir: Add debugging to bufpq save / restore
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd019b735ac422bf9a40e1865e3d59f2e128604f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:45 2012 +0100
usbredir: Add usbredir_init_endpoints() helper
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d3aea641a4002e0abe940c65d318ef38eda245df
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:44 2012 +0100
usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci
The xhci-hcd may submit bulk transfers > 65535 bytes even when not using
bulk-in pipeling, so usbredir can only be used in combination with an xhci
hcd if the client has the 32 bits bulk length capability.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d8553dd0475a967042193cdcf4d02c8ce5e73730
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:43 2012 +0100
usbredir: Add ep_stopped USBDevice method
To ensure that interrupt receiving is properly stopped when the guest is
no longer interested in an interrupt endpoint.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7e9638d3eb5c0b4c5920dac72bb2e6885652c029
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:42 2012 +0100
usbredir: Add USBEP2I and I2USBEP helper macros
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8c126f329892ec8941e5bbe6ba411d78cfc66cb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:41 2012 +0100
usbredir: Add an usbredir_stop_ep helper function
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f79738b03ba55a5c9733c6dc2455964a6f8fdac9
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:40 2012 +0100
usb: Add an usb_device_ep_stopped USBDevice method
Some usb devices (host or network redirection) can benefit from knowing
when
the guest stops using an endpoint. Redirection may involve submitting
packets
independently from the guest (in combination with a fifo buffer between
the
redirection code and the guest), to ensure that buffers of the real usb
device
are timely emptied. This is done for example for isoc traffic and for
interrupt
input endpoints. But when the (re)submission of packets is done by the
device
code, then how does it know when to stop this?
For isoc endpoints this is handled by detecting a set interface (change
alt
setting) command, which works well for isoc endpoints. But for interrupt
endpoints currently the redirection code never stops receiving data from
the device, which is less then ideal.
However the controller emulation is aware when a guest looses interest, as
then the qh for the endpoint gets unlinked (ehci, ohci, uhci) or the
endpoint
is explicitly stopped (xhci). This patch adds a new ep_stopped USBDevice
method and modifies the hcd code to call this on queue unlink / ep stop.
This makes it possible for the redirection code to properly stop receiving
interrupt input (*) data when the guest no longer has interest in it.
*) And in the future also buffered bulk input.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6735d433729f80fab80c0a1f70ae131398645613
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:39 2012 +0100
usb: Fix usb_ep_find_packet_by_id
usb_ep_find_packet_by_id mistakenly only checks the first packet and if
that
is not a match, keeps trying the first packet! This patch fixes this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 027c03f7327faa696e1d876954a18b5214c18583
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:38 2012 +0100
hid: Change idle handling to use a timer
This leads to cleaner code in usb-hid, and removes up to a 1000 calls /
sec to
qemu_get_clock_ns(vm_clock) if idle-time is set to its default value of 0.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9fdf70272702095f57efc51a80c79493fd0829b8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:37 2012 +0100
uhci: Maximize how many frames we catch up when behind
If somehow we've gotten behind a lot, simply skip ahead, like the ehci
code
does.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8f48b6957bf182339495e6be429f7bdc7ef1981
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:36 2012 +0100
uhci: Limit amount of frames processed in one go
Before this patch uhci would process an unlimited amount of frames when
behind on schedule, by setting the timer to a time already past, causing
the
timer subsys to immediately recall the frame_timer function gain.
This would cause invalid cancellations of bulk queues when the catching up
processed more then 32 frames at a moment when the bulk qh was temporarily
unlinked (which the Linux uhci driver does).
This patch fixes this by processing maximum 16 frames in one go, and
always
setting the timer one ms later, making the code behave more like the ehci
code.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 475443cf14d7ef01b9ea56eed8657804f7bdf664
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:35 2012 +0100
uhci: Add a QH_VALID define
Rather then using the magic 32 value in various places.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ecfdc15f4351a17989d446f4f1e6d1931d9c1677
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:34 2012 +0100
uhci: Fix pending interrupts getting lost on migration
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 719c130dcaa3b1269beed71ca9cf6c43a0219b30
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:33 2012 +0100
uhci: Fix 1 ms delay in interrupt reporting to the guest
Re-arrange how we process frames / increase frnum / report pending
interrupts,
to avoid a 1 ms delay in interrupt reporting to the guest. This increases
the packet throughput for cases where the guest submits a single packet,
then waits for its completion then re-submits from 500 pkts / sec to
1000 pkts / sec. This impacts for example the use of redirected / virtual
usb to serial convertors.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a9ef2c042207e4eddbd010ccf2e1c8264d8f0d6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:32 2012 +0100
ehci: Don't call commit_irq after raising PCD
ehci_raise_irq(s, USBSTS_PCD), gets applied immediately so there is no
need
to call commit_irq after it.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 52c15e5986cd0f6531a2989a81a964f77b4ed9c2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:31 2012 +0100
ehci: Further speedup rescanning if async schedule after raising an
interrupt
I tried lowering the time between raising an interrupt and rescanning the
async schedule to see if the guest has queued a new transfer before, but
that did not have any positive effect. I now believe the cause for this is
that lowering this time made it more likely to hit the 1 ms interrupt
threshold penalty for the next packet, as described in my
"ehci: Use uframe precision for interrupt threshold checking" commit.
Now that we do interrupt threshold handling with uframe precision, futher
lowering this time from .5 to .25 ms gives an extra 15% improvement in
speed
(MB/s) reading from a simple USB-2.0 thumb-drive.
While at it also properly set the int_req_by_async flag for short packet
completions.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9359a58b122187964d7465d48165680eadbf69d3
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Dec 18 14:17:02 2012 +0100
ehci: Use uframe precision for interrupt threshold checking (v2)
Before this patch, the following could happen:
1) Transfer completes, raises interrupt
2) .5 ms later we check if the guest has queued up any new transfers
3) We find and execute a new transfer
4) .2 ms later the new transfer completes
5) We re-run our frame_timer to write back the completion, but less then
1 ms has passed since our last run, so frindex is not changed, so the
interrupt threshold code delays the interrupt
6) 1 ms from the re-run our frame-timer runs again and finally delivers
the interrupt
This leads to unnecessary large delays of interrupts, this code fixes this
by changing frindex to uframe precision and using that for interrupt
threshold
control, making the interrupt fire at step 5 for guest which have low
interrupt
threshold settings (like Linux).
Note that the guest still sees the frindex move in steps of 8 for
migration
compatibility.
This boosts Linux read speed of a simple cheap USB thumb drive by 6 %.
Changes in v2:
-Make the guest see frindex move in steps of 8 by modifying
ehci_opreg_read,
rather then using a shadow variable
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bbbc39ccacf66ef58261c155f9eed503947c3023
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:29 2012 +0100
ehci: Verify a queue's ep direction does not change
ehci_fill_queue assumes that there is a one on one relationship between
an ep
and a qh, this patch adds a check to ensure this.
Note I don't expect this to ever trigger, this is just something I noticed
the guest might do while working on other stuff. The only way this check
can
trigger is if a guest mixes in and out qtd-s in a single qh for a non
control ep.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 51e0c5d02951ee5bd653132e46123f6e963ff23f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:28 2012 +0100
ehci: Add an ehci_get_pid helper function
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e3fdfd488c47c2d6920e0964364f1238fb5bf0e2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:27 2012 +0100
ehci: Verify qtd for async completed packets
Remove the short-circuiting of fetchqtd in fetchqh, so that the
qtd gets properly verified before completing the transaction.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2b3de6ada5d180130ba083d5b45ed51ce8e4def2
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:26 2012 +0100
ehci: writeback_async_complete_packet: verify qh and qtd
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 190d849249fd7fecbc75ec38f348197c152f4e87
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:25 2012 +0100
ehci: Move get / put_dwords upwards
No other changes.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d066c57b1c97a1967c949aba643bba35329b32ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:24 2012 +0100
ehci: Verify guest does not change the token of inflight qtd-s
This is not allowed, except for clearing active on cancellation, so don't
warn when the new token does not have its active bit set.
This unifies the cancellation path for modified qtd-s, and prepares
ehci_verify_qtd to be used ad an extra check inside
ehci_writeback_async_complete_packet().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c643263409b42a31fd9b1458cd5158280b9c62e1
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:23 2012 +0100
ehci: Add ehci_verify_qh and ehci_verify_qtd helper functions
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f881c8d36b5c524348bc337b46baf34636079cf6
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Dec 14 14:35:22 2012 +0100
ehci: Add a ehci_writeback_async_complete_packet helper function
Also drop the warning printf, which was there mainly because this was an
untested code path (as the previous bug fixes to it show), but that no
longer is the case now :)
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 83f58e570f21c3e7227e7fbef1fc0e18b5ed7ea9
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Dec 28 17:29:11 2012 +0800
rtl8139: preserve link state across device reset
A device reset does not affect the link state, only set_link does.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Dec 28 17:29:10 2012 +0800
e1000: no need auto-negotiation if link was down
Commit b9d03e352cb6b31a66545763f6a1e20c9abf0c2c added link
auto-negotiation emulation, it would always set link up by
callback function. Problem exists if original link status
was down, link status should not be changed in auto-negotiation.
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f30dbae63a46f23116715dff8d130c7d01ff02be
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Dec 11 22:20:15 2012 +0800
net: clean up network at qemu process termination
We don't clean up network if fails to parse "-device" parameters without
calling net_cleanup(). I touch a problem, the tap device which is
created by qemu-ifup script could not be removed by qemu-ifdown script.
Some similar problems also exist in vl.c
In this patch, if network initialization successes, a cleanup function
will be registered to be called at qemu process termination.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c0331f4f7d241995452b99afaf0aab00493334a
Author: Michael Contreras <michael@xxxxxxxxxxx>
Date: Wed Dec 5 13:31:30 2012 -0500
e1000: Discard oversized packets based on SBP|LPE
Discard packets longer than 16384 when !SBP to match the hardware
behavior.
Signed-off-by: Michael Contreras <michael@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e4a424b305e29dc0e454f52df3b35577f342975
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Jan 6 18:30:17 2013 +0000
Revert "virtio-pci: replace byte swap hack"
This reverts commit 9807caccd605d09a72495637959568d690e10175.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 9807caccd605d09a72495637959568d690e10175
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Apr 14 20:39:14 2012 +0000
virtio-pci: replace byte swap hack
Remove byte swaps by declaring the config space
as native endian.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1d728c394652d40a9065668606d62f28bc544949
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Tue May 1 18:45:39 2012 +0000
tests: add gcov support
Add support for compiling for GCOV test coverage, enabled
with '--enable-gcov' during configure.
Test coverage will be reported after each test.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Dec 5 09:23:25 2012 -0600
target-s390: Claim maintainership
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 26cc0a3fd11d537bdd2649b5f3c385ad858b1857
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:32:25 2012 -0800
target-s390: Use noreturn for exception and load_psw
Both always exit the cpu loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 893e1660d5b9be0900bb1f09e574b1856eb30783
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:31:29 2012 -0800
target-s390: Use TCG_CALL_NO_WG for misc helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c20fec4055f06de6d96789d1a290f284fac48fc4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:25:57 2012 -0800
target-s390: Use TCG_CALL_NO_WG for integer helpers
The division routines do not read or write tcg registers,
but can raise fixed-point divide exceptions.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c482ea94eaf26761e5cc0e53259cf1a98db29622
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:21:54 2012 -0800
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
None of them read or write tcg registers, but most can
raise fp exceptions.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d918a65c690c321f56e7ce4b5a9e1f2fbe32bb1b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 15 10:20:43 2012 -0800
target-s390: Use TCG_CALL_NO_WG for memory helpers
Those that do not read or write tcg registers, but can
raise exceptions via memory faults.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b7886de3f36111b71ee0664a0b992f6c5b55de7d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 17:09:35 2012 -0700
target-s390: Perform COMPARE AND SWAP inline
Still no proper solution for CONFIG_USER_ONLY, but the system
version is significantly better.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bacf43c62e54ee21494c4bf0c39d96d2bcc0e260
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 21 06:57:09 2012 -0700
target-s390: Optimize get_address
Don't load the displacement into a register first, add it second
so that tcg_gen_addi_i64 can eliminate zeros. Don't mask the
displacement first so that we don't turn small negative numbers
into large positive numbers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c95ec459c6c39b7a7e1850f82abd95eca4ccfcce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 09:51:40 2012 -0700
target-s390: Optimize ADDC/SUBB
Giving the proper mask to disas_jcc allows us to generate an inline
comparison generating the carry/borrow with setcond.
In the very worst case, when we must use the external helper to compute
a value for CC, we generate (cc > 1) instead of (cc >> 1), which is only
very slightly slower on common cpus.
In the very best case, when the CC comes from a COMPARE insn and the
compiler is using ALCG with zero, everything folds out to become just
the setcond that the compiler wanted.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a359b770c60bf3085c244bc9d5a5fd8fcf286bce
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 09:41:33 2012 -0700
target-s390: Optimize ADDU/SUBU CC testing
We can easily generate some masks for logical add/subtract inline.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit de379661d5c7cc1d219000d0741f5d96ced56553
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 20 07:55:51 2012 -0700
target-s390: Tidy comparisons
After full conversion, we can audit the uses of LTGT cc ops
and see that none of the instructions can ever set CC=3.
Thus we can extend the table to treat that bit as ignored.
This fixes a regression wrt the pre-conversion translation
in which NE was used for both m=6 and m=7.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f24c49c24a4979fe50eff7afe18f371f5809177d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 13:50:07 2012 -0700
target-s390: Optmize emitting discards
While they aren't expensive, they aren't free to process. When we
know that the three cc helper variables are dead, don't kill them.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d074ac6d266129f8f4e2aac5b0e6c39c22964d9a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 13:48:46 2012 -0700
target-s390: Optimize XC
Notice XC with same address and convert that to store of zero.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 90b4f8ad7226960d3a21bd8fca894ce1e6b5e4cf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 12 16:52:31 2012 -0700
target-s390: Fix cpu_clone_regs
R2 is the syscall return register, not R0.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 411edc22cbab9a44f6d6c6cdef8637ba1f313e37
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 10 17:23:13 2012 -0700
target-s390: Implement LOAD/SET FP AND SIGNAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a12000b9ece917f62d6405e7ee83c8abb6ad7afa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 10 16:26:35 2012 -0700
target-s390: Implement SET ROUNDING MODE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d2d9feac6fa9f6fd40e8f251bcfdd9a9a0f421f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 9 16:04:17 2012 -0700
target-s390: Use uint64_to_float128
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d1f63013539bccc877899116cccf106d318b04a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 9 14:31:43 2012 -0700
target-s390: Implement LCDFR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 49f7ee802fa6695af61dc1e88638f426d47a22a5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 7 16:16:57 2012 -0700
target-s390: Check insn operand specifications
Removes all the fixmes for even register numbers, etc.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2db014b5a73f295f6edbdc2c8400a94ccfc90624
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 14:13:52 2012 -0700
target-s390: Implement CPSDR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 99b4f24b3e636ab241b53bc16bf8f0a0ac4a2271
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 11:14:04 2012 -0700
target-s390: Implement POPCNT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2112bf1bfb696def31b211425e5e74e89f9574c3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 11:08:17 2012 -0700
target-s390: Implement CONVERT FROM LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ac1b45f9b3cb788255c0fde7637ba663eba632c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 10:42:54 2012 -0700
target-s390: Implement CONVERT TO LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b92fa33486b240404923308b483a3318eb804c4a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 09:45:20 2012 -0700
target-s390: Implement STORE ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 632086da28e1682c0129276656ee0d32274fcd17
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:55:00 2012 -0700
target-s390: Implement LOAD ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1c2687518235aa38dd3dd270fc216e559d0509eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:32:54 2012 -0700
target-s390: Implement COMPARE AND TRAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 403e217f4073b885b7e02a1b64054ceca7202bf6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:54:00 2012 -0700
target-s390: Implement COMPARE RELATIVE LONG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e0def9094ef1997613e488768405bcfb589f0596
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 14:10:05 2012 -0700
target-s390: Implement PREFETCH
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d6c6372e186e7f17fe9eeec0c50a43b484669d71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 13:54:13 2012 -0700
target-s390: Implement R[NOX]SBG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 143cbbc5ebc4a5b5beb82dc31ecc5ac5f6d511d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:52:08 2012 -0700
target-s390: Implement LDGR, LGDR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2d6a869833d99d89fc4bbe42bdb35b2c1d808067
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 12:50:06 2012 -0700
target-s390: Implement RISBG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5550359f07b54d6fb6f38ee5dcbc198cff42bf51
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 10:53:49 2012 -0700
target-s390: Implement COMPARE AND BRANCH
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7a6c7067f034c5b887cda5e45ef660fe50ebbd1b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:28:17 2012 -0700
target-s390: Tidy s->op_cc handling
There's no need to force computation of the true cc_op when taking an
exception or single stepping. In either case we'll enter the next TB
with s->cc_op = DYNAMIC and recompute anyway. Just make sure that
s->cc_op is stored back to env->cc_op as needed.
Delete some dead functions, avoid allocating unused TCG temps, drop
the old s->is_jmp setting.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2cf5e350c4f7ec08aab5d70193310c721b8179e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 29 12:57:55 2012 -0700
target-s390: Implement BRANCH ON INDEX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4f3adfb2a63416c434fdafdfa406604f2a18392b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:33:58 2012 -0700
target-s390: Delete dead code from old translator
The use of inline restricts detection of static functions that are
no longer used. Limit the use of inline to those functions that
are conditionally used based on CONFIG_USER_ONLY.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc458df91d00986885fe12ed25876aa6d0604cee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:12:40 2012 -0700
target-s390: Convert SERVC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7ab938d706b515cfe4680a823525693124e2047d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 11:04:48 2012 -0700
target-s390: Convert LPSWE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fc778b55a5ae45abac2a94d591e7490622917872
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:58:59 2012 -0700
target-s390: Convert STFL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d14b3e09b21a297fddc62c0c7839156022079d05
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:43:38 2012 -0700
target-s390: Convert STSI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 14244b21a041161185bb53c3eb29e3d8dc7bfe6e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:17:16 2012 -0700
target-s390: Convert SACF
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39a5003c89191a46ec6af722ade3dfdf457e9f58
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 10:11:36 2012 -0700
target-s390: Convert STCKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3d596f491250d66fffabbc60d0621ea72859e96c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:57:18 2012 -0700
target-s390: Convert CSP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 204504e2fa0ec0f11c806ad335edf6bd1f499e34
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:45:38 2012 -0700
target-s390: Convert STURA
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2c423fc070b3e260fc368e2573c76d7ddd52e165
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:36:20 2012 -0700
target-s390: Convert subchannel instructions
While we're at it, list all of the chapter 14 subchannel insns.
Which is easy since all merely need indicate non-operation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5cc69c54f606005ea0432d83dafbec0f5b0e831a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:22:13 2012 -0700
target-s390: Convert RRBE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2bbde27f2548cb48f362eada1080e590f5453404
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:18:01 2012 -0700
target-s390: Convert SSKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8026417c7169e7efd1696f3ed15e51306729176a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 09:13:38 2012 -0700
target-s390: Convert ISKE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cfef53e356119bddcba0724c0c26fd5940f231e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:25:28 2012 -0700
target-s390: Convert IPTE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 411fea3d8400af5479690d6e22c6492c15e10a4a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:18:33 2012 -0700
target-s390: Convert STAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e805a0d39e26fc85681db7e1bf58c91a5628eaff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 16:11:32 2012 -0700
target-s390: Convert SPX, STPX
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0568d8aab0b48cb033aad8ecaef5bc0c531ce9ff
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:59:26 2012 -0700
target-s390: Convert PTLB
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 28d555566719dada8e2d028ff611b4fb8a984e0c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:55:34 2012 -0700
target-s390: Convert SPKA
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4f0a863c3b980694e2ccb8fa3252a0eb8ef6a97
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:47:26 2012 -0700
target-s390: Convert SPT, STPT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dd3eb7b54f0dbcf76e3ccfdf8535201049670378
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:36:58 2012 -0700
target-s390: Convert SCKC, STCKC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 434c91a5f4ed7219819678315b5529fbc35435e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:31:07 2012 -0700
target-s390: Convert STCK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 352897995147c4a054679654048f5c128ca32743
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 15:20:49 2012 -0700
target-s390: Convert SCK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 71bd666963ad9fb004d7aa919b7222165e602173
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:21:47 2012 -0700
target-s390: Convert STIDP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4600c994d93fc9af2b045086dd31e613d2f9d7bc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 14:27:42 2012 -0700
target-s390: Convert SRST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aa31bf60312157aefb09f887e2f750c7d59a8bbc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:20:53 2012 -0700
target-s390: Convert CLST, MVST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee6c38d5b10fda25175fa85febde532a12456346
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:19:44 2012 -0700
target-s390: Convert MVPG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d62a4c97f2cab0bd8649e3cd0b7692f989dbb577
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 11:54:04 2012 -0700
target-s390: Convert EAR, SAR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 374724f91ab236b4f60ec4796f1601720486d06b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 11:38:12 2012 -0700
target-s390: Convert CKSM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e2704e74d317ba077b680c2fc881724686fb24a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:18:21 2012 -0700
target-s390: Convert IPM
Note that the previous placement of the PM field was incorrect.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8379bfdbca195af9df1e6ecf67f04402bd80d471
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 07:44:43 2012 -0700
target-s390: Convert LFPC, SFPC
Note that we were failing to set the rounding mode in fpu_status.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 102bf2c63535122cba0d7917ed8cfb8cc1c7b14c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 24 07:39:11 2012 -0700
target-s390: Convert FLOGR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 683bb9a8889cd00e69b05ba78bd5ba27f2e4e958
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 21:08:22 2012 -0700
target-s390: Convert CONVERT FROM FIXED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68c8bd93ccb0ee441d62b5b8b8911cf5c38663f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 15:17:35 2012 -0700
target-s390: Convert CONVERT TO FIXED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 24db8412ec58a63556fb51fb157497342f1b08b8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 10:14:24 2012 -0700
target-s390: Convert LOAD ZERO
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 16d7b2a43b3325882d51677d76a0a3f082844f2b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 14:33:03 2012 -0700
target-s390: Convert FP SQUARE ROOT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5d7fd045cafeac1831c1999cb9e1251b7906c6b2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 15:58:27 2012 -0700
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 31aa97d1ed87853835a2df4ea9db1566f85c57a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:40:09 2012 -0700
target-s390: Convert TEST DATA CLASS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 722bfec331504bf873a5e4ec4f232c4ed116dda2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:30:12 2012 -0700
target-s390: Convert MULTIPLY AND ADD, SUBTRACT
Use the new float*_muladd interface to softfloat.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 83b00736f3d8033861c27b80c9d3fc7c44bbec99
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 12:02:38 2012 -0700
target-s390: Convert FP MULTIPLY
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f08a5c311d3047f2cafe72e3e377674e7f8acdcb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 7 11:41:12 2012 -0700
target-s390: Convert FP DIVIDE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1a800a2dcee541dee4f51aed5110ca9d5811c5e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 11:05:03 2012 -0700
target-s390: Convert FP SUBTRACT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 587626f8da5e2ee15bbf9f636c78991d6c953387
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 10:48:20 2012 -0700
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7691c23b1f7b508f3f5391e8f362579544be6980
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:59:19 2012 -0700
target-s390: Convert LLGT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e025e52aba7063c8137b7812e10d69500efb1fbb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:52:55 2012 -0700
target-s390: Convert STORE REVERSED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d54f58654187f8bafb4523a286a9baf46c531d06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:35:40 2012 -0700
target-s390: Convert LOAD REVERSED
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3e398cf9c2ffdee0c8f61d3bc8966357d0b8e095
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Sep 2 10:12:48 2012 -0700
target-s390: Convert LOAD CONTROL, part 2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 112bf0791d615060ff9235318e13fd4725146ff8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:15:59 2012 -0700
target-s390: Convert TPROT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ae680590667b5a8e4eb667a726b5d16d6553cb9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 15:11:53 2012 -0700
target-s390: Convert STCM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32a44d5882ae82364a8e957a5e21cbeaaacc71a3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:59:22 2012 -0700
target-s390: Convert CLM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f3de39c485027a6b47bffb741f5209aa44052b71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:46:55 2012 -0700
target-s390: Convert COMPARE AND SWAP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 504488b82770e053aa31861fd7ef31afdb874f27
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:17:58 2012 -0700
target-s390: Convert LCTL, STCTL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ea20490fdd9faacf9768363edcda3c76fed703ab
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 14:09:05 2012 -0700
target-s390: Convert EFPC, STFPC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0c2400155bc47dcfb7216f586457940a9f342462
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:52:23 2012 -0700
target-s390: Convert SIGP
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d8fe4a9c284f244679ab251637bff81126d91dfe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:15:10 2012 -0700
target-s390: Convert LRA
Note that truncating the store to r1 based on PSW_MASK_64
is incorrect. We always modify the entire register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 97c3ab61c46c1c0194657b8bead3d499600d8aab
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 13:00:27 2012 -0700
target-s390: Convert MVCP, MVCS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4f7403d52b1c682df15c862f5e7ca0712b66089f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 12:54:07 2012 -0700
target-s390: Convert CLC
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a949039596edf43e5e32dc7cb0cb4e994497e4b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:54:19 2012 -0700
target-s390: Convert NC, XC, OC, TR, UNPK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit af9e5a04ea63b7ebbe7af2bb3553dc0e8a158d12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:43:06 2012 -0700
target-s390: Convert MVC
The code that was in gen_op_mvc was a bit confused wrt what lengths
it wanted to handle. I also disbelieve that the inline memset is
worthwhile.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit eb66e6a96904e50a9d0d1a76aecfe8675f4d8673
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:24:25 2012 -0700
target-s390: Convert CLCLE, MVCLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7df3e93aa953148841bd8a086cb3230f3d01a14c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 09:38:22 2012 -0700
target-s390: Convert LAM, STAM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 145cdb401995707d1261735da7f6be3d4a91d377
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 11:08:40 2012 -0700
target-s390: Convert STNSM, STOSM
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a05d2b6b83544dd0ae915112d7a4565e8a3871f1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 10:57:56 2012 -0700
target-s390: Convert NI, XI, OI
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a04d76a815c7daeb9f27b7503ebddce311958fe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 10:22:28 2012 -0700
target-s390: Convert MOVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 77f8d6c3ed89ee02847709da6508cd4dcc1d2f2d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:49:37 2012 -0700
target-s390: Convert LOAD, STORE MULTIPLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a79ba3398a0aa7fdd544ce28d2950b4eeb3c16a5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:22:23 2012 -0700
target-s390: Convert SHIFT DOUBLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cbe24bfa91d21766f2953c2da92c1e3dd13d8387
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 22 09:15:19 2012 -0700
target-s390: Convert SHIFT, ROTATE SINGLE
Note that we were missing the 32-bit SLA.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 972e35b9665db113c3d4df7d394ee8cbbf7446ee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:41:36 2012 -0700
target-s390: Convert DIAGNOSE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b5ff57115e60589d772efeaa0c061ad6701e340
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:33:36 2012 -0700
target-s390: Convert LOAD PSW
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7d30bb73db3a2fa38a33556430754917d5d70c91
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:12:50 2012 -0700
target-s390: Convert SET SYSTEM MASK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c49daa51a8e19694a611971206e75bd245768e3c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 14:05:11 2012 -0700
target-s390: Convert CONVERT TO DECIMAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00574261e1fcb318fdd4cc1293238fc1f50de341
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 12:26:53 2012 -0700
target-s390: Convert FP STORE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e764e97ca4050f2105b10e158f4fcb2801470be
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 13:48:38 2012 -0700
target-s390: Convert EXECUTE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 58a9e35bcc23d44142a2a58ddf3fae51749f3f01
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 13:13:09 2012 -0700
target-s390: Convert INSERT CHARACTERS UNDER MASK
Change the CC handling to be more like TEST UNDER MASK, with val & mask.
This lets us handle ICMH much more like ICM.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 443aaeb8991022f3eadd2b65e14e805093e2a0e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 12:36:10 2012 -0700
target-s390: Cleanup cc computation helpers
The inline markers hid the fact that {n}abs_32 were unused
because of typos in the main do_calc_cc function. Let the
compiler handle auto-inlining here.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afdc70bea01452367e372db7e2168b71bb3aa9b3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 21 07:12:29 2012 -0700
target-s390: Convert INSERT CHARACTER
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d764a8d12b24c8b97fe3ff2193aec04079e8db20
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 12:24:24 2012 -0700
target-s390: Convert FP LOAD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e1eaada955aab907b53a091b85421de9e8b8dd9c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:46:49 2012 -0700
target-s390: Convert MOVE LONG
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b9836c1acd4ecb286bd1617857cc52df7b75c414
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:41:05 2012 -0700
target-s390: Convert SUPERVISOR CALL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9a39927993a186b039d5be66cc85c0e735a78bc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:28:56 2012 -0700
target-s390: Convert SET ADDRESSING MODE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 00d2dc192fb866d077935f0dd298472d65d87eb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 16:20:58 2012 -0700
target-s390: Convert TEST UNDER MASK
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b4e2bd3563af75ba5b9fe809c8cf79d2d34aecf3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 17:27:40 2012 -0700
target-s390: Send signals for divide
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 891452e5e274967ffb87d10791620154f2cdc303
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 14:02:02 2012 -0700
target-s390: Convert DIVIDE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c61aad6943cd77046e47cdb5beedad9d035d2216
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 14:22:58 2012 -0700
target-s390: Convert BRANCH ON COUNT
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7233f2ed17175eea043faad749143c1fb5ffe0b3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 08:28:02 2012 -0700
target-s390: Convert BRANCH ON CONDITION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8ac33cdb8bfbf319adea60363cf1ba3e5dbf5c4f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 18 11:38:19 2012 -0700
target-s390: Convert BRANCH AND SAVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4e4bb43899c4c97e14b59fbd7cd5cb44eea850a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 18:52:33 2012 -0700
target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
I'm resonably certain that the carry/borrow-out condition for both
helpers was incorrect, failing to take into account the carry-in.
Adding the new CC_OP codes also allows removing the awkward interface
we used for the slb helpers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2b280b97085ae90e804c1b31557a79d1da2789a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 16:00:08 2012 -0700
target-s390: Convert STORE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit facfc8648728b5c5554b3269355a4c13824e664b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 15:01:36 2012 -0700
target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b9bca3e57a4570ce2aff46388fa1edc9da5437a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:38:37 2012 -0700
target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ade9dea429e202eabf87a36a20d1d3bbc34d8910
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:20:33 2012 -0700
target-s390: Convert LOAD LOGICAL IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 11bf2d73d0dba509e14dbfc2189365410a5a2c06
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 11:03:39 2012 -0700
target-s390: Convert LOAD AND TEST
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c698d8768756c66dd0dd55ea884c69c2212d59f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 10:27:29 2012 -0700
target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aedec19d628dacf4f04ee7258ac2c5c9e47b5a7e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 09:57:07 2012 -0700
target-s390: Convert LOAD ADDRESS
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 22c37a08bd0ce680d6b9750c73704a025bc3fc93
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 17 09:45:53 2012 -0700
target-s390: Convert LOAD, LOAD LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7e836d5ebef23022ec53a0dba5d3a1ac0883a03
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 15:20:51 2012 -0700
target-s390: Convert COMPARE, COMPARE LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3bbfbd1f956d82f552a0fe160abf929ec88a78ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 16:28:39 2012 -0700
target-s390: Convert AND, OR, XOR
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1ac5889f48127321a585886524013fcb6e2c91e3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:26:59 2012 -0700
target-s390: Convert 64-bit MULTIPLY LOGICAL
Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part
of a 128-bit value. That said, this will get used when two independent
values need returning (e.g. quotient+remainder) as well.
At the same time, shuffle the elements of CPUS390XState to get this new
space from existing padding in the structure.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d87aaf934f2fa24443bba7db60036b698e04d6a8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:17:59 2012 -0700
target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d1c04a2ba05bec8567a52f28979288e2237dfe9c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 25 15:10:35 2012 -0700
target-s390: Convert MULTIPLY HALFWORD, SINGLE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e272b3ace35ffafe24754986b999bda19f56f373
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 14:42:49 2012 -0700
target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3f4cb56a4351b0710f90d1205f2d6178a8ebc02f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 27 14:46:42 2012 -0700
target-s390: Implement SUBTRACT HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d82287dee9d8bfe2c4cb520e30c76244fcbb705c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 16 14:09:45 2012 -0700
target-s390: Convert ADD HALFWORD
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5a103cd6eb3b407feb4e007cb778a89b1b20c5f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 14 19:31:57 2012 -0700
target-s390: Reorg exception handling
Make the user path more like the system path. Prepare for more kinds
of runtime exceptions. Rename ILC to ILEN to make it clear that we
want to pass around a full instruction length, rather than a "code"
that happens to be stored one bit left in a larger field.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3fde06f5fb67dd9e5373b8105318e74e18eec895
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 13:31:01 2012 -0700
target-s390: Split out disas_jcc
Lots of duplicated code replaced with a couple of tables. We no longer
attempt to manually invert the logic operation: the comments now match
the code. In the fully general test, constant propagate (1 << (3 - cc))
into (8 >> cc).
The new function will be usable by non-branch insns as well.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad044d09de62c10c361003765d5039396c057abe
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 15 17:16:22 2012 -0700
target-s390: Add format based disassassmbly infrastructure
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 51855ecf1a9d5a8388778571b8ab32134e83f378
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 24 12:06:15 2012 -0700
target-s390: Fix PSW_MASK handling
We were treating psw.mask as the 32-bit quantity it is in ESA mode.
In particular, the CC field was at the wrong place.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f22e2ec79c07de03016adefb166cf01745fc852
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:28:43 2012 -0700
target-s390: Tidy unconditional BRCL
Yes, we're about to rewrite all of this, but having this unconditional
jump recompute cc_op is a large source of "false diff errors" when
trying to examine before and after dumps.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9d126faf4279b324d5c4cdf09a3570d4a2041626
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:25:09 2012 -0700
target-s390: Fix BCR
There were are two exit paths for which we forgot to
copy s->cc_op back to the tcg register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afd43fecfe7f6e863884b850f53fac4a75c28d84
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 22 05:22:18 2012 -0700
target-s390: Fix SACF exit
DISAS_EXCP is exit via exception; we wanted DISAS_JUMP.
This matters when we start cleaning up the TB exit paths.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7e68da2a9dd112a1a4ef16e8ef3dc1916529ae6b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 19 09:14:33 2012 -0700
target-s390: Register helpers
Which highlights a lot of cc helpers that no longer exist.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 431253c28f9177a3f4783dc47b952c8fffcf3177
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 5 06:57:35 2012 -0700
target-s390: Use TCG registers for FPR
At the same time, tidy other usages of tcg_gen_deposit_i64.
In some cases we can "type cast" rather than extend, and in
others we can allow tcg_gen_deposit_i64 itself to optimize
the HOST_LONG_BITS==32 case.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 063eb0f3038434ab4cf9ad4bcc19a8789e15d237
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Aug 20 08:15:42 2012 -0700
target-s390: Add missing temp_free in gen_op_calc_cc
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ee77b16630bc86c1a44f9df61b072c7974ba503
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 23 10:44:45 2012 -0700
target-s390: Fix gdbstub
The real gdb protocol doesn't split out pc or cc as real registers.
Those are pseudos that are extracted as needed from the PSW. Don't
modify env->cc_op during read -- that way lies heisenbugs.
Fill in the XXX for the fp registers.
Remove duplicated defines in cpu.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 79be7c7b603f89da209098a03a5459beb09a579b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 1 14:13:12 2012 -0700
target-s390: Fix disassembly of cpsdr
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0fd81617fad2cae099348877099f6cf4c3bbc5bd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 31 12:49:47 2012 -0700
target-s390: Disassemble more z10 and z196 opcodes
Also fix disassembly for COMPARE AND BRANCH. The table must be
sorted by primary opcode, and several were out of place.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 549db5c32bb025501e2eeb23d2e5cc669061eb71
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 5 09:33:43 2013 +0100
hw/i386: Fix broken build for non POSIX hosts
pc-testdev.c cannot be compiled with MinGW (and other non POSIX hosts):
CC i386-softmmu/hw/i386/../pc-testdev.o
qemu/hw/i386/../pc-testdev.c:38:22: warning: sys/mman.h: file not found
qemu/hw/i386/../pc-testdev.c: In function â??test_flush_pageâ??:
qemu/hw/i386/../pc-testdev.c:103: warning: implicit declaration of
function â??mprotectâ??
...
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 1e397eadf1cf54920c45a2fdc204b1ade1b72d38
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 31 10:09:04 2012 -0800
softfloat: Implement uint64_to_float128
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 17ed229379d971ae117245b353324115a62b0014
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 31 10:09:03 2012 -0800
softfloat: Fix uint64_to_float64
The interface to normalizeRoundAndPackFloat64 requires that the
high bit be clear. Perform one shift-right-and-jam if needed.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit a4c7ecd8ca998044bfafa0bdd7ea47270e7ebad6
Merge: 346c1f8... bfb82a2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:25:20 2013 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
spice: drop incorrect vm_change_state_handler() opaque
linux-user/syscall.c: remove forward declarations
hw/mcf5206: Reduce size of lookup table
Remove --sparc_cpu option from the configure list
pseries: Remove unneeded include statement (fixes MinGW builds)
pc_sysfw: Check for qemu_find_file() failure
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 346c1f8b52afca515fecf95d5c215751b73fe9e1
Merge: 72e5b27... 9ee59f3...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:25:07 2013 -0600
Merge remote-tracking branch 'kraxel/testdev.1' into staging
* kraxel/testdev.1:
pc: remove bochs bios debug ports
hw: Add test device for unittests execution
add isa-debug-exit device.
switch debugcon to memory api
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72e5b276b2fcd5ac3c0b235f19ff0dc39ad9f82f
Merge: 25bbf61... 503b19f...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 4 13:24:49 2013 -0600
Merge remote-tracking branch 'kraxel/acpi.2' into staging
* kraxel/acpi.2:
apci: assign memory regions to ich9 lpc device
apci: assign memory regions to piix4 acpi device
acpi: autoload dsdt
configure: also symlink *.aml files
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bfb82a28752d29291adf932c3a9941e8383203af
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 19 14:07:16 2012 +0100
spice: drop incorrect vm_change_state_handler() opaque
The spice_server pointer is a global variable and
vm_change_state_handler() therefore does not use its opaque parameter.
The vm change state handler is added with a pointer to the spice_server
pointer. This is useless and we probably would not want 2 levels of
pointers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Uri Lublin <uril@xxxxxxxxxx>
commit 586b0bef84c202bb2256a35eb71bfd6670262bd7
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Wed Dec 26 00:49:49 2012 +0100
linux-user/syscall.c: remove forward declarations
instead use the correct headers that define these functions.
Requested-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 715857cbbabc8740792b608f9bc4cd9fad6ecb1d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 22 13:59:22 2012 +0100
hw/mcf5206: Reduce size of lookup table
This typically reduces the size from 512 bytes to 128 bytes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c242222c978d2c09411f2560915708c364ca2ce9
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Thu Dec 20 16:41:34 2012 +0800
Remove --sparc_cpu option from the configure list
commit 9b9c37c36439ee0452632253dac7a31897f27f70 always assume sparcv9,
the others are no longer supported. Remove --sparc_cpu option from the
configure list.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e2af7a4dc8d218c5fb5b41dd1d008fa111d0636e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 20 07:50:41 2012 +0100
pseries: Remove unneeded include statement (fixes MinGW builds)
sys/mman.h is not needed (tested on Linux) and unavailable for MinGW,
so remove it.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7b1d0ea950fc760371c9580ba6b34c912369a38
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Dec 5 15:28:05 2012 +0100
pc_sysfw: Check for qemu_find_file() failure
pc_fw_add_pflash_drv() ignores qemu_find_file() failure, and happily
creates a drive without a medium.
When pc_system_flash_init() asks for its size, bdrv_getlength() fails
with -ENOMEDIUM, which isn't checked either. It fails relatively
cleanly only because -ENOMEDIUM isn't a multiple of 4096:
$ qemu-system-x86_64 -S -vnc :0 -bios nonexistant
qemu: PC system firmware (pflash) must be a multiple of 0x1000
[Exit 1 ]
Fix by handling the qemu_find_file() failure.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9ee59f341f9d7a95b3a87b7cac3f74bcdda395fb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:59:55 2012 +0100
pc: remove bochs bios debug ports
Prehistoric leftover, zap it. We poweroff via acpi these days.
And having a port (0x501,0x502) where any random guest write will make
qemu exit -- with no way to turn it off -- is a bad joke anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ee0cc5415e6edc043bd84e855f7d0bf85bd97547
Author: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
Date: Thu Dec 13 12:48:53 2012 -0200
hw: Add test device for unittests execution
Add a test device which supports the kvmctl ioports,
so one can run the KVM unittest suite.
Intended Usage:
qemu-system-x86_64 -nographic \
-device pc-testdev \
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
-kernel /path/to/kvm/unittests/msr.flat
Where msr.flat is one of the KVM unittests, present on a
separate repo,
git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
[ kraxel: more memory api + qom fixes ]
CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bb355b1859dde19fbb4f856c6d0b8f46733142d7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 15:54:59 2012 +0100
add isa-debug-exit device.
When present it makes qemu exit on any write.
Mapped to port 0x501 by default.
Without this patch Anthony doesn't allow me to
remove the bochs bios debug ports because his
test suite uses this.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e8ba1ce92d8cbc4e77efcaf040077d3901098e5f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 12 15:43:35 2012 +0100
switch debugcon to memory api
Also some QOM glue while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 503b19fc5d018f4edc60fb771cf97f47cea71be2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:42:18 2012 +0100
apci: assign memory regions to ich9 lpc device
Get rid of get_system_io() usage.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 56e5b2a1a655b9158c0d274a6f630927c9a5fb4b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 09:40:45 2012 +0100
apci: assign memory regions to piix4 acpi device
Get rid of get_system_io() usage.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 3 10:47:27 2012 +0100
acpi: autoload dsdt
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5acc2ec041b2fd5c9a85d9d12362c08d3b3bf339
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 3 10:45:49 2012 +0100
configure: also symlink *.aml files
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 25bbf61e4bacd1e4fa4115ffcf151051b9d6608e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Jan 3 14:23:03 2013 +0100
pty: unbreak libvirt
Commit 586502189edf9fd0f89a83de96717a2ea826fdb0 breaks libvirt pty
support because it tried to figure the pts name from stderr output.
Fix this by moving the label to the end of the line, this way the
libvirt parser does still recognise the message. libvirt looks
for "char device redirected to ${ptsname}<whitespace>".
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef4929fb3c25e03deca76c7f5d22fba08edf864f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 3 11:56:16 2013 +0100
dataplane: use linux-headers/ for virtio includes
The hw/dataplane/vring.c code includes linux/virtio_ring.h. Ensure that
we use linux-headers/ instead of the system-wide headers, which may be
out-of-date on older distros.
This resolves the following build error on Debian 6:
CC hw/dataplane/vring.o
cc1: warnings being treated as errors
hw/dataplane/vring.c: In function 'vring_enable_notification':
hw/dataplane/vring.c:71: error: implicit declaration of function
'vring_avail_event'
hw/dataplane/vring.c:71: error: nested extern declaration of
'vring_avail_event'
hw/dataplane/vring.c:71: error: lvalue required as left operand of
assignment
Note that we now build dataplane/ for each target instead of only once.
There is no way around this since linux-headers/ is only available for
per-target objects - and it's how virtio, vfio, kvm, and friends are
built.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbd99ae302be8f51b547fb6283c91d0c9859b7d5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 18:33:44 2013 +0100
configure: Write new file "config-all-disas.mak" when running configure
Incremental builds added new lines to that file each time when configure
was run.
Now a new file with a comment line is written.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 503483336039a8b2b182535f87f4820d259fca82
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 1 18:43:56 2013 +0100
tci: Fix broken builds with TCG interpreter
TCI no longer compiled after commit
76cad71136b7eb371cf2a2a4e1621cfe8d9c769a.
The TCI disassembler depends on data structures which are different for
each QEMU target, so it cannot be compiled as a universal-obj today.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74e91370beb3fabda515623b4491a8b7a024304a
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 31 15:30:31 2012 +0400
savevm.c: cleanup system includes
savevm.c suffers from the same problem as some other files.
Some years ago savevm.c was created from vl.c, moving some
code from there into a separate file. At that time, all
includes were just copied from vl.c to savevm.c, without
checking which ones are needed and which are not.
But actually most of that stuff is _not_ needed. More, some
stuff is wrong, for example, *BSD #ifdef'ery around <util.h>
vs <libutil.h> - for one, it fails to build on Debian/kFreebsd.
Just remove all this. Maybe there's a possibility to clean
it up further - like removing <windows.h> (and maybe including
winsock.h for htons etc), and maybe it's possible to remove
some internal #includes too, but I didn't check this.
While at it, remove duplicate #include of qemu/timer.h.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab51b1d568e02c80b1abf9016bda3a86dc1db389
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sun Dec 30 12:48:14 2012 +0400
disallow -daemonize usage of stdio (curses display, -nographic, -serial
stdio etc)
Curses display requires stdin/out to stay on the terminal,
so -daemonize makes no sense in this case. Instead of
leaving display uninitialized like is done since 995ee2bf469de6bb,
explicitly detect this case earlier and error out.
-nographic can actually be used with -daemonize, by redirecting
everything to a null device, but the problem is that according
to documentation and historical behavour, -nographic redirects
guest ports to stdin/out, which, again, makes no sense in case
of -daemonize. Since -nographic is a legacy option, don't bother
fixing this case (to allow -nographic and -daemonize by redirecting
guest ports to null instead of stdin/out in this case), but disallow
it completely instead, to stop garbling host terminal.
If no display display needed and user wants to use -nographic,
the right way to go is to use
-serial null -parallel null -monitor none -display none -vga none
instead of -nographic.
Also prevent the same issue -- it was possible to get garbled
host tty after
-nographic -daemonize
and it is still possible to have it by using
-serial stdio -daemonize
Fix this by disallowing opening stdio chardev when -daemonize
is specified.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 217da7fdeb2a4c99c49f22f9dc64c8df2e3a4387
Merge: 9a8a5ae... d6b1ef8...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 12:19:27 2013 -0600
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
sheepdog: pass oid directly to send_pending_req()
sheepdog: don't update inode when create_and_write fails
block/raw-win32: Fix compiler warnings (wrong format specifiers)
qemu-img: report size overflow error message
cutils: change strtosz_suffix_unit function
virtio-blk: Return UNSUPP for unknown request types
virtio-blk: add x-data-plane=on|off performance feature
dataplane: add virtio-blk data plane code
virtio-blk: restore VirtIOBlkConf->config_wce flag
iov: add qemu_iovec_concat_iov()
test-iov: add iov_discard_front/back() testcases
iov: add iov_discard_front/back() to remove data
dataplane: add Linux AIO request queue
dataplane: add event loop
dataplane: add virtqueue vring code
dataplane: add host memory mapping code
configure: add CONFIG_VIRTIO_BLK_DATA_PLANE
raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9a8a5ae69d3a436e51a7eb2edafe254572f60823
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 30 08:20:13 2012 +0100
tcg: Remove unneeded assertion
Commit 7f6f0ae5b95adfa76e10eabe2c34424a955fd10c added two assertions.
One of these assertions is not needed:
The pointer ts is never NULL because it is initialized with the
address of an array element.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d6b1ef89a1ede41334e4d0fa27e600e0b4d4f209
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Dec 17 14:17:27 2012 +0800
sheepdog: pass oid directly to send_pending_req()
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bd751f2204a03d6fcd47a4b4b12ac534d2ecbea7
Author: Liu Yuan <tailai.ly@xxxxxxxxxx>
Date: Mon Dec 17 14:17:26 2012 +0800
sheepdog: don't update inode when create_and_write fails
For the error case such as SD_RES_NO_SPACE, we shouldn't update the inode
bitmap
to avoid the scenario that the object is allocated but wasn't created at
the
server side. This will result in VM's IO error on the failed object.
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fccedc624c425e3acb1557f9f9b13104427ec5ce
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Dec 17 20:40:01 2012 +0100
block/raw-win32: Fix compiler warnings (wrong format specifiers)
Commit fbcad04d6bfdff937536eb23088a01a280a1a3af added fprintf statements
with wrong format specifiers.
GetLastError() returns a DWORD which is unsigned long, so %lu must be
used.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7944339726b4582b67fd94085c21c33636e8f973
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 17 09:49:23 2012 +0800
qemu-img: report size overflow error message
qemu-img will complain when qcow or qcow2
size overflow for 64 bits, report the right
message in this condition.
$./qemu-img create -f qcow2 /tmp/foo 0x10000000000000000
before change:
qemu-img: Invalid image size specified! You may use k, M, G or T suffixes
for
qemu-img: kilobytes, megabytes, gigabytes and terabytes.
after change:
qemu-img: Image size must be less than 8 EiB!
[Resolved conflict with a9300911 goto removal -- Stefan]
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 37edbf7ea8067262a5c3d8bbe4786139348c8311
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 17 09:49:22 2012 +0800
cutils: change strtosz_suffix_unit function
if value to be translated is larger than INT64_MAX,
this function will not be convenient for caller to
be aware of it, so change a little for this.
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9e72c45033770b81b536ac6091e91807247cc25a
Author: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx>
Date: Thu Dec 13 09:03:43 2012 +0200
virtio-blk: Return UNSUPP for unknown request types
Currently, all unknown requests are treated as VIRTIO_BLK_T_IN
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 392808b49b6aee066d0c1d200e72fc3dc11c9d0f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:45:38 2012 +0100
virtio-blk: add x-data-plane=on|off performance feature
The virtio-blk-data-plane feature is easy to integrate into
hw/virtio-blk.c. The data plane can be started and stopped similar to
vhost-net.
Users can take advantage of the virtio-blk-data-plane feature using the
new -device virtio-blk-pci,x-data-plane=on property.
The x-data-plane name was chosen because at this stage the feature is
experimental and likely to see changes in the future.
If the VM configuration does not support virtio-blk-data-plane an error
message is printed. Although we could fall back to regular virtio-blk,
I prefer the explicit approach since it prompts the user to fix their
configuration if they want the performance benefit of
virtio-blk-data-plane.
Limitations:
* Only format=raw is supported
* Live migration is not supported
* Block jobs, hot unplug, and other operations fail with -EBUSY
* I/O throttling limits are ignored
* Only Linux hosts are supported due to Linux AIO usage
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e72f66a0a20f38d0c7576f6c0aec0ca644976e35
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:39:30 2012 +0100
dataplane: add virtio-blk data plane code
virtio-blk-data-plane is a subset implementation of virtio-blk. It only
handles read, write, and flush requests. It does this using a dedicated
thread that executes an epoll(2)-based event loop and processes I/O
using Linux AIO.
This approach performs very well but can be used for raw image files
only. The number of IOPS achieved has been reported to be several times
higher than the existing virtio-blk implementation.
Eventually it should be possible to unify virtio-blk-data-plane with the
main body of QEMU code once the block layer and hardware emulation is
able to run outside the global mutex.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8a873ba78069ef81c4ef073a0bd703172c8b3312
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Dec 10 13:14:39 2012 +0100
virtio-blk: restore VirtIOBlkConf->config_wce flag
Two slightly different versions of a patch to conditionally set
VIRTIO_BLK_F_CONFIG_WCE through the "config-wce" qdev property have been
applied (ea776abca and eec7f96c2). David Gibson
<david@xxxxxxxxxxxxxxxxxxxxx> noticed that the "config-wce"
property is broken as a result and fixed it recently.
The fix sets the host_features VIRTIO_BLK_F_CONFIG_WCE bit from a qdev
property. Unfortunately, the virtio device then has no chance to test
for the presence of the feature bit during virtio_blk_init().
Therefore, reinstate the VirtIOBlkConf->config_wce flag. Drop the
duplicate qdev property to set the host_features bit. The
VirtIOBlkConf->config_wce flag will be used by virtio-blk-data-plane in
a later patch.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 530c0bbd73e1b658c9266582072847de1fbdff10
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 22 16:06:06 2012 +0100
iov: add qemu_iovec_concat_iov()
The qemu_iovec_concat() function copies a subset of a QEMUIOVector. The
new qemu_iovec_concat_iov() function does the same for a iov/cnt pair.
It is easy to define qemu_iovec_concat() in terms of
qemu_iovec_concat_iov(). The existing code is mostly unchanged, except
for the assertion src->size >= soffset, which cannot be efficiently
checked upfront on a iov/cnt pair. Instead we assert upon hitting the
end of src with an unsatisfied soffset.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8962e44fe438a051aff9f43209363f599be33624
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 21 19:18:26 2012 +0100
test-iov: add iov_discard_front/back() testcases
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d02776350d9c76348988fc9e58a64a4f6b1a9f61
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 21 17:41:10 2012 +0100
iov: add iov_discard_front/back() to remove data
The iov_discard_front/back() functions remove data from the front or
back of the vector. This is useful when peeling off header/footer
structs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e9ec521711ed033476098cfc7f23c992cc606a2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:30:09 2012 +0100
dataplane: add Linux AIO request queue
The IOQueue has a pool of iocb structs and a function to add new
read/write requests. Multiple requests can be added before calling the
submit function to actually tell the host kernel to begin I/O. This
allows callers to batch requests and submit them in one go.
The actual I/O is performed using Linux AIO.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 71973b046120a13df4eaa9143bed5ba8a67abc7f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:23:00 2012 +0100
dataplane: add event loop
Outside the safety of the global mutex we need to poll on file
descriptors. I found epoll(2) is a convenient way to do that, although
other options could replace this module in the future (such as an
AioContext-based loop or glib's GMainLoop).
One important feature of this small event loop implementation is that
the loop can be terminated in a thread-safe way. This allows QEMU to
stop the data plane thread cleanly.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88807f89d945acad54c8365ff7b6ef0f0d0ddd56
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:15:50 2012 +0100
dataplane: add virtqueue vring code
The virtio-blk-data-plane cannot access memory using the usual QEMU
functions since it executes outside the global mutex and the memory APIs
are this time are not thread-safe.
This patch introduces a virtqueue module based on the kernel's vhost
vring code. The trick is that we map guest memory ahead of time and
access it cheaply outside the global mutex.
Once the hardware emulation code can execute outside the global mutex it
will be possible to drop this code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 185ecf40e3589fc2717b0856ee1df05dd63a46dd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 20 10:30:08 2012 +0100
dataplane: add host memory mapping code
The data plane thread needs to map guest physical addresses to host
pointers. Normally this is done with cpu_physical_memory_map() but the
function assumes the global mutex is held. The data plane thread does
not touch the global mutex and therefore needs a thread-safe memory
mapping mechanism.
Hostmem registers a MemoryListener similar to how vhost collects and
pushes memory region information into the kernel. There is a
fine-grained lock on the regions list which is held during lookup and
when installing a new regions list.
When the physical memory map changes the MemoryListener callbacks are
invoked. They build up a new list of memory regions which is finally
installed when the list has been completed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 583f6e7bbd24b31f7eecd5c21ba0a5a5a77f52f1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 15:04:15 2012 +0100
configure: add CONFIG_VIRTIO_BLK_DATA_PLANE
The virtio-blk-data-plane feature only works with Linux AIO. Therefore
add a ./configure option and necessary checks to implement this
dependency.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4065742ac0f3c84abdd8d718b44a88f3ac56015a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 14 11:43:23 2012 +0100
raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane
The raw_get_aio_fd() function allows virtio-blk-data-plane to get the
file descriptor of a raw image file with Linux AIO enabled. This
interface is really a layering violation that can be resolved once the
block layer is able to run outside the global mutex - at that point
virtio-blk-data-plane will switch from custom Linux AIO code to using
the block layer.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 34daffa04886444dafd4a6951167225e824003d0
Merge: 079944e... 0a2a59d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:54 2013 -0600
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
qemu-kvm/pci-assign: 64 bits bar emulation
target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 079944e695589364d19de31f27761c6bdea1c207
Merge: a97ff30... 89d62be...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:36 2013 -0600
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,virtio
This optimizes MSIX handling in virtio-pci.
Also included is pci express capability bugfix.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
* mst/tags/for_anthony:
virtio-pci: don't poll masked vectors
msix: expose access to masked/pending state
msi: add API to get notified about pending bit poll
pcie: Fix bug in pcie_ext_cap_set_next
virtio: make bindings typesafe
commit a97ff30e934c4d673122cf709e8e87f0effbe2f7
Merge: 5928023... 15faf94...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Jan 2 08:01:22 2013 -0600
Merge remote-tracking branch 'kraxel/seabios-a810e4e' into staging
* kraxel/seabios-a810e4e:
Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5928023cef87847a295035487397b9ec701fdd6b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Nov 24 23:03:13 2012 +0100
pflash_cfi01: Suppress warning when Linux probes for AMD flash
There are several ARM and MIPS boards which are manufactured with
either Intel (pflash_cfi01.c) or AMD (pflash_cfi02.c) flash memory.
The Linux kernel supports both and first probes for AMD flash which
resulted in one or two warnings from the Intel flash emulation:
pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000,
wcycle 0x0 cmd 0x0 value 0xf000f0)
pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000,
wcycle 0x0 cmd 0x0 value 0xf0)
These warnings confuse users, so suppress them.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 0f0b93980572726e69e32ff13e2d7fb72b936157
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Tue Dec 11 00:15:55 2012 +0800
target-mips: Use EXCP_SC rather than a magic number
From the discussion on the ML [1], the exception limit defined by
magic number 0x100 is actually EXCP_SC defined in cpu.h. Replace the
magic number with EXCP_SC. Remove "#if 1 .. #endif" as well.
[1] http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03080.html
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit c4aaba92e516ad061dff7ac2ae3c2b2b7058c404
Author: Jovanovic, Petar <petarj@xxxxxxxx>
Date: Tue Dec 11 15:06:35 2012 +0000
target-mips: Make repl_ph to sign extend to target-long
The immediate value is 9bits, should sign-extend to 16bits. The return
value to
register should sign-extend to target_long, as Richard says, removing an
unnecessary cast works fun.
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit fe65a1fad6aa140769ffda31c34a109f7d2df101
Author: Dongxue Zhang <elta.era@xxxxxxxxx>
Date: Tue Dec 11 22:28:28 2012 +0800
Fix my email address
Fix my email address, last time it's wrong.
Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 79eb8392db19a916f6a3277f7cd36fb22c2bdbaf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 22 13:38:19 2012 +0100
target-mips: Remove semicolon from macro definition
Macro RESTORE_FLUSH_MODE is similar to RESTORE_ROUNDING_MODE
but included a semicolon.
The code which uses that macro also includes a semicolon,
so the result was an empty statement.
Remove the superfluous semicolon from the macro definition.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b8abbbe8df5e04085f4b85fc4f7cf85efbcd492c
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Mon Dec 10 16:28:17 2012 +0100
target-mips: Fix for helpers for EXTR_* instructions
The change removes some unnecessary and incorrect code for EXTR_S.H.
Further, it corrects the mask for shift value in the EXTR_ instructions.
It also
extends the existing tests so they trigger the issues corrected with the
change.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit eec8972a5bc744eda695a86a984d746c240dff90
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Thu Dec 6 20:30:35 2012 +0100
target-mips: Fix incorrect reads and writes to DSPControl register
Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used
in
the MIPS32 architecture. They are used in the MIPS64 architecture. For
MIPS32
these bits must be written as zero, and return zero on read.
The change fixes writes (WRDSP) and reads (RDDSP) to the register. It
also fixes
the tests that use these instructions, and makes them smaller and simpler.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit a795ef8dcb8cbadffc996c41ff38927a97645234
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Dec 28 01:00:26 2012 -0500
Fix semaphores fallback code
As reported in bug 1087114 the semaphores fallback code is broken which
results in QEMU crashing and making QEMU unusable.
This patch is from Paolo.
This needs to be back ported to the 1.3 stable tree as well.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 753d99d38b5877440dde2705e30ca60e2ec62965
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 28 14:19:35 2012 -0800
tcg-hppa: Fix typo in brcond2
Reported-by: Stuart Brady <sdb@xxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 76a347e1cd0c2d6959461c89dda15ef5c4140da6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 28 14:17:02 2012 -0800
tcg-i386: Perform cmov detection at runtime for 32-bit.
Existing compile-time detection is spotty at best. Convert
it all to runtime detection instead.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit afcb92beac9e477e5ae5c36bf38830e225e2235f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Dec 7 15:07:17 2012 -0600
tcg: Add TCGV_IS_UNUSED_*
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 927fa909d5d5cf8c07673cd16a6d3bdc81250bc0
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Dec 28 01:38:11 2012 -0500
Disable semaphores fallback code for OpenBSD
Disable the semaphores fallback code for OpenBSD as modern OpenBSD
releases now have sem_timedwait().
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 62054c06d4d1d0d54ef87c2d9154efec00ad170c
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Sun Dec 23 23:25:09 2012 +0200
usb/redirect.c: unbreak compilation due to include/char/char.h
Broken since:
commit 927d4878b0ff319ed87fed9363f314613b0a5ed9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:05 2012 +0100
softmmu: move remaining include files to include/ subdirectories
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4de63460ca1639bfb0e465ecdcf95551564bb3d6
Merge: a2685bc... 501a7ce...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Dec 28 16:08:23 2012 +0000
Merge branch 'qom-cpu' of git://repo.or.cz/qemu/afaerber
* 'qom-cpu' of git://repo.or.cz/qemu/afaerber:
MAINTAINERS: Include X86CPU in CPU maintenance area
cpu: Move kvm_run into CPUState
cpu: Move kvm_state field into CPUState
ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()
ppc4xx_devs: Return PowerPCCPU from ppc4xx_init()
ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks
ppc: Pass PowerPCCPU to [h]decr timer callbacks
ppc: Pass PowerPCCPU to [h]decr callbacks
ppc: Pass PowerPCCPU to ppc_set_irq()
kvm: Pass CPUState to kvm_vcpu_ioctl()
kvm: Pass CPUState to kvm_arch_*
cpu: Move kvm_fd into CPUState
qdev-properties.c: Separate core from the code used only by
qemu-system-*
qdev: Coding style fixes
cpu: Introduce CPUListState struct
target-alpha: Add support for -cpu ?
target-alpha: Turn CPU definitions into subclasses
target-alpha: Avoid leaking the alarm timer over reset
alpha: Pass AlphaCPU array to Typhoon
target-alpha: Let cpu_alpha_init() return AlphaCPU
commit 89d62be9f4fb538db7f919a2be7df2544ffc02c5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 18 14:02:46 2012 +0200
virtio-pci: don't poll masked vectors
At the moment, when irqfd is in use but a vector is masked,
qemu will poll it and handle vector masks in userspace.
Since almost no one ever looks at the pending bits,
it is better to defer this until pending bits
are actually read.
Implement this optimization using the new poll notifier.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 70f8ee395afda6d96b15cb9a5b311af7720dded0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Dec 18 13:54:32 2012 +0200
msix: expose access to masked/pending state
For use by poll handler.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bbef882cc1938fa5a6e1b36a50d79ce5c0cefb81
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 16:10:02 2012 +0200
msi: add API to get notified about pending bit poll
Update all users.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 812d2594d558f7c4f95c99c8fc58adc47ab68eb3
Author: Knut Omang <knut.omang@xxxxxxxxxx>
Date: Tue Dec 18 22:36:29 2012 +0100
pcie: Fix bug in pcie_ext_cap_set_next
Upper 16 bits of the PCIe Extended Capability Header was truncated during
update,
also breaking pcie_add_capability.
Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0a2a59d35cbabf63c91340a1c62038e3e60538c1
Author: Xudong Hao <xudong.hao@xxxxxxxxx>
Date: Thu Dec 20 11:07:23 2012 +0800
qemu-kvm/pci-assign: 64 bits bar emulation
Enable 64 bits bar emulation.
Test pass with the current seabios which already support 64bit pci bars.
Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit a2685bcc80f61aa612e0d8cfd91086857ae2942e
Author: Gleb Natapov <gleb@xxxxxxxxxx>
Date: Wed Dec 19 17:46:15 2012 +0200
MAINTAINERS: Take over kvm maintenance
Replace Avi with myself as kvm maintainer.
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 74880fe27d2120ab3861dc857ecd025db1a67038
Author: Robert Schiele <rschiele@xxxxxxxxx>
Date: Tue Dec 4 16:58:08 2012 +0100
configure: allow disabling pixman if not needed
When we build neither any system emulation targets nor the tools there
is actually no need for pixman library. In that case do not enforce
presence of that library on the system.
Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx>
Signed-off-by: Robert Schiele <rschiele@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2915efbfa8efadaa2806e827ba92b8dba4f7cd52
Author: Alex Horn <alex.horn@xxxxxxxxxxx>
Date: Wed Dec 5 12:34:06 2012 +0000
tmp105: Create API for TMP105 temperature sensor.
* Define enum for TMP105 registers
* Move tmp105_set() from I2C to TMP105 header
* Document units and range of temperature as preconditions
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit eac236ea7bfc1902126be70459e320591078df5c
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Fri Dec 14 20:13:09 2012 +0100
build: Use separate makefile for "trace/"
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
--
Changes in v2:
* Do not depend on "qemu-timer-common.o".
* Use "$(obj)" in rules to refer to the build sub-directory.
* Remove dependencies against "$(GENERATED_HEADERS)".
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6265e4ff327763b6362cba472e2b46f2dcf18762
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Nov 23 12:12:01 2012 +0100
win32: Switch thread abstraction to us TLS variable internally
We already depend on working __thread support for coroutines, so this
complication here is no longer needed.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 57f26ae72983095d0258e391041dfb8864f769e5
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Dec 20 16:43:48 2012 -0200
target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel
This fixes a subtle bug. A bug that probably won't cause trouble for any
existing OS, but a bug anyway:
Intel SDM Volume 2, CPUID Instruction states:
> Two types of information are returned: basic and extended function
> information. If a value entered for CPUID.EAX is higher than the maximum
> input value for basic or extended function for that processor then the
> data for the highest basic information leaf is returned. For example,
> using the Intel Core i7 processor, the following is true:
>
> CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *)
> CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf.
*)
> CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *)
> CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX
= 0BH. *)
> CPUID.EAX = 80000008H (* Returns linear/physical address size data. *)
> CPUID.EAX = 8000000AH (* INVALID: Returns same information as
CPUID.EAX = 0BH. *)
AMD's CPUID Specification, on the other hand, is less specific:
> The CPUID instruction supports two sets or ranges of functions,
> standard and extended.
>
> â?¢ The smallest function number of the standard function range is
> Fn0000_0000. The largest function num- ber of the standard function
> range, for a particular implementation, is returned in CPUID
> Fn0000_0000_EAX.
>
> â?¢ The smallest function number of the extended function range is
> Fn8000_0000. The largest function num- ber of the extended function
> range, for a particular implementation, is returned in CPUID
> Fn8000_0000_EAX.
>
> Functions that are neither standard nor extended are undefined and
> should not be relied upon.
QEMU's behavior matched Intel's specification before, but this was
changed by commit b3baa152aaef1905876670590275c2dd0bbb088c. This patch
restores the behavior documented by Intel when cpuid_xlevel2 is 0.
The existing behavior when cpuid_xlevel2 is set (falling back to
level=cpuid_xlevel) is being kept, as I couldn't find any public
documentation on the CPUID 0xC0000000 function range on Centaur CPUs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 586502189edf9fd0f89a83de96717a2ea826fdb0
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 21 12:26:38 2012 +0800
qemu-char: Inherit ptys and improve output from -serial pty
Changes since V1:
- Avoid crashing since qemu_opts_id() may return null on some
systems according to Markus's suggestion.
When controlling a qemu instance from another program, it's
hard to know which serial port or monitor device is redirected
to which pty. With more than one device using "pty" a lot of
guesswork is involved.
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device redirected to /dev/pts/5
char device redirected to /dev/pts/6
char device redirected to /dev/pts/7
Although we can find out what everything else is connected to
by the "info chardev" with "-monitor stdio" in the command line,
It'd be very useful to be able to have qemu inherit pseudo-tty
file descriptors so they could just be specified on the command
line like:
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device compat_monitor0 redirected to /dev/pts/5
char device serial0 redirected to /dev/pts/6
char device serial1 redirected to /dev/pts/7
Referred link: https://bugs.launchpad.net/qemu/+bug/938552
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 501a7ce7270955be151c442c27620fa7af2f3ce5
Merge: 62e0c09... 36f25d2...
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 23 00:39:34 2012 +0100
Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu
Adapt header include paths.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 36f25d2537c40c6c47f4abee5d31a24863d1adf7
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Thu Dec 20 00:04:09 2012 +0400
target-xtensa: fix search_pc for the last TB opcode
Zero out tcg_ctx.gen_opc_instr_start for instructions representing the
last guest opcode in the TB.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 3f124b687462ce3140d963a024705a89cdc8cee8
Author: Liming Wang <walimisdev@xxxxxxxxx>
Date: Fri Dec 21 16:56:58 2012 +0800
net: add missing include file
To fix building error:
CC net/vde.o
net/vde.c: In function â??vde_cleanupâ??:
net/vde.c:65:5: error: implicit declaration of function
â??qemu_set_fd_handlerâ?? [-Werror=implicit-function-declaration]
net/vde.c:65:5: error: nested extern declaration of
â??qemu_set_fd_handlerâ?? [-Werror=nested-externs]
cc1: all warnings being treated as errors
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0c884d1659f02b4a0c704c2344f42e3fabb1f193
Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
Date: Thu Dec 20 09:39:16 2012 +0800
translate-all.c: Use tb1->phys_hash_next directly in tb_remove
When tb_remove was first commited at fd6ce8f6, there were three
different
calls pass different names to offsetof. In current codebase, the other two
calls are replaced with tb_page_remove. There is no need to have a general
tb_remove. Omit passing the third parameter and using tb1->phys_hash_next
directly.
Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b2136140f68ce05122f611eb9cde4f0365ab6a00
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 20 23:09:53 2012 +0100
net: Add missing include statement (fix compiler warnings for MinGW)
These and some more compiler warnings were caused by a recent commit:
net/tap-win32.c:724: warning: no previous prototype for â??tap_has_ufoâ??
net/tap-win32.c:729: warning: no previous prototype for
â??tap_has_vnet_hdrâ??
...
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4ad549e89e55fb48eb6feb783ee4a9ede1dea52e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 12:29:20 2012 +0100
xen: add missing include
xen-all needs to access CharDeviceState's filename field, so
it needs to include char/char.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ca273d58d8a77d5cc9d42440bcdf9d7cad2054bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 20 12:29:19 2012 +0100
build: fix includes for VNC
vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h.
Hence, GnuTLS header files are needed by all files that include
vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for
simplicity.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bb5801f551ee8591d576d87a9290af297998e322
Merge: 914606d... 9848a40...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 21 07:53:48 2012 -0600
Merge remote-tracking branch 'quintela/thread-20121220.next' into staging
* quintela/thread-20121220.next: (79 commits)
migration: merge QEMUFileBuffered into MigrationState
migration: fix qemu_get_fd for BufferedFile
ram: refactor ram_save_block() return value
ram: account the amount of transferred ram better
ram: optimize migration bitmap walking
ram: Use memory_region_test_and_clear_dirty
memory: introduce memory_region_test_and_clear_dirty
ram: Add last_sent_block
ram: rename last_block to last_seen_block
migration: move migration notifier
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
migration: move migration_fd_put_ready()
migration: add XFER_LIMIT_RATIO
migration: move buffered_file.c code into migration.c
savevm: New save live migration method: pending
buffered_file: unfold buffered_append in buffered_put_buffer
buffered_file: don't flush on put buffer
buffered_file: Unfold the trick to restart generating migration data
migration: just lock migrate_fd_put_ready
migration: remove unfreeze logic
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9848a40427cd76628d04d918fa4751c542527915
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Dec 19 09:55:50 2012 +0100
migration: merge QEMUFileBuffered into MigrationState
Avoid splitting the state of outgoing migration, more or less arbitrarily,
between two data structures. QEMUFileBuffered anyway is used only during
migration.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e659586e63793a8a61efc4a658e2908ac8a2e935
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 8 00:42:50 2012 +0100
migration: fix qemu_get_fd for BufferedFile
Not really used, but nice to have it correct. :)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b823ceaadfaad65f3a034ada394b33ca1bf1a914
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Dec 10 13:27:50 2012 +0100
ram: refactor ram_save_block() return value
It could only return 0 if we only found dirty xbzrle pages that hadn't
changed (i.e. they were written with the same content). We don't care
about that case, it is the same than nothing dirty.
So now the return of the function is how much have it written, nothing
else. Adjust callers.
And we also made ram_save_iterate() return the number of transferred
bytes, not the number of transferred pages.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 3f7d7b098194ec893efa037491f6231687ff043a
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 18 13:56:35 2012 +0200
ram: account the amount of transferred ram better
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4c8ae0f60e63478aea0a1741cca95474b68fb949
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 18 00:00:59 2012 +0200
ram: optimize migration bitmap walking
Instead of testing each page individually, we search what is the next
dirty page with a bitmap operation. We have to reorganize the code to
move from a "for" loop, to a while(dirty) loop.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ece7931817e03a4d946c15716fab5e4f781663c9
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:27:15 2012 +0200
ram: Use memory_region_test_and_clear_dirty
This avoids having to do two walks over the dirty bitmap, once reading
the dirty bits, and anthoer cleaning them.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6c279db8ee99e64e498447c67c16e987150be96b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:24:28 2012 +0200
memory: introduce memory_region_test_and_clear_dirty
This function avoids having to do two calls, one to test the dirty bit,
and
other to reset it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5f718a15d0db3775bbcf2755a35dd6b019bcff8b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:10:55 2012 +0200
ram: Add last_sent_block
This is the last block from where we have sent data.
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b23a9a5cad356cdc8e25d4be72e53096a27ea722
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 17 20:08:04 2012 +0200
ram: rename last_block to last_seen_block
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d3b26f5488e04c01667dd12c9bd7eed54dda258
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 20:04:41 2012 +0200
migration: move migration notifier
At this point, it is waranteed that state is ACTIVE. Old position
didn't assured hat.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2e450865338738300e529457879d81332939f064
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 18:23:03 2012 +0200
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0e288fa369c02df1731dc59ffbf158f5e5f2d80f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 17:23:59 2012 +0200
migration: move migration_fd_put_ready()
Put it near its use and un-export it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5b4e1eb769eee892b44d3f6b2369b05196442f59
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Dec 19 10:40:48 2012 +0100
migration: add XFER_LIMIT_RATIO
The "magic" divisions by 10 are there because of the value of
BUFFER_DELAY.
Introduce a constant to explain them better.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d82d0e8b98cf0ea03a45f8542d835ebd3a84cd3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:18:33 2012 +0200
migration: move buffered_file.c code into migration.c
This only moves the code (also from buffered_file.h to migration.h).
Fix whitespace until checkpatch is happy.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Fri Sep 21 11:18:18 2012 +0200
savevm: New save live migration method: pending
Code just now does (simplified for clarity)
if (qemu_savevm_state_iterate(s->file) == 1) {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
Problem here is that qemu_savevm_state_iterate() returns 1 when it
knows that remaining memory to sent takes less than max downtime.
But this means that we could end spending 2x max_downtime, one
downtime in qemu_savevm_iterate, and the other in
qemu_savevm_state_complete.
Changed code to:
pending_size = qemu_savevm_state_pending(s->file, max_size);
DPRINTF("pending size %lu max %lu\n", pending_size, max_size);
if (pending_size >= max_size) {
ret = qemu_savevm_state_iterate(s->file);
} else {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
So what we do is: at current network speed, we calculate the maximum
number of bytes we can sent: max_size.
Then we ask every save_live section how much they have pending. If
they are less than max_size, we move to complete phase, otherwise we
do an iterate one.
This makes things much simpler, because now individual sections don't
have to caluclate the bandwidth (it was implossible to do right from
there).
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f50b4986b261fc10065289d2a03deba24d824988
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 14:24:08 2012 +0200
buffered_file: unfold buffered_append in buffered_put_buffer
It was the only user, and now buffered_put_buffer just do the append
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c518dd841deb85b3ccf77ff93e1142b27b06af32
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 14:00:13 2012 +0200
buffered_file: don't flush on put buffer
We call buffered_put_buffer with iothread held, and buffered_flush() does
synchronous writes. We only want to do the synchronous writes outside.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 78d1d231f889f7eae3835ddaec4373011792e46f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Jul 24 13:22:18 2012 +0200
buffered_file: Unfold the trick to restart generating migration data
This was needed before due to the way that the callbacks worked.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e76274824defce54a124e5104be3880044c698e1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:31:30 2012 +0200
migration: just lock migrate_fd_put_ready
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 188a428559f0cd0bde884d28b42e449abd744c2f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:24:03 2012 +0200
migration: remove unfreeze logic
Now that we have a thread, and blocking writes, we don't need it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dd217b8732b93d97c22fa70dc15a72d92a2b2380
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 06:15:02 2012 +0200
migration: make writes blocking
Move all the writes to the migration_thread, and make writings
blocking. Notice that are still using the iothread for everything
that we do.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 766bd1769e70835e0cc25f3f057f101619494b59
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 05:45:29 2012 +0200
migration: move migration thread init code to migrate_fd_put_ready
This way everything related with migration is run on the migration
thread and no locking is needed.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit edfa1af52f4c69264c5a0c38da10eb372077fba3
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 02:13:23 2012 +0200
migration: make qemu_fopen_ops_buffered() return void
We want the file assignment to happen before the thread is created to
avoid locking, so we just do it before creating the thread.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c09f4cb2b3243085a86aee3c7ed4f31c77e4db87
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Jul 23 01:56:50 2012 +0200
buffered_file: Move from using a timer to use a thread
We still protect everything except the wait with the iothread lock.
But we moved from a timer to a thread. Steps one by one.
We also need to detect when we have finished with a variable "complete".
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b2a8658ef5dc57ea9e7a45091724a719dd4bdcd3
Author: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Date: Wed Aug 17 00:01:33 2011 -0700
protect the ramlist with a separate mutex
Add the new mutex that protects shared state between ram_save_live
and the iothread. If the iothread mutex has to be taken together
with the ramlist mutex, the iothread shall always be _outside_.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit f798b07f517143df3a1e38bccc3f72ade2f080dc
Author: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Date: Thu Aug 18 11:41:17 2011 -0700
add a version number to ram_list
This will be used to detect if last_block might have become invalid
across different calls to ram_save_live.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit abb26d63e7e4492d306c13b7e0e799d4c11a067c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 16:00:51 2012 +0100
exec: sort the memory from biggest to smallest
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a3161038a1fd17a638a0c606f71e1f799f65f41b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 15:54:48 2012 +0100
exec: change RAM list to a TAILQ
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0d6d3c87a232cc27641dde3491d75c8021745d02
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 14 15:45:02 2012 +0100
exec: change ramlist from MRU order to a 1-item cache
Most of the time, only 2 items will be active (from/to for a string
operation,
or code/data). But TCG guests likely won't have gigabytes of memory, so
this actually goes down to 1 item.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 803ef03257a9ee375f08ca7a89e009ea12bc17a4
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:08:05 2012 +0200
migration-fd: remove duplicate include
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 557ec5a001740d234e2b9604f0697a0d52ae90ca
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 3 14:07:31 2012 +0200
migration: include qemu-file.h
They don't use/know anything about buffered-file.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 24ea1e4b4b79cef2bac6f8e0f0a212f42ef420a9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Nov 10 18:58:40 2012 +0100
migration: remove double call to migrate_fd_close
The call in buffered_close is enough, because buffered_close is called
already by migrate_fd_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bde54c08b4854aceee3dee25121a2b835cb81166
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 20 12:48:19 2012 +0100
buffered_file: do not send more than s->bytes_xfer bytes per tick
Sending more was possible if the buffer was large.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 244eaa7514a944b36273eb8428f32da8e9124fcf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Dec 12 12:54:43 2012 +0100
migration: fix migration_bitmap leak
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit d2a0ccc613ccc48c7240f99e1ce05e0acce6e2a1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 17 13:01:07 2012 +0200
virtio: make bindings typesafe
Move bindings from opaque to DeviceState.
This gives us better type safety with no performance cost.
Add macros to make future QOM work easier.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15faf946f7a17a5fab0d05a2312d43249d81af3c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 20 08:19:16 2012 +0100
Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
git shortlog:
Kevin O'Connor (6):
floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is
disabled.
vga: Minor comment spelling fix.
Don't recursively evaluate CFLAGS variables.
Don't use gcc's -combine option.
Add compile checking phase to build.
acpi: Use prt_slot() macro to describe irq pins of first PCI device.
Laszlo Ersek (1):
maininit(): print machine UUID under seabios version message
Paolo Bonzini (1):
acpi: reintroduce LNKS
Paolo's patch fixes the FreeBSD boot failure.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 27dd7730582be85c7d4f680f5f71146629809c86
Merge: 914606d... ec5e016...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Dec 19 17:15:39 2012 -0600
Merge remote-tracking branch 'bonzini/header-dirs' into staging
* bonzini/header-dirs: (45 commits)
janitor: move remaining public headers to include/
hw: move executable format header files to hw/
fpu: move public header file to include/fpu
softmmu: move remaining include files to include/ subdirectories
softmmu: move include files to include/sysemu/
misc: move include files to include/qemu/
qom: move include files to include/qom/
migration: move include files to include/migration/
monitor: move include files to include/monitor/
exec: move include files to include/exec/
block: move include files to include/block/
qapi: move include files to include/qobject/
janitor: add guards to headers
qapi: make struct Visitor opaque
qapi: remove qapi/qapi-types-core.h
qapi: move inclusions of qemu-common.h from headers to .c files
ui: move files to ui/ and include/ui/
qemu-ga: move qemu-ga files to qga/
net: reorganize headers
net: move net.c to net/
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 62e0c095450f6a7eb37914991f3f7966aa4da7a1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 9 20:15:31 2012 +0100
MAINTAINERS: Include X86CPU in CPU maintenance area
Document that the x86 CPU refactorings are going through the qom-cpu
tree. This does not contradict the established practice that patches
adding KVM features to the x86 CPU go through the KVM maintainers,
it merely takes it out of target-i386 TCG's Odd Fixes status.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Cc: Marcello Tosatti <mtosatti@xxxxxxxxxx>
commit f7575c96c6058763fe3bd8dd26f3d09473f2df36
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 06:18:14 2012 +0100
cpu: Move kvm_run into CPUState
Pass CPUState / {X86,S390}CPU to helper functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a60f24b56b07f46453424263b276b0879c25c4e6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 05:35:08 2012 +0100
cpu: Move kvm_state field into CPUState
Adapt some functions to take CPUState / {PowerPC,S390}CPU argument.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a34a92b9ecd8d25bd1de9df601ed31ccd8ebcae7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:43:18 2012 +0100
ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()
Cleans up after passing PowerPCCPU to timer callbacks.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f9859fb49cb3c6ec876bc0bf709f28afcdd2384
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:47:33 2012 +0100
ppc4xx_devs: Return PowerPCCPU from ppc4xx_init()
Prepares for passing PowerPCCPU to ppc_booke_timers_init().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee0c98e650da0ce1e4e17dc1e2bbb946cde2c45c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:35:15 2012 +0100
ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks
Cleans up after passing PowerPCCPU to booke_update_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 50c680f06ca81aebc91ac4a325f194b2d8396721
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:26:55 2012 +0100
ppc: Pass PowerPCCPU to [h]decr timer callbacks
Cleans up after passing PowerPCCPU to [h]decr exception callbacks.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e0a924734e7bfad7568bf57fec68bfecd5c2575
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 04:18:02 2012 +0100
ppc: Pass PowerPCCPU to [h]decr callbacks
Cleans up after passing PowerPCCPU to ppc_set_irq().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7058581a26f4299e0b7e05677c64c1b5a50d0e75
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Dec 1 03:55:58 2012 +0100
ppc: Pass PowerPCCPU to ppc_set_irq()
Adapt static caller functions.
This cleans up after passing PowerPCCPU to kvmppc_set_interrupt().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1bc22652d62f862a5def54f939e87fdb7a5593ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 06:06:49 2012 +0100
kvm: Pass CPUState to kvm_vcpu_ioctl()
Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 20d695a9254c1b086a456d3b79a3c311236643ba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 06:57:49 2012 +0100
kvm: Pass CPUState to kvm_arch_*
Move kvm_vcpu_dirty field into CPUState to simplify things and change
its type to bool while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8737c51c0444f832c4e97d7eb7540eae457e08e4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 05:29:00 2012 +0100
cpu: Move kvm_fd into CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a404b61244ff555ace0a1360fc22275fbeda503e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:11 2012 -0200
qdev-properties.c: Separate core from the code used only by qemu-system-*
This separates the qdev properties code in two parts:
- qdev-properties.c, that contains most of the qdev properties code;
- qdev-properties-system.c for code specific for qemu-system-*,
containing:
- Property types: drive, chr, netdev, vlan, that depend on code that
won't be included on *-user
- qemu_add_globals(), that depends on qemu-config.o.
This change should help on two things:
- Allowing DeviceState to be used by *-user without pulling
dependencies that are specific for qemu-system-*;
- Writing qdev unit tests without pulling too many dependencies.
The copyright/license of qdev-properties.c isn't explicitly stated at
the file, so add a simple copyright/license header pointing to the
commit ID of the original file.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04a2d61e494532260214736ebb0f975822771643
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Dec 5 14:49:10 2012 -0200
qdev: Coding style fixes
Add missing braces and break lines larger than 80 chars.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 92a3136174f60ee45b113296cb2c2a5225b00369
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Dec 16 02:17:02 2012 +0100
cpu: Introduce CPUListState struct
This generalizes {ARM,M68k,Alpha}CPUListState to avoid declaring it for
each target. Place it in cpu-common.h to avoid circular dependencies.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit ec5e016c9a68588bd01be387416923c7dcafb951
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 13:09:17 2012 +0200
janitor: move remaining public headers to include/
Headers in the root directory are now used only from within that
directory.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 42dc882ff850cde22ae7d501d1dd452837fc4103
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 14 18:19:15 2012 +0200
hw: move executable format header files to hw/
Or delete a.out.h which is unused.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6b4c305cbd549e9d12a6b0192fdb8d6519a9664c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 13:12:00 2012 +0200
fpu: move public header file to include/fpu
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 927d4878b0ff319ed87fed9363f314613b0a5ed9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:05 2012 +0100
softmmu: move remaining include files to include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9c17d615a66ebd655871bf891ec0fe901ad8b332
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:04 2012 +0100
softmmu: move include files to include/sysemu/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1de7afc984b49af164e2619e6850b9732b173b34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:20:00 2012 +0100
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 14cccb618508a0aa70eb9ccf366703a019a45ff0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:50 2012 +0100
qom: move include files to include/qom/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit caf71f86a3de97394bcc5b06549012b7dc65fe60
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:50 2012 +0100
migration: move include files to include/migration/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83c9089e73b81c69dc1ecdf859fa84d2c500fb5f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:49 2012 +0100
monitor: move include files to include/monitor/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 022c62cbbcf1ff40b23c92874f8670cddfec2414
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:49 2012 +0100
exec: move include files to include/exec/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 737e150e89c44c6b33691a627e24bac7fb58f349
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:44 2012 +0100
block: move include files to include/block/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7b1b5d191385ca52e96caae2a05c64f3a63855d9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:19:43 2012 +0100
qapi: move include files to include/qobject/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb9c377f54a756b04ef92c1c2e0453613ee863cf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 12:15:58 2012 +0100
janitor: add guards to headers
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7edd63f1b179c18f0f1a4664ddbabe4fe5b2be2f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:28:04 2012 +0100
qapi: make struct Visitor opaque
Move its definition from qapi-visit-core.h to qapi-visit-impl.h.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4167c42c5eb79add9252547efe92df7e5c2d1abd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:51:59 2012 +0100
qapi: remove qapi/qapi-types-core.h
The file is only including error.h and qerror.h. Prefer explicit
inclusion of whatever files are needed.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 79ee7df8853c5d7085d87036420b6b388dda2595
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Dec 6 11:22:34 2012 +0100
qapi: move inclusions of qemu-common.h from headers to .c files
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 28ecbaeecb139a214f019207402a35d7b58aec0f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 28 12:06:30 2012 +0100
ui: move files to ui/ and include/ui/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2870dc3456c9c02debb63b0a99b3dcbbf74a1048
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:26:49 2012 +0200
qemu-ga: move qemu-ga files to qga/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1422e32db51ff2b1194fb24a6201c4310be5667d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 08:43:34 2012 +0200
net: reorganize headers
Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed. Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fd9400b302ef582c3ae8a8d5288338ea5f0f4c9a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:27:28 2012 +0200
net: move net.c to net/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7fa22f2bf7a06d5345283a00a7c6d86b8a345228
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 09:36:33 2012 +0200
net: do not include net.h everywhere
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 090f7ac5ba433ef9de7004b8e8304d06bd9ffd7d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 09:36:16 2012 +0200
net: move Bluetooth stuff out of net.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f8fe796407d8b340def61a6b57991e47aee3cfc4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 08:49:51 2012 +0200
janitor: do not include qemu-char everywhere
Touching char/char.h basically causes the whole of QEMU to
be rebuilt. Avoid this, it is usually unnecessary.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 077805fa92b9089137c6b6b196d449ee05cc342f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Sep 25 10:04:17 2012 +0200
janitor: do not rely on indirect inclusions of or from qemu-char.h
Various header files rely on qemu-char.h including qemu-config.h or
main-loop.h, but they really do not need qemu-char.h at all (particularly
interesting is the case of the block layer!). Clean this up, and also
add missing inclusions of qemu-char.h itself.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8e98e2e80b92e08e79e27a0c20a172906cfa12d2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:16:01 2012 +0200
build: kill libuser
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 11:12:21 2012 +0200
build: kill libdis, move disassemblers to disas/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c1c9367216c97ca93de79e90822045a425d7e76d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 14 18:28:23 2012 +0200
build: create ldscripts/
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 525877c9992a07d424be4cfdd4ba13a69141a513
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 08:35:53 2012 +0200
build: move rules from Makefile to */Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4e8cb28c4b536bf408c1ba01710e2a7644e144e5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 10:31:17 2012 +0200
build: add $(TARGET_DIR) to "GEN config-target.h" lines
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9d9199a003b7531257836d5abb0b30c250303885
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 17 10:21:52 2012 +0200
build: adjust setting of QEMU_INCLUDES
Make it correct for nested directories, and move the static part
from Makefile to configure.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7937e75b1aba66cf24c93e58c48cbb4d59d1c19c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 24 10:47:53 2012 +0200
vscclient: use per-target variables
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 494342b35b55b3b126821141e15c8a49df122ff1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:44:21 2012 +0200
target-alpha: Add support for -cpu ?
Implement alphabetical listing of CPU subclasses.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0c28246fcd5ea9ccb22aa93ef2e0af14463fec58
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:33:32 2012 +0200
target-alpha: Turn CPU definitions into subclasses
Make TYPE_ALPHA_CPU abstract and add types <name>-alpha-cpu.
Use type inheritence, and turn "2*" models into aliases.
Move cpu_alpha_init() to cpu.c and split out CPU realization.
Default to creating type "ev67-alpha-cpu" as before.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c92458538f501eda585b4b774c50644aed391a8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 31 02:41:11 2012 +0100
target-alpha: Avoid leaking the alarm timer over reset
Move the timer from CPUAlphaState to AlphaCPU to avoid the pointer being
zero'ed once we implement reset. Would cause a segfault in
sys_helper.c:helper_set_alarm().
This also simplifies timer initialization in Typhoon.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad6011775a324d7c3e2a8bd824e03c5e576dda48
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 16 02:45:53 2012 +0200
alpha: Pass AlphaCPU array to Typhoon
Also store it in TyphoonCchip.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f5e335088925cedc5b912fd8bb4e1e933094d56
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 15 17:52:00 2012 +0200
target-alpha: Let cpu_alpha_init() return AlphaCPU
Replace cpu_init() macro with inline function for backwards
compatibility.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 914606d26e654d4c01bd5186f4d05e3fd445e219
Merge: 5455a47... 779ab5e...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:43 2012 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
configure: Earlier pkg-config probe
vmmouse_reset(): remove minimal code duplication
linux-user/syscall.c: remove wrong forward decl of setgroups()
fix build error on ARM due to wrong glibc check
gitignore: Add virtfs-proxy-helper
arm_gic: Add cpu nr to Raised IRQ message
zynq_slcr: Compile time warning fixes.
pflash_cfi0x: Send debug messages to stderr
pflash_cfi01: qemu_log_mask "unimplemented" msg
net, hub: fix the indent in the comments
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5455a474d92e345df83212fd1b2f59d4a5d46ca9
Merge: 510981a... 91bdd1c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:32 2012 -0600
Merge remote-tracking branch 'amit/master' into staging
* amit/master:
virtio-serial-bus: assert port is non-null in remove_port()
virtio-serial-bus: send_control_msg() should not deal with cpkts
virtio-serial: delete timer if active during exit
virtio-serial: allocate post_load only at load-time
virtio-serial: move active ports loading to separate function
virtio-serial: use uint32_t to count ports
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 510981a097bf16ef4747c9a1dfe806edfc117177
Merge: c3a1ecd... 700f6b6...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:21 2012 -0600
Merge remote-tracking branch 'spice/spice.v66' into staging
* spice/spice.v66:
docs: add spice-port-fqdn.txt
spice-qemu-char: register spicevmc ports during qemu_spice_init()
spice-qemu-char: keep a list of spice chardev
spice-qemu-char: add spiceport chardev
spice-qemu-char: factor out CharDriverState creation
spice-qemu-char: write to chardev whatever amount it can read
qxl+vnc: register a vm state change handler for dummy spice_server
qxl: save qemu_create_displaysurface_from result
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c3a1ecd0fc565c913efc59663e7ac34b9c3c2291
Merge: a8a826a... 249e7e0...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 18 15:41:04 2012 -0600
Merge remote-tracking branch 'sstabellini/xen-20121217' into staging
* sstabellini/xen-20121217:
cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int
cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item,
write_phys_req_item
Fix compile errors when enabling Xen debug logging.
xen: fix trivial PCI passthrough MSI-X bug
xen: implement support for secondary consoles in the console backend
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 779ab5e3ddb9ad903f9a0ec21e148ed7bfd2d255
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 16 11:29:45 2012 +0100
configure: Earlier pkg-config probe
Probe pkg-config before it is used for the first time (libseccomp check).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5a6c7644b215060a43d94709307d86bc50e1b4b9
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Dec 13 15:01:49 2012 +0100
vmmouse_reset(): remove minimal code duplication
Commit 069ab0eb added a vmmouse_disable() call to vmmouse_reset().
vmmouse_disable() resets the status already.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c56dc774242f902e51e2343f4472e742ef2b7838
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Mon Dec 10 07:59:46 2012 +0100
linux-user/syscall.c: remove wrong forward decl of setgroups()
this declaration is wrong:
the correct prototype on linux is:
int setgroups(size_t size, const gid_t *list);
since by default musl libc exposes this symbol in unistd.h
additionally to grp.h, the wrong declaration causes a build error.
the proper fix is to simply include the correct header.
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e12cdb1b4055530c61fe99683d256c42e9e62ac8
Author: John Spencer <maillist-qemu@xxxxxxxxxxx>
Date: Mon Dec 10 07:59:44 2012 +0100
fix build error on ARM due to wrong glibc check
the test for glibc < 2 "succeeds" wrongly for any non-glibc C library,
and breaks the build on musl libc.
we must first test if __GLIBC__ is defined at all, before using it
unconditionally.
Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 887eb29930a7b48e46d16916cb050d114016f143
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Dec 6 20:03:26 2012 -0500
gitignore: Add virtfs-proxy-helper
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c815fb30ed1940c66389be728b29d5ebdf05c0e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:36 2012 +1000
arm_gic: Add cpu nr to Raised IRQ message
Add the relevant CPU nr to this debug message to make IRQ debugging more
informative.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8f6038009662b481fbd1e43cd69af80aa10a8223
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:35 2012 +1000
zynq_slcr: Compile time warning fixes.
Few warnings when compiled with debug printfs enabled. Fixed all.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ec9ea4890cd06de1648cbbfb99fcb63e01f4000f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:34 2012 +1000
pflash_cfi0x: Send debug messages to stderr
These debug info messages should go to stderr rather than stdout.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d96fc51cc6defcd80bdf932823dadd88be532a0b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 4 16:04:33 2012 +1000
pflash_cfi01: qemu_log_mask "unimplemented" msg
This printf is informing the user of unimplemented functionality. It
should be
re-directed to qemu_log(LOG_UNIMP, ...) accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e103129b1b5746f8388b37d18317e61d6b139b69
Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 7 09:43:18 2012 +0800
net, hub: fix the indent in the comments
Remove some redundant blanks in the comments of
net_hub_id_for_client().
Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 91bdd1cf08f65b7a127c22d4d65ff9d16dcac870
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Tue Dec 18 13:08:33 2012 +0530
virtio-serial-bus: assert port is non-null in remove_port()
remove_port() is called from qdev's unplug callback, and we're certain
the port will be found in our list of ports. Adding an assert()
documents this.
This was flagged by Coverity, fix suggested by Markus.
CC: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 4e28976e563ad54f6adc5ae00b1fb8224f1a82ca
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Dec 12 18:26:09 2012 +0530
virtio-serial-bus: send_control_msg() should not deal with cpkts
Stuff the cpkt before calling send_control_msg(). This function should
not be concerned about contents of the buffer it receives.
A few code refactorings recently have made making this change easier
than earlier.
Coverity and clang have flagged this code several times in the past
(cpkt->id not set before send_control_event() passed it on to
send_control_msg()). This will finally eliminate the false-positive.
CC: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 5f0cef1aa92b98610a99125d1d1d80e9339ac7c5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 27 09:51:55 2012 +0200
libcacard: simplify rules for recursive build
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6f991980a5e96f93a9f676959df2dcba665665ef
Merge: a8a826a... 1dd3a74...
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 17 18:17:08 2012 +0100
Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 700f6b6a921861a8946377a9531b6d1e8b09bb51
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:37 2012 +0100
docs: add spice-port-fqdn.txt
Start a simple org.qemu.* registry of well known name.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afd0b4091fef7a1290cf76c6da8c9a24a3553d58
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:36 2012 +0100
spice-qemu-char: register spicevmc ports during qemu_spice_init()
Do the delayed registration of spicevmc ports after Spice server is
initialized.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7a5448ce6ef140a20b1a090d50aeb4248d0a9ffd
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:35 2012 +0100
spice-qemu-char: keep a list of spice chardev
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5a49d3e9a799b7e1bf87da7ae7f2a719e01da319
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:34 2012 +0100
spice-qemu-char: add spiceport chardev
Add a new spice chardev to allow arbitrary communication between the
host and the Spice client via the spice server.
Examples:
This allows the Spice client to have a special port for the qemu
monitor:
... -chardev spiceport,name=org.qemu.monitor,id=monitorport
-mon chardev=monitorport
v2:
- remove support for chardev to chardev linking
- conditionnaly compile with SPICE_SERVER_VERSION
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 71b423f4b970de2622803a67a2bf39b1d1f5a12c
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:33 2012 +0100
spice-qemu-char: factor out CharDriverState creation
Make the CharDriverState creation code reusable by spicevmc port.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07a54d704e62e2515db0b085d53d13a2f1b1b06a
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Wed Dec 5 16:15:32 2012 +0100
spice-qemu-char: write to chardev whatever amount it can read
The current code waits until the chardev can read MIN(len, VMC_MAX)
But some chardev may never reach than amount, in fact some of them
will only ever accept write of 1. Fix the min computation and remove
the VMC_MAX constant.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 938b8a36b65e44c44ca29245437f8d7ac0f826e8
Author: Uri Lublin <uril@xxxxxxxxxx>
Date: Wed Dec 12 18:30:47 2012 +0200
qxl+vnc: register a vm state change handler for dummy spice_server
When qxl + vnc are used, a dummy spice_server is initialized.
The spice_server has to be told when the VM runstate changes,
which is what this patch does.
Without it, from qxl_send_events(), the following error message is shown:
qxl_send_events: spice-server bug: guest stopped, ignoring
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Uri Lublin <uril@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2f464b5a32b414adb545acc6d94b5c35c7d258ba
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 10 07:41:07 2012 +0100
qxl: save qemu_create_displaysurface_from result
Spotted by Coverity.
https://bugzilla.redhat.com/show_bug.cgi?id=885644
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 249e7e0fff080df0eff54730f3b6459d92d61e5a
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:44:02 2012 +0000
cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int
The current code compare i (int) with req->count (uint32_t) in a for
loop, risking an infinite loop if req->count is equal to UINT_MAX.
Also i is only used in comparisons or multiplications with unsigned
integers.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
commit a38648290ee277c7cb8a53eabdcdb08bb7a9f23f
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:43:19 2012 +0000
cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item,
write_phys_req_item
Replace a lot of formulaic multiplications (containing casts, no less)
with calls to a pair of functions. This encapsulates in a single
place the operations which require care relating to integer overflow.
Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit f1b8caf1d927f30f66054733a783651a24db4999
Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Date: Mon Dec 17 11:37:43 2012 +0000
Fix compile errors when enabling Xen debug logging.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 044b99c6555f562254ae70dc39f32190eecbc1f2
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:36:58 2012 +0000
xen: fix trivial PCI passthrough MSI-X bug
We are currently passing entry->data as address parameter. Pass
entry->addr instead.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Xen-devel: http://marc.info/?l=xen-devel&m=135515462613715
commit 2c1d4d15f09cf95b8f832624e7aac2916f9d1865
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Dec 17 11:36:09 2012 +0000
xen: implement support for secondary consoles in the console backend
This patch corresponds to commit
840184a106bc24e745beda5c77e392f6cecd2bc9 from
git://xenbits.xensource.com/qemu-xen-unstable.git.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 1dd3a74d2ee2d873cde0b390b536e45420b3fe05
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 10 13:00:45 2012 +0200
kvm: do not flush after deleting gsi
Deleting a GSI isn't necessary: it is enough
to stop using it. Delay flush until an entry is used.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2059946358999da80be22494af2d5c3174142902
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 23:11:16 2012 +0200
pci_bus.h: tweak include guards
Now that header has been renamed, tweak include guards
to match.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 952deab6cff5d6d81ff7a63955e958894c07177c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:04:09 2012 +0200
pci_bus: update comment
Don't ask everyone to desist from including this header,
simply recommend using accessors.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 06aac7bd50cd934f416fe355633c045fee832905
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:00:45 2012 +0200
pci: rename pci_internals.h pci_bus.h
There are lots of external users of pci_internals.h,
apparently making it an internal interface only didn't
work out. Let's stop pretending it's an internal header.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d9fb58054825ef141e6d03f455654b2e3e767bce
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 14:39:01 2012 +0200
Revert "pci: prepare makefiles for pci code reorganization"
This reverts commit 475d67c3bcd6ba9fef917b6e59d96ae69eb1a9b4.
Now that all users have been updated, we don't need the
makefile hack or the softlink anymore.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c759b24fae08c6c333df03e1db48e13b7f5eda30
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 23:05:42 2012 +0200
pci: fix path for local includes
Include dependencies from pci core using the correct path.
This is required now that it's in the separate directory.
Need to check whether they can be minimized, for now,
keep the code as is.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a2cb15b0ddfa05f81a42d7b65dd0c7c50e420c33
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 14:24:50 2012 +0200
pci: update all users to look in pci/
update all users so we can remove the makefile hack.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 315a1350c4a386065a73aad2ded1a11d77bf7771
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 13:32:14 2012 +0200
pci: move pci core code to hw/pci
Move files and modify makefiles to pick them at the
new location.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Tue Dec 4 20:16:07 2012 +0000
exec: refactor cpu_restore_state
Refactor common code around calls to cpu_restore_state().
tb_find_pc() has now no external users, make it static.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5b6dd8683dc30e8e0970db3dd9176732dc819410
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 16:04:43 2012 +0000
exec: move TB handling to translate-all.c
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5a3165263ae6782a7fe712a0a0c29c17468b9b68
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 21:28:09 2012 +0000
exec: extract TB watchpoint check
Will be moved by the next patch.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 44209fc4edfd92464eb0413acfd434b687be945a
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sun Dec 2 17:25:06 2012 +0000
exec: fix coding style
Fix coding style in areas to be moved by later patches.
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 6d4e18925a65306afabaad7b63a4588c18919e99
Merge: 659f807... a64ae61...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 15 09:05:26 2012 +0000
Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits)
pseries: Increase default NVRAM size
target-ppc: Don't use hwaddr to represent hardware state
PPC: e500: pci: Export slot2irq calculation
PPC: E500plat: Make a lot of PCI slots available
PPC: E500: Move PCI slot information into params
PPC: E500: Generate dt pci irq map dynamically
PPC: E500: PCI: Make IRQ calculation more generic
PPC: E500: PCI: Make first slot qdev settable
openpic: Accelerate pending irq search
openpic: fix minor coding style issues
MSI-X: Fix endianness
PPC: e500: Declare pci bridge as bridge
PPC: e500: Add MSI support
openpic: add Shared MSI support
openpic: make brr1 model specific
openpic: convert to qdev
openpic: remove irq_out
openpic: rename openpic_t to OpenPICState
openpic: convert simple reg operations to builtin bitops
openpic: remove unused type variable
...
commit 659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Thu Dec 13 04:13:41 2012 +0400
target-xtensa: fix ITLB/DTLB page protection flags
With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is
only used for code access, DTLB is only for data. However TLB entries in
both TLBs have attribute field controlling write and exec access. These
bits need to be properly masked off depending on TLB type before being
used as tlb_set_page prot argument. Otherwise the following happens:
(1) ITLB entry for some PFN gets invalidated
(2) DTLB entry for the same PFN gets updated, attributes allow code
execution
(3) code at the page with that PFN is executed (possible due to step 2),
entry for the TB is written into the jump cache
(4) QEMU TLB entry for the PFN gets replaced with an entry for some
other PFN
(5) code in the TB from step 3 is executed (possible due to jump cache)
and it accesses data, for which there's no DTLB entry, causing DTLB
miss exception
(6) re-translation of the TB from step 5 is attempted, but there's no
QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB
miss exception at the TB start address
(7) ITLB miss exception is handled by the guest, but execution is
resumed from the beginning of the faulting TB (the point where ITLB
miss occured), not from the point where DTLB miss occured, which is
wrong.
With that fix the above scenario causes ITLB miss exception (that used
to be step 7) at step 3, right at the beginning of the TB.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4b4496dbccc5f286f0ef411f0ff702d67cb95145
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:25 2012 +0100
console: clip update rectangle
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit bc210eb163b162ff2e94e5c8f4307715731257f8
Author: Gerd Hoffmann <1087974@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 14 07:54:24 2012 +0000
pixman: fix vnc tight png/jpeg support
This patch adds an x argument to qemu_pixman_linebuf_fill so it can
also be used to convert a partial scanline. Then fix tight + png/jpeg
encoding by passing in the x+y offset, so the data is read from the
correct screen location instead of the upper left corner.
Cc: 1087974@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Tim Hardeneck <thardeck@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f27b2e1dfe79f993567652411d1ba16295b99719
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:23 2012 +0100
pixman: update internal copy to pixman-0.28.2
Some w64 fixes by Stefan Weil found their way into 0.28.2,
so update the internal copy to that version to improve
windows support.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit cb1d40d7ccfc18ba1fcb9e064402d930349ee047
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:22 2012 +0100
Revert "pixman: require 0.18.4 or newer"
This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae.
The only reason old pixman versions didn't work was the missing
PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now. So we don't
have to require a minimum pixman version.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fbddfc727bde692f009a269e8e628d8c152b537b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 14 08:54:21 2012 +0100
pixman: fix version check for PIXMAN_TYPE_BGRA
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f28558d3d37ad3bc4e35e8ac93f7bf81a0d5622c
Author: Will Auld <will.auld.intel@xxxxxxxxx>
Date: Mon Nov 26 21:32:18 2012 -0800
target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs
CPUID.7.0.EBX[1]=1 indicates IA32_TSC_ADJUST MSR 0x3b is supported
Basic design is to emulate the MSR by allowing reads and writes to the
hypervisor vcpu specific locations to store the value of the emulated
MSRs.
In this way the IA32_TSC_ADJUST value will be included in all reads to
the TSC MSR whether through rdmsr or rdtsc.
As this is a new MSR that the guest may access and modify its value needs
to be migrated along with the other MRSs. The changes here are
specifically
for recognizing when IA32_TSC_ADJUST is enabled in CPUID and code added
for migrating its value.
Signed-off-by: Will Auld <will.auld@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit a64ae610b978dfd8ccfb7f6c5d4cfe62d7542fbd
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:16 2012 +0000
pseries: Increase default NVRAM size
If no image file for NVRAM is specified, the pseries machine currently
creates a 16K non-persistent NVRAM by default. This basically works, but
is not large enough for current firmware and guest kernels to create all
the NVRAM partitions they would like to. Increasing the default size to
64K addresses this and stops the guest generating error messages.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b162d02e9450201c656edce290f33994a6d2ad33
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:14 2012 +0000
target-ppc: Don't use hwaddr to represent hardware state
The hwaddr type is somewhat vaguely defined as being able to contain bus
addresses on the widest possible bus in the system. For that reason it's
discouraged for representing specific pieces of persistent hardware state,
which should instead use an explicit width type that matches the bits
available in real hardware. In particular, because of the possibility
that
the size of hwaddr might change if different buses are added to the target
in future, it's not suitable for use in vm state descriptions for savevm
and migration.
This patch purges such unwise uses of hwaddr from the ppc target code,
which turns out to be just one. The ppcemb_tlb_t struct, used on a number
of embedded ppc models to represent a TLB entry contains a hwaddr for the
real address field. This patch changes it to be a fixed uint64_t which is
suitable enough for all machine types which use this structure.
Other uses of hwaddr in CPUPPCState turn out not to be problematic:
htab_base and htab_mask are just used for the convenience of the TCG code;
the underlying machine state is the SDR1 register, which is stored with
a suitable type already. Likewise the mpic_cpu_base field is only used
internally and does not represent fundamental hardware state which needs
to
be saved.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9e2c12988bebca7b99c0cd064b23fb7ea6643c86
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 01:16:24 2012 +0100
PPC: e500: pci: Export slot2irq calculation
We need the calculation method to get from a PCI slot ID to its respective
interrupt line twice. Once in the internal map function and once when
assembling the device tree.
So let's extract the calculation to a separate function that can be called
by both users.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bb7e02a9725a24e5bf915b35f914f82f5b07a1f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 14:58:30 2012 +0100
PPC: E500plat: Make a lot of PCI slots available
The ppce500 machine doesn't have to stick to hardware limitations,
as it's defined as being fully device tree based.
Thus we can change the initial PCI slot ID to 0x1 which gives us a
whopping 31 PCI devices we can support with this machine now!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 492ec48dc2d99ca13b24d554e1970af7e2581e23
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 13:53:53 2012 +0100
PPC: E500: Move PCI slot information into params
We have a params struct that allows us to expose differences between
e500 machine models. Include PCI slot information there, so we can have
different machines with different PCI slot topology.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 347dd79dccf41a679115213da673dfd06c4c8cc8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 13:47:07 2012 +0100
PPC: E500: Generate dt pci irq map dynamically
Today we're hardcoding the PCI interrupt map in the e500 machine file.
Instead, let's write it dynamically so that different machine types
can have different slot properties.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05f57d9de8e99bf5f7ca762c6dc2f1e054c2074c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 12:58:12 2012 +0100
PPC: E500: PCI: Make IRQ calculation more generic
The IRQ line calculation is more or less hardcoded today. Instead, let's
write it as an algorithmic function that theoretically allows an arbitrary
number of PCI slots.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eafb325fb11af21ed9df3f5a310fd26e70954318
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 12 12:56:40 2012 +0100
PPC: E500: PCI: Make first slot qdev settable
Today the first slot id in our e500 pci implementation is hardcoded to
0x11. Keep it there as default, but allow users to change the default to
a different id.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 76aec1f8b6549d14576a3eb739c731df8f678ffb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 12:48:14 2012 +0100
openpic: Accelerate pending irq search
When we're done with one interrupt, we need to search for the next pending
interrupt in the queue. This search has grown quite big now that we have
more than 256 possible irq lines.
So let's memorize how many interrupts we have pending in our bitmaps, so
that we can always bail out in the usual case - the one where we're all
done.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbe30e13e87a71e85e88ae3ffd3460173cbc8193
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 13 00:44:22 2012 +0100
openpic: fix minor coding style issues
This patch removes all remaining occurences of spaces before function
parameter indicating parenthesis.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 6 04:11:33 2012 +0100
MSI-X: Fix endianness
The MSI-X vector tables are usually stored in little endian in memory,
so let's mark the accessors as such.
This fixes MSI-X on e500 for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 997505065dc92e533debf5cb23012ba4e673d387
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:27:26 2012 +0100
PPC: e500: Declare pci bridge as bridge
The new PCI host bridge device needs to identify itself as PCI host
bridge.
Declare it as such.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a911b7a92064d17b862ae85fe8e5ec91b7ba1aa9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:26:37 2012 +0100
PPC: e500: Add MSI support
Now that our interrupt controller supports MSIs, let's expose that feature
to the guest through the device tree!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 732aa6ec2639ace8bcb0b27b9c0d71103bd1d153
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 14:18:00 2012 +0100
openpic: add Shared MSI support
The OpenPIC allows MSI access through shared MSI registers. Implement
them for the MPC8544 MPIC, so we can support MSIs.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbbbfd6058dda61f57d1f72133aa54eb27330411
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 13:51:50 2012 +0100
openpic: make brr1 model specific
Now that we can properly distinguish between openpic model differences,
let's move brr1 out of the raven code path.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d0b7263134dfd4d487698b639f2069951f3fdb26
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 05:17:14 2012 +0100
openpic: convert to qdev
This patch converts the OpenPIC device to qdev. Along the way it
renames the "openpic" target to "raven" and the "mpic" target to
"fsl_mpic_20", to better reflect the actual models they implement.
This way we have a generic OpenPIC device now that can handle
different flavors of the OpenPIC specification.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5bac0701113f4de4fee053a3939b0f569a04b88c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 02:18:58 2012 +0100
openpic: remove irq_out
The current openpic emulation contains half-ready code for bypass mode.
Remove it, so that when someone wants to finish it they can start from a
clean state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d544ee8ac2097c87fc97b53d6a1310d9daa0562
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:59:20 2012 +0100
openpic: rename openpic_t to OpenPICState
Rename the openpic_t struct to OpenPICState, so it adheres better to
the current coding style rules.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1945dbc15f0f1ffdc9a10526448e9eba7c599d98
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:49:52 2012 +0100
openpic: convert simple reg operations to builtin bitops
The openpic code has its own bitmap code to access bits inside of a
bitmap. However, that is overkill when we simply want to check for a
bit inside of a uint32_t.
So instead, let's use normal bit masks and C builtin shifts and ands.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e1d10851522d7262a266f95d54c48eb2b1d8eb9b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:25:21 2012 +0100
openpic: remove unused type variable
The openpic source irqs are carrying around a type indicator that
is never accessed by anything. Remove it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 35732cb41e8f8608bb0fd6ae023daee56d439bf1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 01:04:48 2012 +0100
openpic: unify memory api subregions
The only difference between the "openpic" and "mpic" memory api subregion
descriptors is the endianness. Unify them as openpic accessors with
explicit
endianness markers in their names.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 825463b38414c9afb657caee1ce20eff2d521317
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 00:58:54 2012 +0100
openpic: combine openpic and mpic reset functions
The openpic and mpic reset handlers are almost identical. Combine
them and extract the differences into state variables.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c38c0b8ad0551e470984f2ae7e8e54aae304ed4b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Dec 8 00:43:42 2012 +0100
openpic: merge mpic and openpic timer handling
The openpic and mpic timer handling code is basically the same.
Merge them.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5861a33898bbddfd1a80c2e202cb9352e3b1ba62
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 23:51:09 2012 +0100
openpic: combine mpic and openpic irq raise functions
The IRQ raise mechanisms of the OpenPIC and MPIC controllers is identical,
just that the MPIC one can also raise critical interrupts.
Combine those two and check for critical raise capability during runtime.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 780d16b77f992db81e90b7dd7474a9397ce393b9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 17:15:15 2012 +0100
openpic: Convert subregions to memory api
The "openpic" controller is currently using one big region and does
subregion dispatching manually. Move this to the memory api.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a285f1ca703a434fa8edf584f94a1dc29067ab29
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:45:40 2012 +0100
openpic: combine mpic and openpic src handlers
The MPIC source irq handler suddenly became identical to the standard
OpenPIC source irq handler. Combine them into the same function.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b9b2aaa3c6926cf8af21fe75457ca6c6e0dc1f5d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:31:55 2012 +0100
openpic: update to proper memory api
The openpic code was still using the old mmio memory api. Convert it to
be a generic memory api user and clean up some code that becomes redundant
that way.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cdbb912a6f8b5f325df3a6fd42cb2843032050c9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 7 16:10:34 2012 +0100
mpic: Unify numbering scheme
MPIC interrupt numbers in Linux (device tree) and in QEMU are different,
because QEMU takes the sparseness of the IRQ number space into account.
Remove that cleverness and instead assume a flat number space. This makes
the code easier to understand, because we are actually aligned with Linux
on the view of our worlds.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38898d7ed803cee5105246150725487add78cbd7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 6 15:59:27 2012 +0100
openpic: Remove unused code
The openpic code had a few WIP bits left that nobody reanimated within
the last few years. Remove that code.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
commit 8b1853e7d8c2bf8c6a9f023ab98ba0e8a38bd086
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 3 16:42:13 2012 +0000
pseries: Don't allow TCE (iommu) tables to be registered with duplicate
LIOBNs
The PAPR specification requires that every bus or device mediated by the
IOMMU have a unique Logical IO Bus Number (LIOBN). This patch adds a
check
to enforce this, which will help catch errors in configuration earlier.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3eddc1be1ccb26387f8f960f8a3d8c417064a91f
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Oct 10 04:28:28 2012 +0000
Adding BAR0 for e500 PCI controller
PCI Root complex have TYPE-1 configuration header while PCI endpoint
have type-0 configuration header. The type-1 configuration header have
a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
address space to CCSR address space. This can used for 2 purposes: 1)
for MSI interrupt generation 2) Allow CCSR registers access when
configured
as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest.
What I observed is that when guest read the size of BAR0 of host
controller
configuration header (TYPE1 header) then it always reads it as 0. When
looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller
device registering BAR0. I do not find any other controller also doing so
may they do not use BAR0.
There are two issues when BAR0 is not there (which I can think of):
1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and
when reading the size of BAR0, it should give size as per real h/w.
2) Do we need this BAR0 inbound address translation?
When BAR0 is of non-zero size then it will be configured for PCI
address space to local address(CCSR) space translation on inbound access.
The primary use case is for MSI interrupt generation. The device is
configured with an address offsets in PCI address space, which will be
translated to MSI interrupt generation MPIC registers. Currently I do
not understand the MSI interrupt generation mechanism in QEMU and also
IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines.
But this BAR0 will be used when using MSI on e500.
I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c,
but i do not see these being used for address translation.
So far that works because pci address space and local address space are
1:1
mapped. BAR0 inbound translation + ATMU translation will complete the
address
translation of inbound traffic.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
[agraf: fix double variable assignment w/o read]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dffb1dc29fb364aaafc41b34100a06517d7f065e
Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx>
Date: Wed Oct 10 04:28:27 2012 +0000
e500: Adding CCSR memory region
All devices are also placed under CCSR memory region.
The CCSR memory region is exported to pci device. The MSI interrupt
generation is the main reason to export the CCSR region to PCI device.
This put the requirement to move mpic under CCSR region, but logically
all devices should be under CCSR. So this patch places all emulated
devices under ccsr region.
Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4fd50339c0b55fa6387fa3c28f755c306997064c
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:58 2012 +0000
pseries: Update SLOF for NVRAM support
Now that we have implemented PAPR compatible NVRAM interfaces in qemu,
this
updates the SLOF firmware to actually initialize and use the NVRAM as a
PAPR guest firmware is expected to do.
This SLOF update also includes an ugly but useful workaround for a bug in
the SLES11 installer which caused it to fail under KVM.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 639e8102ae71ce2e46ebeffc6080767e573c0c56
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:57 2012 +0000
pseries: Implement PAPR NVRAM
The PAPR specification requires a certain amount of NVRAM, accessed via
RTAS, which we don't currently implement in qemu. This patch addresses
this deficiency, implementing the NVRAM as a VIO device, with some glue to
instantiate it automatically based on a machine option.
The machine option specifies a drive id, which is used to back the NVRAM,
making it persistent. If nothing is specified, the driver instead simply
allocates space for the NVRAM, which will not be persistent
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 22a2611c9cef4a8c8ad96fe17b3511a6cc5fb3a1
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:55 2012 +0000
pseries: Split xics irq configuration from state information
Currently the XICS irq controller code has a per-irq state structure which
amongst other things includes whether the interrupt is level or message
triggered - this is configured by the platform code, and is not directly
visible to the guest. This leads to a slightly awkward construct at reset
time where we need to reset everything in the state structure _except_ the
lsi/msi flag, which needs to retain the information given at platform init
time.
More importantly this flag will make matching the qemu state to the KVM
state for the upcoming in-kernel XICS implementation more awkward. This
patch, therefore, removes this flag from the per-irq state structure,
instead adding a parallel array giving the lsi/msi configuration per irq.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 500efa2319d1f1074b1d61e5ceb7a0fd61d0831d
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:54 2012 +0000
pseries: Add tracepoints to the XICS interrupt controller
This patch adds tracing / debugging calls to the XICS interrupt controller
implementation used on the pseries machine.
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d36b66f7a420737dcc24de15b35a465ff6b1798d
Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:53 2012 +0000
pseries: Allow RTAS tokens without a qemu handler
Kernel-based RTAS calls will not have a qemu handler, but will
still be registered in qemu in order to be assigned a token
number and appear in the device-tree.
Let's test for the name being NULL rather than the handler
when deciding to skip an entry while building the device-tree
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4aac82c34675fcbd3722dfc3a2d04c839215ec6b
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:52 2012 +0000
pseries: Return the token when we register an RTAS call
The kernel will soon be able to service some RTAS calls. However the
choice of tokens will still be up to userspace. To support this have
spapr_rtas_register() return the token that is allocated for an
RTAS call, that allows the calling code to tell the kernel what the
token value is.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf3bc4c4e992fb9914e2f1f7e8a569394d298b57
Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:50 2012 +0000
pseries: Use #define for XICS base irq number
Currently the lowest "real" irq number for the XICS irq controller (as
opposed to numbers reserved for IPIs and other special purposes) is
hard coded as 16 in two places - in xics_system_init() and in spapr.c.
As well as being generally bad practice, we're going to need to change
this
number soon to fit in with the in-kernel XICS implementation. This patch
adds a #define for this number to avoid future breakage.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 044f4c8b0ee90290b6cbbc616c4be3c8aeffcaab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 12 16:46:49 2012 +0000
pseries: Fix incorrect initialization of interrupt controller
Currently in the reset code for the XICS interrupt controller, we
initialize the pending_priority field to 0 (most favored, by XICS
convention). This is incorrect, since there is no pending interrupt, it
should be set to least favored - 0xff. At the moment our XICS
implementation doesn't get hurt by this edge case, but it does confuse the
upcoming kernel XICS implementation.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e376a788ae130454ad5e797f60cb70d0308babb6
Merge: df93300... 226c3c2...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 14:32:28 2012 -0600
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony: (43 commits)
qcow2: Factor out handle_dependencies()
qcow2: Execute run_dependent_requests() without lock
qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2
qcow2: Allocate l2meta only for cluster allocations
qcow2: Drop l2meta.cluster_offset
qcow2: Allocate l2meta dynamically
qcow2: Introduce Qcow2COWRegion
qcow2: Round QCowL2Meta.offset down to cluster boundary
atapi: reset cdrom tray statuses on ide_reset
qemu-iotests: Test concurrent cluster allocations
qcow2: Move BLKDBG_EVENT out of the lock
qemu-io: Add AIO debugging commands
blkdebug: Implement suspend/resume of AIO requests
blkdebug: Factor out remove_rule()
blkdebug: Allow usage without config file
create new function: qemu_opt_set_number
use qemu_opts_create_nofail
introduce qemu_opts_create_nofail function
qemu-option: qemu_opt_set_bool(): fix code duplication
qemu-option: qemu_opts_validate(): fix duplicated code
...
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit df9330070e671134544f872dc5c027443878b764
Merge: aa1246a... 871edc5...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:41:57 2012 -0600
Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging
* pmaydell/arm-devs.next:
hw/ds1338.c: Fix handling of DAY (wday) register.
hw/ds1338.c: Implement support for the control register.
hw/ds1338.c: Ensure state is properly initialized.
hw/ds1338.c: Fix handling of HOURS register.
hw/ds1338.c: Add definitions for various flags in the RTC registers.
hw/ds1338.c: Correct bug in conversion to BCD.
exynos4210/mct: Avoid infinite loop on non incremental timers
hw/arm_gic: fix target CPUs affected by set enable/pending ops
xilinx_zynq: Add one variable to avoid overwriting QSPI bus
hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs
hw/arm_gic: Fix comparison with priority mask register
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aa1246aee2914424f101a7e462bd1393ececef95
Merge: 5a58598... ff15629...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:41:25 2012 -0600
Merge remote-tracking branch 'kraxel/seabios-e8a76b0' into staging
* kraxel/seabios-e8a76b0:
seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5a58598090d1349d2bd3e9015e6999dcf87ec5b5
Merge: 45e6cee... d281084...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 13 11:40:23 2012 -0600
qMerge remote-tracking branch
'awilliam/tags/vfio-pci-for-qemu-20121210.0' into staging
vfio-pci: fix kvm disabled path
* awilliam/tags/vfio-pci-for-qemu-20121210.0:
vfio-pci: Don't use kvm_irqchip_in_kernel
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 226c3c26b9800b7c6a8d3100e1faad6d2b97b0f5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:49 2012 +0100
qcow2: Factor out handle_dependencies()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4e95314e2bb7baa64f2a9026df5e2649081b7060
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:48 2012 +0100
qcow2: Execute run_dependent_requests() without lock
There's no reason for run_dependent_requests() to hold s->lock, and a
later patch will require that in fact the lock is not held.
Also, before this patch, run_dependent_requests() not only does what its
name suggests, but also removes the l2meta from the list of in-flight
requests. When changing this, it becomes an one-liner, so just inline it
completely.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 280d373579558f73a8b70e329d9a6206933d3809
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:47 2012 +0100
qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2
This is closer to where the dirty flag is really needed, and it avoids
having checks for special cases related to cluster allocation directly
in the writev loop.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f50f88b9fea09fef12cc293126cf45dcf0ef600b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:46 2012 +0100
qcow2: Allocate l2meta only for cluster allocations
Even for writes to already allocated clusters, an l2meta is allocated,
though it stays effectively unused. After this patch, only allocating
requests still have one. Each l2meta now describes an in-flight request
that writes to clusters that are not yet hooked up in the L2 table.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 060bee8943c27d4d53f65570fafaa2559fcd87c3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:45 2012 +0100
qcow2: Drop l2meta.cluster_offset
There's no real reason to have an l2meta for normal requests that don't
allocate anything. Before we can get rid of it, we must return the host
cluster offset in a different way.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf5c1a231ee99ac21fe8258faf50bb1f65884343
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:44 2012 +0100
qcow2: Allocate l2meta dynamically
As soon as delayed COW is introduced, the l2meta struct is needed even
after completion of the request, so it can't live on the stack.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 593fb83cacf3818a5623f31a6c04c24d87519ad0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:43 2012 +0100
qcow2: Introduce Qcow2COWRegion
This makes it easier to address the areas for which a COW must be
performed. As a nice side effect, the COW code in
qcow2_alloc_cluster_link_l2 becomes really trivial.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1d3afd649bc77aa14bc2741e2da6475822d41c5f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 7 18:08:42 2012 +0100
qcow2: Round QCowL2Meta.offset down to cluster boundary
The offset within the cluster is already present as n_start and this is
what the code uses. QCowL2Meta.offset is only needed at a cluster
granularity.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 871edc5fdba884929102b89d28ff363c94f0822d
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Fix handling of DAY (wday) register.
Per the datasheet, the DAY (wday) register is user defined. Implement
this.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 996e91f04b9cc55cf246052856abe9189a5a0f28
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Implement support for the control register.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ed3d37d287300b7bcdb4605b921e5ec593afd214
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:28 2012 +0000
hw/ds1338.c: Ensure state is properly initialized.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 59dda8e05b015471d456177141a7c2eeda3dab14
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Fix handling of HOURS register.
Per the datasheet, the mapping between 12 and 24 hours modes is:
0 <-> 12 PM
1-12 <-> 1-12 AM
13-23 <-> 1-11 PM
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 95c9361598e66de42facdac64e614e3de85186f5
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Add definitions for various flags in the RTC registers.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 580f5c000809108f51a77ae74709100d32be6ea5
Author: Antoine Mathys <barsamin@xxxxxxxxx>
Date: Thu Dec 13 14:05:27 2012 +0000
hw/ds1338.c: Correct bug in conversion to BCD.
Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a75bf146503a94fb900e0dfa0529bd5d1be9fec5
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Dec 13 15:54:43 2012 +0530
virtio-serial: delete timer if active during exit
The post_load timer was being freed, but not deleted. This could cause
problems when the timer is armed, but the device is hot-unplugged before
the callback is executed.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit bdb917bf8ab187b662c612ee6fb87479c0b82490
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Fri Nov 30 00:54:44 2012 +0530
virtio-serial: allocate post_load only at load-time
This saves us a few bytes in the VirtIOSerial struct. Not a big
savings, but since the entire structure is used only during a short
while after migration, it's helpful to keep the struct cleaner and
smaller.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 2e575a86abc36764ef34030f423ef118914a01cc
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Nov 29 17:02:14 2012 +0530
virtio-serial: move active ports loading to separate function
The virtio_serial_load() function became too big, split the code that
gets the port info from the source into a separate function.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit c3587ca1a25862628e06cc019f91e7b2dcef40bf
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Thu Nov 29 15:44:44 2012 +0530
virtio-serial: use uint32_t to count ports
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c
Author: Pavel Hrdina <phrdina@xxxxxxxxxx>
Date: Tue Dec 11 08:55:48 2012 +0100
atapi: reset cdrom tray statuses on ide_reset
Tray statuses should be also reseted. Some guests may lock the tray
and after reset before any kernel is loaded the tray should be unlocked.
Also if you reset the real computer the tray is closed. We should
do the same in qemu.
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca818cfbfd77e02ffac338866568ac07f6f5fd7d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 15:11:55 2012 +0200
MAINTAINERS: add hw/pci/ to list of PCI files
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 29002d9e104913998265cfff95bb49f4b4a966e2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 12 13:07:29 2012 +0200
pci: prepare makefiles for pci code reorganization
To make it easier to move code around without breaking
build at intermedite steps, tweak makefiles
to look in pci/ and hw/ for include files, automatically.
This will be reverted at the end of the reorganization.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c84a2b1aa5ccdddad03d25f58be5c94eba0d9db4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 10 22:52:11 2012 +0200
get_maintainer.pl: update from linix 3.8
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 89e6d68ef3c45b2c4e3199c3397b5525b752698d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 12 09:13:04 2012 +0200
tap: reset vnet header size on open
For tap, we currently assume the vnet header size is 10
(the default value) but that might not be the case
if tap is persistent and has been used by qemu previously.
To fix, set vnet header size correctly on open.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f918e40e6b7f4e3dcf89c3e3f1001e965a683a1
Author: Jason Baron <jbaron@xxxxxxxxxx>
Date: Mon Oct 29 22:11:31 2012 -0400
Fixup q35/ich9 Licenses
Cleanup the q35/ich9 license headers.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
commit 45e6cee42b98d10e2e14885ab656541a9ffd5187
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 4 11:38:39 2012 +1100
migration: Fix madvise breakage if host and guest have different page
sizes
madvise(DONTNEED) will throw away the contents of the whole page at the
given address, even if the given length is less than the page size. One
can argue about whether that's the correct behaviour, but that's what it's
done for a long time in Linux at least.
That means that the madvise() in ram_load(), on a setup where
TARGET_PAGE_SIZE is smaller than the host page size, can throw away data
in guest pages adjacent to the one it's actually processing right now,
leading to guest memory corruption on an incoming migration.
This patch therefore, disables the madvise() if the host page size is
larger than TARGET_PAGE_SIZE. This means we don't get the benefits of
that
madvise() in this case, but a more complete fix is more difficult to
accomplish. This at least fixes the guest memory corruption.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7ec81e56edc2b2007ce0ae3982aa5c18af9546ab
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 4 11:38:38 2012 +1100
Fix off-by-1 error in RAM migration code
The code for migrating (or savevm-ing) memory pages starts off by creating
a dirty bitmap and filling it with 1s. Except, actually, because bit
addresses are 0-based it fills every bit except bit 0 with 1s and puts an
extra 1 beyond the end of the bitmap, potentially corrupting unrelated
memory. Oops. This patch fixes it.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 91d4093dce58e343e2336324794daa93517b86c2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:33:00 2012 +0100
qemu-iotests: Test concurrent cluster allocations
This adds some first tests for qcow2's dependency handling when two
parallel write requests access the same cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 67a7a0ebe5ef0f337d5f7e7e618b08c562a55da0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:59 2012 +0100
qcow2: Move BLKDBG_EVENT out of the lock
We want to use these events to suspend requests for testing concurrent
AIO requests. Suspending requests while they are holding the CoMutex is
rather boring for this purpose.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 41c695c749b84d40e53e64faadedc0392aaea07e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:58 2012 +0100
qemu-io: Add AIO debugging commands
This makes the blkdebug suspend/resume functionality available in
qemu-io. Use it like this:
$ ./qemu-io blkdebug::/tmp/test.qcow2
qemu-io> break write_aio req_a
qemu-io> aio_write 0 4k
qemu-io> blkdebug: Suspended request 'req_a'
qemu-io> resume req_a
blkdebug: Resuming request 'req_a'
qemu-io> wrote 4096/4096 bytes at offset 0
4 KiB, 1 ops; 0:00:30.71 (133.359788 bytes/sec and 0.0326 ops/sec)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3c90c65d7adab49a41952ee14e1d65f81355e408
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:57 2012 +0100
blkdebug: Implement suspend/resume of AIO requests
This allows more systematic AIO testing. The patch adds three new
operations to blkdebug:
* Setting a "breakpoint" on a blkdebug event. The next request that
triggers this breakpoint is suspended and is tagged with a name.
The breakpoint is removed after a request has triggered it.
* A suspended request (identified by it's tag) can be resumed
* It's possible to check whether a suspended request with a given
tag exists. This can be used for waiting for an event.
Ideally, we would instead tag requests right when they are created and
set breakpoints for individual requests. However, at this point the
block layer doesn't allow this easily, and breakpoints that trigger for
any request already allow a lot of useful testing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e35542b0fc3871caac15ccd57548b99df2c94b7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:56 2012 +0100
blkdebug: Factor out remove_rule()
The cleanup work to remove a rule depends on the type of the rule. It's
easy for the existing rules as there is no data that must be cleaned up
and is specific to a type yet, but the next patch will change this.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 312a2ba0eb8ab19646517aeaa785475d3fbcfd51
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 6 14:32:55 2012 +0100
blkdebug: Allow usage without config file
As soon as new rules can be set during runtime, as introduced by the
next patch, blkdebug makes sense even without a config file.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b83c18e225cf82a21535561270b6dfd86b1c9031
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:23 2012 +0800
create new function: qemu_opt_set_number
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e478b448d7c36046462733ffaeaea0961575790a
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:22 2012 +0800
use qemu_opts_create_nofail
We will use qemu_opts_create_nofail function, it can make code
more readable.
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dd39244978627e41a66b98d20eceddb1d7d25def
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:21 2012 +0800
introduce qemu_opts_create_nofail function
While id is NULL, qemu_opts_create can not fail, so ignore
errors is fine.
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ad718d01ba0af531d10b0a8685cf5047edfd1891
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:20 2012 +0800
qemu-option: qemu_opt_set_bool(): fix code duplication
It will set opt->str in qemu_opt_set_bool, without opt->str, there
will be some potential bugs.
These are uses of opt->str, and what happens when it isn't set:
* qemu_opt_get(): returns NULL, which means "not set". Bug can bite
when value isn't the default value.
* qemu_opt_parse(): passes NULL to parse_option_bool(), which treats it
like "on". Wrong if the value is actually false. Bug can bite when
qemu_opts_validate() runs after qemu_opt_set_bool().
* qemu_opt_del(): passes NULL to g_free(), which is just fine.
* qemu_opt_foreach(): passes NULL to the callback, which is unlikely to
be prepared for it.
* qemu_opts_print(): prints NULL, which crashes on some systems.
* qemu_opts_to_qdict(): passes NULL to qstring_from_str(), which
crashes.
It also makes qemu_opt_set_bool more readable by using find_desc_by_name
and opts_accepts_any.
It is based on Luiz's patch and uses Markus's comments. Discussions can
be found at:
http://lists.nongnu.org/archive/html/qemu-devel/2012-07/msg02716.html
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit db97ceba1e17db59188e91b66e61bf84a6a71081
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:19 2012 +0800
qemu-option: qemu_opts_validate(): fix duplicated code
Use opts_accepts_any() and find_desc_by_name().
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c474ced8fe6684265fbb6a3183eb0cbea561409f
Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 6 14:47:18 2012 +0800
qemu-option: opt_set(): split it up into more functions
The new functions are opts_accepts_any() and find_desc_by_name(), which
are also going to be used by qemu_opts_validate() (see next commit).
This also makes opt_set() slightly more readable.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 97331270e50f5858c82a0c6d146da81f5b776535
Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Date: Mon Dec 3 12:55:57 2012 +0000
exynos4210/mct: Avoid infinite loop on non incremental timers
Check for a 0 "distance" value to avoid infinite loop when the
expired FCR timer was not programed with auto-increment.
With this change the behavior is coherent with the same type
of code in the exynos4210_gfrc_restart() function in the same
file.
Linux seems to mostly use this timer with auto-increment
which explain why it is not a problem most of the time.
However other OS might have a problem with this if they
don't use the auto-increment feature.
Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Reviewed-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f47b48fb678581d6ee369cfe26b3513100b7d53e
Author: Daniel Sangorrin <dsl@xxxxxxx>
Date: Tue Dec 11 11:30:38 2012 +0000
hw/arm_gic: fix target CPUs affected by set enable/pending ops
Fix a bug on the ARM GIC model where interrupts are not
set pending on the correct target CPUs when they are
triggered by writes to the Interrupt Set Enable or
Set Pending registers.
Signed-off-by: Daniel Sangorrin <dsl@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 79f5d67e9db35d53b478699393590392f7be03ac
Author: walimis <walimisdev@xxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
xilinx_zynq: Add one variable to avoid overwriting QSPI bus
commit 7b482bcf xilinx_zynq: added QSPI controller
Adds one QSPI controller, which has two spi buses, one is for
spi0, and another is for spi1. But when initializing the spi1
bus, "dev" has been overwrited by the ssi_create_slave_no_init() function,
so that qdev_get_child_bus() returns NULL and the last two m25p80 flashes
won't be attached to the spi1 bus, but to main-system-bus.
Here we add one variable to avoid overwriting.
Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ee3f095680e4f578f4f1371a90acc20375b48966
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs
The GIC architecture specification for v1 and v2 GICs (as found
on the Cortex-A9 and newer) states that the GICC_PMR reset value
is zero; this differs from the 0xf0 reset value used on 11MPCore.
The NVIC is different again in not having a CPU interface; since
we share the GIC code we must force the priority mask field to
allow through all interrupts.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit cad065f18e1ca7694385f42f560da637d4e651b6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_gic: Fix comparison with priority mask register
The GIC spec states that only interrupts with higher priority
than the value in the GICC_PMR priority mask register are
passed through to the processor. We were incorrectly allowing
through interrupts with a priority equal to the specified
value: correct the comparison operation to match the spec.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit bf471f7950e9dc9416747b2774eb712f63afe5a7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 11 11:30:37 2012 +0000
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init
Fix the code in the secondary CPU boot stubs so that it correctly
initialises the GIC rather than relying on bugs or implementation
dependent aspects of the QEMU GIC implementation:
* set the GIC_PMR.Priority field to all-ones, so that all
interrupts are passed through. The default of all-zeroes
means all interrupts are masked, and QEMU only booted because
of a bug in the priority masking in our GIC implementation.
* add a barrier after GIC setup and before WFI to ensure that
GIC config is complete before we go into a possible low power
state. This isn't needed with the software GIC model but could
be required when using KVM and executing this code on the
real hardware CPU.
Note that of the three secondary stub implementations, only
the common generic one needs to support both v6 and v7 DSB
encodings; highbank and exynos4210 will always be v7 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
commit fbcad04d6bfdff937536eb23088a01a280a1a3af
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Mon Dec 10 12:56:22 2012 +0100
Fix error code checking for SetFilePointer() call
An error has occurred if the return value is invalid_set_file_pointer
and getlasterror doesn't return no_error.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 473c7f0255920bcaf37411990a3725898772817f
Author: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Date: Fri Nov 30 09:55:46 2012 +0100
rbd: Fix race between aio completition and aio cancel
This one fixes a race which qemu had also in iscsi block driver
between cancellation and io completition.
qemu_rbd_aio_cancel was not synchronously waiting for the end of
the command.
To archieve this it introduces a new status flag which uses
-EINPROGRESS.
Signed-off-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 791bfa35ee00ca10b13bedfb048ffda385b151c7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 4 16:35:12 2012 +0100
qemu-io: Implement write -c for compressed clusters
This makes it easier to create images with both compressed and
uncompressed clusters for testing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 23e956bfe6af6f71046772478ed08d4e5c9c62d4
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 14 17:53:16 2012 -0500
tests: Add tests for fdsets
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d92ada2202a0730e396304908ff7b870168387d2
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:09 2012 -0200
block: bdrv_img_create(): drop unused error handling code
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf8f2426c55245f437a91f2fdabbed4ea24e7786
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:08 2012 -0200
qmp: qmp_drive_mirror(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 43e17041156ddecac8a7500648e71287ba270c0a
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:07 2012 -0200
qmp: qmp_transaction(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a930091189cedcc0023dd38f705e2a46e530f4a4
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:06 2012 -0200
qemu-img: img_create(): drop unneeded goto and ret variable
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9b37525a7dbc4f5eef0023fc92716259a3d94612
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:05 2012 -0200
qemu-img: img_create(): pass Error object to bdrv_img_create()
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 71c79813d83b5b45ba934cf995436063da458f66
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Fri Nov 30 10:52:04 2012 -0200
block: bdrv_img_create(): add Error ** argument
This commit adds an Error ** argument to bdrv_img_create() and set it
appropriately on error.
Callers of bdrv_img_create() pass NULL for the new argument and still
rely on bdrv_img_create()'s return value. Next commits will change
callers to use the Error object instead.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3c42ea66888f149d72d600bab63624b2d849e4bf
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Nov 22 21:02:55 2012 +0100
block: simplify default_drive
Markus Armbruster pointed out that there is only one caller
to default_drive with IF_DEFAULT as a type. Lets get rid
of the block_default_type parameter and adopt the caller
to do the right thing (asking the machine struct).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d0d2837dcf786da415cf4165d37f4ddd684ff57
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Nov 20 15:30:34 2012 +0100
Support default block interfaces per QEMUMachine
There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a
default/standard interface to their block devices / drives. Therefore,
this patch introduces a new field default_block_type per QEMUMachine
struct. The prior use_scsi field becomes thereby obsolete and is
replaced through .default_block_type = IF_SCSI.
This patch also changes the default for s390x to IF_VIRTIO and
removes an early hack that converts IF_IDE drives.
Other parties have already claimed interest (e.g. IF_SD for exynos)
To create a sane default, for machines that dont specify a
default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1.
I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c)
as well as IF_IDE and it seems that it is ok to change the defines -
in other words, I found no obvious (to me) assumption in the code
regarding IF_NONE==0. IF_NONE is only set if there is an
explicit if=none. Without if=* the interface becomes IF_DEFAULT.
I would suggest to have some additional care, e.g. by letting
this patch sit some days in the block tree.
Based on an initial patch from Einar Lueck <elelueck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
CC: Markus Armbruster <armbru@xxxxxxxxxx>
CC: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c208e8c2d88eea2bbafc2850d8856525637e495d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 2 16:14:20 2012 +0100
raw-posix: inline paio_ioctl into hdev_aio_ioctl
clang now warns about an unused function:
CC block/raw-posix.o
block/raw-posix.c:707:26: warning: unused function paio_ioctl
[-Wunused-function]
static BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd,
^
1 warning generated.
because the only use of paio_ioctl() is inside a #if defined(__linux__)
guard and it is static now.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 258d2edbcd4bb5d267c96163333820332e1c14fa
Author: Charles Arnold <carnold@xxxxxxxx>
Date: Tue Oct 30 20:59:32 2012 -0600
block: vpc support for ~2 TB disks
The VHD specification allows for up to a 2 TB disk size. The current
implementation in qemu emulates EIDE and ATA-2 hardware which only allows
for up to 127 GB. This disk size limitation can be overridden by allowing
up to 255 heads instead of the normal 4 bit limitation of 16. Doing so
allows disk images to be created of up to nearly 2 TB. This change does
not violate the VHD format specification nor does it change how smaller
disks (ie, <=127GB) are defined.
[Charles Arnold also writes: "In analyzing a 160 GB VHD fixed disk image
created on Windows 2008 R2, it appears that MS is also ignoring the CHS
values in the footer geometry field in whatever driver they use for
accessing the image. The CHS values are set at 65535,16,255 which
obviously doesn't represent an image size of 160 GB." -- Stefan]
Signed-off-by: Charles Arnold <carnold@xxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1fe1fa510aa3d4eb1fb4246d4951ef48e4c949c2
Author: Charles Arnold <carnold@xxxxxxxx>
Date: Fri Nov 2 09:54:24 2012 -0600
block: vpc initialize the uuid footer field
Initialize the uuid field in the footer with a generated uuid.
Signed-off-by: Charles Arnold <carnold@xxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d567e62f98d5789ff4d273b924a0474931c71e8b
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Nov 15 13:12:14 2012 +1100
virtio-blk: Remove duplicate property definition
For the virtio-blk device (via virtio-pci) the property "config-wce" is
defined in two places. First, it's defined from the
DEFINE_VIRTIO_BLK_FEATURES macro, second it's defined directly in
virtio-pci, just two lines above the call to that macro.
The direct definition in virtio-pci.c is broken, since it operates on the
'config_wce' field of VirtIOBlkConf, which is never used anywhere else.
Therefore, this patch removes both the extra property definition and the
redundant field it works on.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Paul 'Rusty' Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f500a6d3c2b9ef0bb06d0080d91d8ed3c1d68f58
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Nov 12 17:35:27 2012 +0100
block: Avoid second open for format probing
This fixes problems that are caused by the additional open/close cycle
of the existing format probing, for example related to qemu-nbd without
-t option or file descriptor passing.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7b272452398135e4f8e48341239705d03c82dae3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Nov 12 17:05:39 2012 +0100
block: Factor out bdrv_open_flags
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c57b6656c3168bccca7f78b3f740e9149893b3da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Nov 13 16:35:13 2012 +0100
aio: Get rid of qemu_aio_flush()
There are no remaining users, and new users should probably be
using bdrv_drain_all() in the first place.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d318aea9325c99b15c87a7c14865386c2fde0d2c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Nov 13 16:35:08 2012 +0100
block: Improve bdrv_aio_co_cancel_em
Instead of waiting for all requests to complete, wait just for the
specific request that should be cancelled.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a805c222caa0e20bf11d2267f726d0bb5917d94
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Dec 4 16:12:19 2012 +0100
tests: avoid qemu_aio_flush() in test-thread-pool.c
We need to eliminate calls to qemu_aio_flush() since the function is
being removed. Most callers will use bdrv_drain_all() instead but
test-thread-pool.c is lower level.
Since the test uses the global AioContext we can loop on qemu_aio_wait()
to wait for aio and bh activity to complete.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9fe3781f09f94f3ce76e52899bcdeb0d5164dbb1
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Dec 4 16:12:18 2012 +0100
tests: use aio_poll() instead of aio_flush() in test-aio.c
There has been confusion between various aio wait and flush functions.
It's time to get rid of qemu_aio_flush() but in the aio test cases we
really do want this low-level functionality.
Therefore declare a local wait_for_aio() helper for the test cases.
Drop the aio_flush() test case.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff1562908d1da12362aa9e3f3bfc7ba0da8114a4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 11 08:24:30 2012 +0100
seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
This patch updates seabios to latest git master. Changes:
(1) q35 patches merged.
(2) some acpi cleanups.
(3) fixes irq 8 conflict.
(3) makes this a candidate for the stable branch
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d281084d3e51f03999d12a506491a0c6f31b40e8
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Mon Dec 10 11:30:03 2012 -0700
vfio-pci: Don't use kvm_irqchip_in_kernel
kvm_irqchip_in_kernel() has an architecture specific meaning, so
we shouldn't be using it to determine whether to enabled KVM INTx
bypass. kvm_irqfds_enabled() seems most appropriate. Also use this
to protect our other call to kvm_check_extension() as that explodes
when KVM isn't enabled.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 1c97e303d4ea80a2691334b0febe87a50660f99d
Merge: 7c12fd9... b34d12d...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:35:15 2012 -0600
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu:
target-i386: Postpone cpuid_level update to realize time
target-i386: Use define for cpuid vendor string size
target-i386: Separate feature string parsing from CPU model lookup
target-i386/cpu.c: Coding style fixes
qdev: qdev_create(): use error_report() instead of hw_error()
sysemu.h: Include qemu-types.h instead of qemu-common.h
Create qemu-types.h for struct typedefs
qlist.h: Do not include qemu-common.h
qga/channel-posix.c: Include headers it needs
qapi/qmp-registry.c: Include headers it needs
ui/vnc-palette.c: Include headers it needs
user: Rename qemu-types.h to qemu-user-types.h
user: Move *-user/qemu-types.h to main directory
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7c12fd9b29c6ca2119396f143d84706f2fba6222
Merge: 8385b17... 654598c...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:34:29 2012 -0600
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path
qemu-options: Fix space at EOL
Fix spelling in comments and documentation
Clean up pci_drive_hot_add()'s use of BlockInterfaceType
arm: a9mpcore: remove un-used ptimer_iomem field
target-sparc: Remove t0, t1 from CPUSPARCState
target-m68k: Remove t1 from CPUM68KState
target-alpha: Remove t0, t1 from CPUAlphaState
s390x: Spelling fixes (endianess -> endianness, occured -> occurred)
Fix comments (adress -> address, layed -> laid, wierd -> weird)
Fix spelling (prefered -> preferred)
configure: Remove stray debug output
sd: Send debug printfery to stderr not stdout
Conflicts:
configure
Resolve spelling conflict in configure.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8385b173a0ca4c2345434104e6cc2a7259adc4b9
Merge: 16ef55c... 3e43749...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:33:11 2012 -0600
Merge remote-tracking branch 'kraxel/acpi.1' into staging
* kraxel/acpi.1:
acpi: drop debug port
q35: update lpc pci config space according to configured devices
apci: switch piix4 pci hotplug to memory api
acpi: remove acpi_gpe_blk
apci: switch piix4 gpe to memory api
acpi: fix piix4 smbus mapping
acpi: switch smbus to memory api
acpi: cleanup ich9 memory region
apci: switch ich9 smi to memory api
apci: switch ich9 gpe to memory api
acpi: cleanup vt82c686 memory region
acpi: cleanup piix4 memory region
apci: switch evt to memory api
apci: switch cnt to memory api
apci: switch timer to memory api
apci: switch vt82c686 to memory api
apci: switch ich9 to memory api
apci: switch piix4 to memory api
Conflicts:
hw/lpc_ich9.c
Resolved merge conflict due to apm_init adding an argument.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16ef55ca85ac8c8fcac46547108bd1c8b44943a2
Merge: c62adbe... 9fd2ecd...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:32:15 2012 -0600
Merge remote-tracking branch 'aneesh/for-upstream' into staging
* aneesh/for-upstream:
virtfs-proxy-helper: use setresuid and setresgid
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c62adbee15deae473aa02a37193ddd6b054b0c9f
Merge: e49d021... 427e3aa...
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 10 08:31:19 2012 -0600
Merge remote-tracking branch 'kraxel/usb.74' into staging
* kraxel/usb.74:
usb-tablet: Allow connecting to ehci
ehci: Lower timer freq when the periodic schedule is idle
usb: Allow overriding of usb_desc at the device level
usb: Don't allow USB_RET_ASYNC for interrupt packets
usb: Call wakeup when data becomes available for all devices with int
eps
add pc-1.4
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e49d021e574c3ee8e443bcc84d1fb7dfb4c87c42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Dec 7 15:39:13 2012 +0000
configure: Default to 'cc', not 'gcc'
Default to 'cc' as our compiler, rather than 'gcc'. We used to have
to insist on gcc when we still kept the CPU env in a fixed global
register, but this is no longer necessary and we will now compile OK
on clang as well as gcc. Using 'cc' should generally result in us
using the most standard and maintained system compiler for the
platform. (For instance on newer MacOS X 'gcc' exists but is an
elderly compiler provided mostly for legacy reasons, and 'cc'
(which is clang) is definitely the better choice.) On Linux there
will generally be no user-visible change since cc will be gcc.
This changeover necessitates a slight reworking of how we set the
'cc' variable, because GNU cross toolchains generally provide a
'${cross_prefix}gcc' but not a '${cross_prefix}cc'.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 24c35a504e8b09e697d0268bbefb2a329b901611
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 12 03:55:51 2012 +0000
linux-user: Merge pread/pwrite into pread64/pwrite64
The Linux syscalls underlying pread() and pwrite() take a 64 bit
offset on all architectures, even if some of them name the syscall
"pread/pwrite" rather than "pread64/pwrite64" for historical reasons.
So move the four QEMU target architectures (arm, i386, sparc,
unicore32) which were defining TARGET_NR_pread/pwrite to define
TARGET_NR_pread64/pwrite64 instead, and drop the TARGET_NR_pread/pwrite
implementation code completely.
(Based on examination of the kernel sources for the four architectures
this patch affects.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit f877d09e63bd94424dab049da75bc1cd601a7609
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:27 2012 +0400
target-xtensa: use movcond where possible
Use movcond for all sorts of conditional moves, ABS, CLAMPS, MIN/MAX
opcodes.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 5dacd229ebb46c236cb1dd0c65a4e4f2cfb55dfb
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:26 2012 +0400
target-xtensa: add s32c1i unit tests
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit efdfac94f48f8589a0d60b650c7bed989a341eaa
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:25 2012 +0400
target-xtensa: add SR accessibility unit tests
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b7909d81f7658f64bba0faed83e7c2fd6a52fcba
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:24 2012 +0400
target-xtensa: implement MISC SR
The Miscellaneous Special Registers Option provides zero to four scratch
registers within the processor readable and writable by RSR, WSR, and
XSR. These registers are privileged. They may be useful for some
application-specific exception and interrupt processing tasks in the
kernel. The MISC registers are undefined after reset.
See ISA, 4.7.3 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 53593e90d13264dc88b3281ddf75ceaa641df05a
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:23 2012 +0400
target-xtensa: better control rsr/wsr/xsr access to SRs
There are read-only (DEBUGCAUSE, PRID) and write-only (INTCLEAR) SRs,
and INTERRUPT/INTSET SR allows rsr/wsr, but not xsr. Raise illeagal
opcode exception on illegal access to these SRs.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fe0bd475aa31e60674f7f53b85dc293108026202
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:22 2012 +0400
target-xtensa: restrict available SRs by enabled options
Beginning with the RA-2004.1 release, SR access instructions (rsr, wsr,
xsr) are associated with their corresponding SR and raise illegal opcode
exception in case the register is not configured for the core.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4e41d2f5830a76d3fe92b3d3b18cc9f2ee927770
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:21 2012 +0400
target-xtensa: implement CACHEATTR SR
In XEA1, the Options for Memory Protection and Translation and the
corresponding TLB management instructions are not available. Instead,
functionality similar to the Region Protection Option is available
through the cache attribute register. See ISA, A.2.14 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit fcc803d119a4c01a9b0ee5bda35fda1eeabffa33
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Wed Dec 5 07:15:20 2012 +0400
target-xtensa: implement ATOMCTL SR
ATOMCTL SR controls s32c1i opcode behavior depending on targeted memory
type. See ISA, 4.3.12.4 for details.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 536b558f5896ebbd635b57fa393e82faaa32ad52
Merge: 511c68d... 19e6c50...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 8 17:50:57 2012 +0000
Merge branch 'master' of git.qemu-project.org:/pub/git/qemu
* 'master' of git.qemu-project.org:/pub/git/qemu:
target-mips: Fix incorrect shift for SHILO and SHILOV
target-mips: Fix incorrect code and test for INSV
xilinx_uartlite: Accept input after rx FIFO pop
xilinx_uartlite: suppress "cannot receive message"
xilinx_axienet: Implement R_IS behaviour
commit 511c68d3af626cb0a39034cb77e7ac64d3a26c0c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 16:32:58 2012 -0200
finally kill cpudef config section support
The external CPU models were removed on QEMU 1.2, and the support for
the "cpudef" config sections was documented as deprecated, but the
actual removal of the config section was pending.
Now that QEMU 1.3 was released, we can finally kill the support for
cpudef config sections, and support only the built-in CPU models from
target-i386/cpu.c.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 4cdd2e665ec4bd10c20c26432ee9ffe4db7bcc1c
Merge: 4753631... 5822993...
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Sat Dec 8 14:28:13 2012 +0000
Merge branch 'memory-ioport' of git://github.com/afaerber/qemu-cpu
* 'memory-ioport' of git://github.com/afaerber/qemu-cpu:
hw/dma.c: Replace register_ioport_*
hw/pc.c: Replace register_ioport_*
serial: Replace register_ioport_*
hw/cirrus_vga.c: Replace register_ioport_*
hw/apm.c: Replace register_ioport_*
isa: Add isa_address_space_io()
commit 475363176c80feedb8feb5e335ba64de68c7b055
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Oct 31 09:30:47 2012 +0000
HACKING: List areas where we may rely on impdef C behaviour
Add a section to HACKING saying which version of the C spec
we use and describing the bits of implementation defined C
compiler behaviour which C code in QEMU is allowed to rely on.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 288fa40736e6eb63132d01aa6dc21ee831b796ae
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 27 13:19:40 2012 +0100
pixman: require 0.18.4 or newer
When older versions are found the internal pixman version is prefered.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 94788f54e9deeaa2c82891a7d216fdd6e0e58749
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:07 2012 +0400
TCG: Remove unused global gen_opc_ arrays.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit ab1103def476d985c08362df97ff9cb9c112adfc
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:06 2012 +0400
TCG: Use gen_opc_instr_start from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c9c99c22d5f8e9cfa83260fbe236a57e7383d673
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:05 2012 +0400
TCG: Use gen_opc_icount from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 25983cad31969e3003eef77bc03a6700f46899d2
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:04 2012 +0400
TCG: Use gen_opc_pc from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit c3a43607d927e6a0ecce0b61e8297c1cfe604c14
Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Date: Wed Nov 21 11:43:03 2012 +0400
tcg/tcg.h: Duplicate global TCG gen_opc_ arrays into TCGContext.
Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 2aa1cb514cdce31ca68902d464cd03d31a76e998
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Mon Nov 19 04:22:12 2012 -0500
curses: Remove OpenBSD workaround
I removed the same sort of workaround for OpenBSD within the
configure script with commit 4dcc3f5876fa638d5c35bd47be3b717ea74cc2e7
but didn't bother to grep further to come across this same chunk
of code in the curses code itself. So the following diff removes
the same workaround chunk within the curses code.
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit 0be4835b4932f38167b611c2b311ebaaec98a8eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 09:20:46 2012 +1100
exec: Advise huge pages for the TCG code gen buffer
After allocating 32MB or more contiguous memory, huge pages
would seem to be ideal.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx>
commit b34d12d153e6e5c5e5e00eac510b054a94409deb
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Oct 22 17:03:00 2012 +0200
target-i386: Postpone cpuid_level update to realize time
Delay capping cpuid_level to 7 to realize time so property setters
for cpuid_7_0_ebx_features and "level" could be used in any order/time
between x86_cpu_initfn() and x86_cpu_realize().
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 654598c944aa31cdbea435bd468055af9c918d16
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 23 19:12:18 2012 +0100
pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path
Harmless, because we the error inevitably leads to another, fatal one
in pc_system_flash_init(): PC system firmware (pflash) not available.
Fix it anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3528a3cba1f59de520fad7b1c843759e8655ea2c
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Nov 23 09:52:39 2012 +0100
qemu-options: Fix space at EOL
There's no need to add a space at the end of line.
Moreover, it can make problems in some projects that
store the help output into a file (and run couple of
tests based on that) and have space at EOL forbidden.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 993d46ce7e54f3d035d344ed1b145b13f9ac54b9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 23 07:26:04 2012 +0100
Fix spelling in comments and documentation
These spelling bugs were found by codespell:
supressing -> suppressing
transfered -> transferred
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4dbd84e26f53d3283baa463f390f9623e8913e8f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 22 15:16:36 2012 +0100
Clean up pci_drive_hot_add()'s use of BlockInterfaceType
pci_drive_hot_add() parameter type has the wrong type: int instead of
BlockInterfaceType. It's actually redundant, so we can just drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 036f0f8356936dba36b952c16f477b3f04f54e37
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 19 15:13:49 2012 +1000
arm: a9mpcore: remove un-used ptimer_iomem field
I'm guessing this is a hangover from a previous coreification of the
mptimer
sub-module. This field is completely unused - removed.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dee17bf9e5d29bd08592c6fc47541aad70444bbc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:37 2012 +1100
target-sparc: Remove t0, t1 from CPUSPARCState
These fields are no longer used.
Cc: Blue Swirl <blauwirbel@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d694516440ca31bbcc7ad73f5e99b45fbeb2a6e6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:36 2012 +1100
target-m68k: Remove t1 from CPUM68KState
This field is no longer used.
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c47d08ceff8ac76ff857016c80a8864fcf45a7d6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Nov 2 08:36:35 2012 +1100
target-alpha: Remove t0, t1 from CPUAlphaState
These fields are no longer (or were never?) used.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8367a14fd3c1ecd5551c91cd3f951ffc61ad7c12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:35:54 2012 +0100
s390x: Spelling fixes (endianess -> endianness, occured -> occurred)
Replace also "write into" by "write to".
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a93cf9dfba171aa94e3c4002d58abef2a3732bfb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:29:53 2012 +0100
Fix comments (adress -> address, layed -> laid, wierd -> weird)
Remove also a duplicated 'the'.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eac29d87c883fcbb54913ae20ed2bdccb4bcf7a3
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Nov 2 08:14:12 2012 +0100
Fix spelling (prefered -> preferred)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb5b5c20b7f68c79e036cd3ec5e9e6362c112670
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Oct 20 20:37:04 2012 +0100
configure: Remove stray debug output
Rather than printing a message saying we're silently falling
back to gthread coroutines when running on MacOS, actually
do it silently.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 038d3d44598232f5aad40d1c84c215f38a21576c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Thu Nov 15 16:32:53 2012 +1000
sd: Send debug printfery to stderr not stdout
Some debug printfs for SD are coming up in stdout. Redirected them to
stderr
instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9df694eeb8447ae5a302b4d40df9a8b91dfc61da
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Oct 22 17:03:10 2012 +0200
target-i386: Use define for cpuid vendor string size
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f961357d06a0beeb7d3efbde1d754d82ff6a300
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 17:34:39 2012 -0200
target-i386: Separate feature string parsing from CPU model lookup
Instead of parsing the whole cpu_model string inside
cpu_x86_find_by_name(), first split it into the CPU model name and the
full feature string, then parse the feature string into pieces.
When using CPU model classes, those two pieces of information will be
used at different moments (CPU model name will be used to find CPU
class, feature string will be used after CPU object was created), so
making the split in two steps will make it easier to refactor the code
later.
This should also help on the CPU properties work, that will just need to
replace the cpu_x86_parse_featurestr() logic (and can keep the CPU model
lookup code as-is).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9f3fb5657b2133a408ccf40b4ab57dec9b4ce771
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 17:34:38 2012 -0200
target-i386/cpu.c: Coding style fixes
- Use spaces instead of tabs on cpu_x86_cpuid().
- Use braces on 'if' statement cpu_x86_find_by_name().
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 23e3fbec3355e67dbf26e98bbe33ef354097df8e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Dec 4 11:19:34 2012 -0200
qdev: qdev_create(): use error_report() instead of hw_error()
hw_error() is specific for fatal hardware emulation errors, not for
internal errors related to the qdev object/class abstraction or object
initialization.
Replace it with an error_report() call, followed by abort().
This will also help reduce dependencies of the qdev code (as hw_error()
is from cpus.o, and depends on the CPU list from exec.o).
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bcf7930105c26d09ae83cbd8b982d01bb421f215
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:44:08 2012 -0200
sysemu.h: Include qemu-types.h instead of qemu-common.h
It just needs the Monitor and DeviceState typedefs, so it doesn't need
all of qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 394e1bb79591c2fbfc873e5ccc38e92a3ba992cf
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:41:52 2012 -0200
Create qemu-types.h for struct typedefs
Instead of keeping all those struct typedefs in qemu-common.h, move it
to a header that can be safely included by other headers, containing
only the struct typedefs and not pulling in other dependencies.
Also, move some of the qdev-core.h typedefs to the new file, too, so
other headers don't need to include qdev-core.h only because of
DeviceState and other typedefs.
This will help us remove qemu-common.h dependencies from some headers
later.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cad32159663c5910098e10d64f4b5b10648b0095
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:55:19 2012 -0200
qlist.h: Do not include qemu-common.h
I don't know why it was including it, as I don't see any code that
depends on anything from qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4d4922c339abf67e47c79068d343ed41a020b8e2
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:37:20 2012 -0200
qga/channel-posix.c: Include headers it needs
Include:
- <errno.h> for errno
- <unistd.h> & <fcntl.h> for fcntl()
- <stdlib.h> for exit()
- "osdep.h" for qemu_open()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ccff63cac4f0d391187c9ee9aa2cab754df80c41
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:35:44 2012 -0200
qapi/qmp-registry.c: Include headers it needs
Include:
- <glib.h> for g_malloc0()
- <string.h> for strcmp()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90f0cfa410544727ac4e9c130f9e5032e1fb9b71
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 21:19:18 2012 -0200
ui/vnc-palette.c: Include headers it needs
Include:
- <glib.h> for g_malloc0()
- <string.h> for memset()
Some of those headers were probably being included by accident because
some other headers were including qemu-common.h, but those headers
should eventually stop including qemu-common.h.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee9baa00f2623f1f627913f62d60f2888286319a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 22:54:34 2012 -0200
user: Rename qemu-types.h to qemu-user-types.h
The header file is specific for *-user, but I plan to introduce a more
generic qemu-types.h file, so I'm renaming it.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89e0e9c71e608f3679f30e88d988903536c6f7f3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Oct 23 20:42:56 2012 -0200
user: Move *-user/qemu-types.h to main directory
The bsd-user/qemu-types.h and linux-user/qemu-types.h files are almost
the same, but linux-user has the additional definitions of tswapal().
This moves the linux-user file to the main directory, so the same file
can be used by linux-user and bsd-user.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19e6c50d2d843220efbdd3b2db21d83c122c364a
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Wed Dec 5 00:29:10 2012 +0100
target-mips: Fix incorrect shift for SHILO and SHILOV
helper_shilo has not been shifting an accumulator value correctly for
negative
values in 'shift' field. Minor optimization for shift=0 case.
This change also adds tests that will trigger issue and check for
regressions.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 34f5606ee101f82a247d09d05644ad2a63c8e342
Author: Petar Jovanovic <petarj@xxxxxxxx>
Date: Mon Nov 26 16:13:21 2012 +0100
target-mips: Fix incorrect code and test for INSV
Content of register rs should be shifted for pos before applying a mask.
This change contains both fix for the instruction and to the existing
test.
Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx>
Reviewed-by: Eric Johnson <ericj@xxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 9fd2ecdc8cb2dc1a8a7c57b6c9c60bc9947b6a73
Author: Paolo Bonzini <pbonini@xxxxxxxxxx>
Date: Thu Oct 11 14:20:23 2012 +0200
virtfs-proxy-helper: use setresuid and setresgid
The setfsuid and setfsgid system calls are obscure and they complicate
the error checking (that glibc's warn_unused_result "feature" forces
us to do). Switch to the standard setresuid and setresgid functions.
Signed-off-by: Paolo Bonzini <pbonini@xxxxxxxxxx
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 80625b97b52836b944a6438e8e3e9d992e6a00b6
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:44 2012 +1000
xilinx_uartlite: Accept input after rx FIFO pop
The device return false from the can receive function when the FIFO is
full. This mean the device should check for buffered input whenever a
byte is
popped from the FIFO.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 859cc10d23e619153670fc58683373fa24d25b68
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:43 2012 +1000
xilinx_uartlite: suppress "cannot receive message"
This message is not an error condition, its just informing the user that
the device is corking the uart traffic to not drop characters.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit d4d230da08918183929c7d6cb54824b391536904
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Dec 5 16:53:42 2012 +1000
xilinx_axienet: Implement R_IS behaviour
The interrupt status register R_IS is the standard clear-on-write
behaviour.
This was unimplemented and defaulting to updating the register to the
written
value. Implemented clear-on-write.
Reported-by: Jason Wu <huanyu@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 582299336879504353e60c7937fbc70fea93f3da
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:09 2012 +0100
hw/dma.c: Replace register_ioport_*
Replace all register_ioport_*() with the new Memory API functions.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 258711c6448c44b60b0fecef1d3b09c71e23e304
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:08 2012 +0100
hw/pc.c: Replace register_ioport_*
Replace all register_ioport_*() with portio_*() or a MemoryRegion.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 568fd159e4ca82d213706acd2cf4c94f27537096
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:07 2012 +0100
serial: Replace register_ioport_*
Replace all register_ioport_*() with a MemoryRegion.
This permits to use the new Memory stuff like listeners.
For more flexibility, the IO address space is passed as an argument.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto serial split]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c75e6d8e354c44e76045cb0de20cda1a4ce4d575
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:06 2012 +0100
hw/cirrus_vga.c: Replace register_ioport_*
Replace all register_ioport_*() with the new Memory API.
This permits to use the new Memory stuff like listeners.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 42d8a3cf960659069bd2b2d9c443dafd7585607f
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:03 2012 +0100
hw/apm.c: Replace register_ioport_*
Replace all register_ioport_*() with a MemoryRegion.
This permits to use the new Memory stuff like listeners.
Moreover, the PCI device is added as an argument for apm_init(),
so we can register IO inside the PCI IO address space.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
[AF: Rebased onto hwaddr and q35]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ac10027327e27c9b360452e01af3ef2147f5a26f
Author: Julien Grall <julien.grall@xxxxxxxxxx>
Date: Wed Sep 19 12:50:02 2012 +0100
isa: Add isa_address_space_io()
This function permits to retrieve ISA IO address space.
It will be usefull when we need to pass IO address space as argument.
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
Acked-by: Avi Kivity <avi@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 427e3aa151c749225364d0c30640e2e3c1756d9d
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:18 2012 +0100
usb-tablet: Allow connecting to ehci
Our ehci code has is capable of significantly lowering the wakeup rate
for the hcd emulation while the device is idle. It is possible to add
similar code ot the uhci emulation, but that simply is not there atm,
and there is no reason why a (virtual) usb-tablet can not be a USB-2
device.
Making usb-hid devices connect to the emulated ehci controller instead
of the emulated uhci controller on vms which have both lowers the cpuload
for a fully idle vm from 20% to 2-3% (on my laptop).
An alternative implementation to using a property to select the tablet
type, would be simply making it a new device type, ie usb-tablet2, but the
downside of that is that this will require libvirt changes to be available
through libvirt at all, and then management tools changes to become the
default for new vms, where as using a property will automatically get
any pc-1.3 type vms the lower cpuload.
[ kraxel: adapt compat property for post-1.3 merge ]
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
tablet compat fixup
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8082624099bce56a3139e6b9f72016c00fd10227
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:17 2012 +0100
ehci: Lower timer freq when the periodic schedule is idle
Lower the timer freq if no iso schedule packets complete for 64 frames in
a row.
We can safely do this, without adding latency, because:
1) If there is isoc traffic this will never trigger
2) For async handled interrupt packets (only usb-host), the completion
handler
will immediately schedule the frame_timer from a bh
3) All devices using NAK to signal no data for interrupt endpoints now use
wakeup, which will immediately schedule the frame_timer from a bh
The advantage of this is that when we only have interrupt packets in the
periodic schedule, async_stepdown can do its work and significantly lower
the frequency at which the frame_timer runs.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 386ab487ebc25d780ddfc4a9aea0b21c4a9aaa94
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:16 2012 +0100
usb: Allow overriding of usb_desc at the device level
This allows devices to present a different set of descriptors based on
device properties.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit be41efde3ca0372dbf7543e09ff473b4eec25057
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:15 2012 +0100
usb: Don't allow USB_RET_ASYNC for interrupt packets
It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the
current NAK + polling approach, but this causes issues for migration, as
an async completed packet will not getting written back to guest memory
until
the next poll time, and if a migration happens in between it will get
lost!
Make an exception for host devices, because:
1) host-linux actually uses async completion for interrupt endpoints
2) host devices don't migrate anyways
Ideally we would convert host-linux.c to handle (input) interrupt
endpoints in
a buffered manner like it does for isoc endpoints, keeping multiple urbs
submitted to ensure the devices timing requirements are met, as well as
making
its interrupt ep handling the same as other usb-devices.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8beba9304391189666df1b62b23a5101b3831317
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Nov 17 12:47:14 2012 +0100
usb: Call wakeup when data becomes available for all devices with int eps
This is necessary for proper interaction with the xhci controller, and it
will allow other hcds to lower there frame timer while waiting for
interrupt
data.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1ae2e3883c4ee3a9f91f484690abe42f5063d64
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 4 14:39:16 2012 +0100
add pc-1.4
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3e43749882c558875f70ac5deda39cdc9797e245
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 27 08:24:42 2012 +0100
acpi: drop debug port
I'm pretty sure this isn't needed any more. I think this predates the
switch to seabios, and the seabios DSDT table has a DBUG() aml macro
which writes stuff to the seabios debug port (0x402).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3f5bc9e8af8c9ee617b143e42ad4bd2feb379a19
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:02:18 2012 +0100
q35: update lpc pci config space according to configured devices
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c177684c753a0b1337acebb7dbc6f3f3a9700321
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 16:03:19 2012 +0100
apci: switch piix4 pci hotplug to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c84649ca66a32aadba20a8202062b02247270ee5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:37:05 2012 +0100
acpi: remove acpi_gpe_blk
With gpe being switched to memory api this is no longer needed.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b65b93f24cb84923d2d7d43cf87d40bc88b6bdcd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 15:35:13 2012 +0100
apci: switch piix4 gpe to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 24fe083de67e0f736c54da4abda05f23ec37c51d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 14:58:04 2012 +0100
acpi: fix piix4 smbus mapping
Make write to the smbus base register and enable bit actually work.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 798512e5522685163c8d5fc5093aea19ae9cce06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 14:57:01 2012 +0100
acpi: switch smbus to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a522de0905c88160b6f93eb5d35883382a0c333
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 14:01:20 2012 +0100
acpi: cleanup ich9 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 10cc69b0de8e1756e6fbda4592c9d0ba3bce58fc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:51:35 2012 +0100
apci: switch ich9 smi to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 76a7daf97458c55b8d8e6d4eadc5c46b16c705ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:43:17 2012 +0100
apci: switch ich9 gpe to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a0f95659da77c8818ebd146bb1546ad152d0833e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 09:00:25 2012 +0100
acpi: cleanup vt82c686 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ca5d64b4b4fbb01e403f89ec9b399aaa69104b1e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:27:04 2012 +0100
acpi: cleanup piix4 memory region
Nothing left to do, everything handled by subregions,
we can zap the reaw/write handlers now.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5a7c024d2606e84e0bbe4a0e87d252dfda41479
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:25:10 2012 +0100
apci: switch evt to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 13:17:57 2012 +0100
apci: switch cnt to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 77d58b1e47c8d1c661f98f12b47ab519d3561488
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 12:12:30 2012 +0100
apci: switch timer to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a29028214c1d5d3571b27e6745f14534e6d8a662
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 23 08:29:27 2012 +0100
apci: switch vt82c686 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cacaab8bdd74608361a488aac600d609dafd53e5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 12:08:22 2012 +0100
apci: switch ich9 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af11110bb83166473064389faa27e8c6703b2008
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 22 11:34:44 2012 +0100
apci: switch piix4 to memory api
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 16c6c80ac3a772b42a87b77dfdf0fdac7c607b0e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 3 14:08:40 2012 -0600
Open up 1.4 development branch
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 52a71bff6085398fbb8602718af228cd6339c02d
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Apr 14 22:48:36 2012 +0200
prep: Use pc87312 device instead of collection of random ISA devices
We can't however replace the built-in IDE controller, as the one in
pc87312 is only single-channel and can use only IRQ 14. Therefore the
pc87312's IDE function gets disabled via the config property.
PReP emulation also gains a parallel port emulation this way.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Use TYPE_PC87312 constant, add to ppc64-softmmu and to MAINTAINERS]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1ae41f447d1467172b0f8290ca1b83726ea9942a
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Apr 14 22:48:35 2012 +0200
prep: Add pc87312 Super I/O emulation
This provides floppy and IDE controllers as well as serial and parallel
ports. However, dynamic configuration of devices is not yet supported.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: QOM'ify, split out header, create CharDriverState if absent]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit acbb090b2400f627a801074c4e3e006c7501bb26
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Aug 15 14:15:41 2012 +0200
prep: Include devices for ppc64 as well
Allows running qemu-system-ppc64 -M prep for consistency.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Acked-by: Hervé Poussineau <hpoussineau@xxxxxxxxxxx>
dot: height (35813 >= 32768) is too large.
----------------------------------------
20847: tolerable ALL FAIL
flight 20847 qemu-upstream-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/20847/
Failures :-/ but no regressions.
Tests which did not succeed,
including tests which could not be run:
test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail baseline untested
jobs:
test-amd64-i386-qemuu-rhel6hvm-intel fail
------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images
Logs, config files, etc. are available at
http://www.chiark.greenend.org.uk/~xensrcts/logs
Test harness code can be found at
http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |